/* Design tokens: change the brand palette and global spacing here. */
:root {
  --blue: #14669f;
  --blue-dark: #0c4776;
  --ink: #173345;
  --muted: #657784;
  --pale: #f1f6f9;
  --line: #dce6ec;
  --white: #fff;
  --content-width: 1240px;
  --header-height: 92px;
  font-family: "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif;
  color: var(--ink);
  background: var(--white);
  font-synthesis: none;
}
* { box-sizing: border-box; }
html { scroll-behavior: auto; scroll-padding-top: 110px; }
body { margin: 0; line-height: 1.7; }
body.menu-open { overflow: hidden; }
[hidden] { display: none !important; }
a { color: inherit; text-decoration: none; }
button,input,textarea { font: inherit; }
button,a,input,textarea { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
button { border: 0; }
button:disabled { cursor: default; opacity: .5; }
:focus-visible { outline: 3px solid #f8b642; outline-offset: 5px; }
img { max-width: 100%; display: block; }
svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.6; flex-shrink: 0; }
h1,h2,h3,p { margin-top: 0; }
h1,h2,h3 { line-height: 1.4; }
h1 { font-size: clamp(32px,4vw,54px); }
h2 { font-size: clamp(26px,3vw,40px); font-weight: 600; letter-spacing: -.025em; margin-bottom: 24px; }
h3 { font-size: 20px; font-weight: 600; }
p { margin-bottom: 20px; }
.container { width: min(var(--content-width), calc(100% - 96px)); margin-inline: auto; }
.section { padding-block: 104px; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link { position:fixed; left:20px; top:-90px; padding:12px 20px; background:white; color:var(--ink); z-index:200; }
.skip-link:focus { top:12px; }
.button { display: inline-flex; gap: 30px; align-items: center; justify-content: center; padding: 15px 26px; background: var(--blue); color: white; border:1px solid var(--blue); font-weight:500; transition: background .2s; }
.button:hover { background:var(--blue-dark); }
.button-white { background:white; color:var(--blue); border-color:white; }
.button-white:hover { background:#e5eff5; }
.text-link { display:inline-flex; align-items:center; gap:20px; color:var(--blue); font-weight:500; background:none; padding:0 0 8px; border-bottom:1px solid currentColor; }
.text-link:hover { color:var(--blue-dark); }
.icon-button { display:grid; place-items:center; width:44px; height:44px; color:inherit; background:transparent; }
/* One shared header, transparent only over the home hero. */
.site-header { position:sticky; top:0; z-index:50; height:var(--header-height); padding-inline:40px; display:flex; gap:36px; align-items:center; background:white; border-bottom:1px solid var(--line); }
.site-header.on-hero { position:fixed; inset:0 0 auto; color:white; background:transparent; border-color:#ffffff30; }
.brand { flex-shrink:0; width:168px; }
.brand img { max-height:66px; width:auto; object-fit:contain; }
.brand .logo-light { display:none; }
.on-hero .logo-light { display:block; }
.on-hero .logo-dark { display:none; }
.site-header nav { display:flex; gap:27px; align-items:center; margin-left:auto; }
.site-header nav a { font-size:15px; white-space:nowrap; padding:10px 0; position:relative; }
.site-header nav a:after { content:''; position:absolute; bottom:0; left:0; right:0; height:2px; background:currentColor; transform:scaleX(0); transition:transform .2s; }
.site-header nav a:hover:after,.site-header nav a[aria-current]:after { transform:scaleX(1); }
.header-actions { display:flex; flex-shrink:0; }
.menu-toggle { display:none; }
/* Home: marine photography leads, with quiet UI around it. */
.hero { position:relative; min-height:720px; height:100svh; max-height:1100px; color:white; background:#254e6c; }
.hero-slide { position:absolute; inset:0; }
.hero-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.hero-slide:after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#072b4c99,#072b4c10 85%),linear-gradient(0deg,#06284475,transparent 60%); }
.hero-content { position:relative; z-index:1; padding-top:clamp(220px,37vh,420px); }
.hero-intro { font-size:18px; letter-spacing:.12em; margin-bottom:22px; }
.hero h1 { font-size:clamp(38px,4.2vw,66px); letter-spacing:.035em; max-width:960px; margin-bottom:20px; }
.hero-subtitle { font-family:"Helvetica Neue",Arial,sans-serif; font-weight:300; font-size:clamp(18px,2vw,25px); max-width:700px; color:#e1eaf2; line-height:1.6; }
.hero-button { margin-top:22px; border-color:#ffffff70; background:#ffffff08; min-width:192px; }
.hero-button:hover { background:#ffffff20; }
.hero-bottom { position:absolute; z-index:2; left:0; right:0; bottom:35px; display:flex; align-items:center; justify-content:space-between; }
.scroll-cue { display:flex; gap:36px; align-items:center; font-size:13px; letter-spacing:.12em; }
.scroll-cue span { font-size:25px; }
.hero-controls { display:flex; align-items:center; gap:18px; }
.hero-controls button { background:transparent; color:white; font-size:23px; width:48px; height:48px; border:1px solid #ffffff60; border-radius:50%; }
.hero-controls button:hover { background:#ffffff25; }
.hero-controls span { font:14px "Helvetica Neue",Arial,sans-serif; width:45px; text-align:center; }
.section-kicker { color:var(--blue); font-size:15px; margin-bottom:18px; }
.about-grid { display:grid; grid-template-columns:1.06fr 1fr; align-items:center; gap:80px; }
.about-visual { position:relative; background:var(--pale); }
.about-visual>img { width:100%; height:440px; object-fit:cover; }
.about-visual>span { position:absolute; bottom:0; right:0; padding:18px 30px; background:var(--blue); color:white; letter-spacing:.12em; }
.about-copy>p:not(.section-kicker) { color:var(--muted); line-height:2.1; font-size:15px; }
.about-copy h2 { max-width:600px; }
.about-links { display:flex; gap:30px; padding-top:30px; margin-top:30px; border-top:1px solid var(--line); }
.about-links a { display:flex; align-items:center; gap:20px; font-size:14px; }
.section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:30px; margin-bottom:42px; }
.section-heading h2 { margin-bottom:12px; }
.section-heading p { color:var(--muted); margin-bottom:0; max-width:650px; }
.section-heading .text-link { white-space:nowrap; }
.products-section,.related-section { background:var(--pale); }
.product-preview,.related-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; }
.content-card { display:flex; flex-direction:column; height:100%; }
.card-image { aspect-ratio:4/3; background:#f7f9fa; overflow:hidden; }
.card-image img { width:100%; height:100%; object-fit:cover; transition:transform .35s; }
.content-card:hover .card-image img { transform:scale(1.04); }
.products .card-image img,.honors .card-image img { object-fit:contain; padding:24px; background:white; }
.card-copy { padding:26px 0; }
.products .card-copy { padding:24px; background:white; flex:1; }
.card-category { font-size:12px; color:var(--muted); display:block; margin-bottom:9px; }
.card-copy h3 { margin:0 0 12px; font-size:20px; }
.card-copy p { color:var(--muted); font-size:14px; line-height:1.8; }
.card-more { color:var(--blue); display:flex; gap:16px; align-items:center; font-size:13px; margin-top:20px; }
.card-more svg { width:19px; }
.product-links { display:grid; grid-template-columns:repeat(3,1fr); gap:0 26px; padding-top:28px; }
.product-links a { display:flex; justify-content:space-between; align-items:center; gap:12px; border-bottom:1px solid #d2dfe7; padding:20px 0; font-size:14px; }
.product-links a:hover { color:var(--blue); }
.project-preview { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; }
.project-preview .card-category { display:none; }
.project-preview .card-copy { padding-top:20px; }
.project-preview .card-copy h3 { font-size:19px; }
.news-section { background:var(--pale); }
.news-layout { display:grid; grid-template-columns:1fr 2fr; gap:90px; }
.news-layout>.text-link { margin-top:20px; }
.news-list>a { display:flex; gap:30px; align-items:center; justify-content:space-between; padding:28px 0; border-bottom:1px solid #ccdce6; }
.news-list>a:first-child { padding-top:0; }
.news-list span { font-size:13px; color:var(--muted); }
.news-list h3 { margin:10px 0; }
.news-list p { font-size:14px; color:var(--muted); margin:0; }
.news-list>a:hover h3 { color:var(--blue); }
.contact-band { background:var(--blue); color:white; padding:58px 0; }
.contact-band-inner { display:flex; justify-content:space-between; align-items:center; gap:30px; }
.contact-band p { font-size:14px; color:#c8e0f1; margin-bottom:10px; }
.contact-band h2 { font-size:30px; margin:0; }
.site-footer { background:#102d43; color:#c1d0dc; padding-top:66px; font-size:14px; }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1.4fr; gap:40px; padding-bottom:55px; }
.footer-brand>img { width:154px; margin-bottom:24px; }
.footer-grid h3 { font-size:16px; color:white; margin-bottom:20px; }
.footer-grid p { font-size:13px; margin:10px 0; }
.footer-grid a { display:block; margin-bottom:12px; }
.footer-grid a:hover { color:white; }
.footer-grid .footer-phone { font-family:Arial,sans-serif; font-size:23px; color:white; }
.footer-bottom { display:flex; gap:20px; justify-content:space-between; font-size:12px; border-top:1px solid #ffffff18; padding-block:22px; }
/* Interior pages share the same masthead and readable content grid. */
.page-hero { position:relative; isolation:isolate; background:#143c59; color:white; padding:48px 0 64px; min-height:285px; overflow:hidden; }
.page-hero-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 52%; z-index:-2; }
.page-hero:after { content:''; position:absolute; inset:0; background:#062e53b8; z-index:-1; }
.page-hero h1 { font-size:42px; margin:26px 0 12px; }
.page-hero>.container>p:last-child { color:#d2e0eb; margin:0; }
.breadcrumbs { display:flex; align-items:center; flex-wrap:wrap; gap:12px; font-size:12px; color:#d7e6f0; }
.breadcrumbs.dark { color:var(--muted); margin-bottom:35px; }
.collection-tools { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:32px; }
.collection-tools p { color:var(--muted); font-size:14px; margin:0; }
.filter-input { display:flex; gap:12px; align-items:center; padding:10px 14px; border:1px solid var(--line); }
.filter-input input { border:0; background:none; color:var(--ink); width:230px; padding:4px; }
.collection-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px 26px; }
.collection-grid.products .content-card { border:1px solid var(--line); }
.collection-grid.honors { grid-template-columns:repeat(4,minmax(0,1fr)); }
.honors .card-image { aspect-ratio:3/4; }
.honors .card-copy h3 { font-size:17px; }
.empty-state { text-align:center; padding:60px 20px; color:var(--muted); }
.image-empty { display:grid; place-items:center; height:100%; min-height:240px; color:var(--muted); background:var(--pale); }
.detail-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:70px; align-items:start; }
.detail-gallery { display:grid; gap:24px; }
.detail-gallery a { background:var(--pale); padding:20px; }
.detail-gallery img { width:100%; max-height:620px; object-fit:contain; }
.detail-copy h1 { font-size:32px; margin-bottom:20px; }
.article-date { font-size:13px; color:var(--muted); }
.article-body { font-size:15px; color:#4d626f; line-height:2; }
.article-body p { white-space:pre-line; overflow-wrap:anywhere; }
.detail-copy>.button { margin-top:24px; }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:36px; }
.service-grid>div,.service-grid>a { border-top:2px solid var(--blue); padding:30px 0; }
.service-grid span { display:block; color:var(--blue); font-size:28px; margin-bottom:25px; }
.service-grid p { color:var(--muted); }
.service-action { display:flex; gap:32px; align-items:center; margin-top:30px; }
.contact-layout { display:grid; grid-template-columns:1fr 1fr; gap:80px; }
.contact-layout h2 { font-size:30px; }
.contact-details { margin:35px 0; }
.contact-details>div { padding:18px 0; border-bottom:1px solid var(--line); }
.contact-details dt { color:var(--muted); font-size:13px; }
.contact-details dd { margin:6px 0 0; font-size:19px; overflow-wrap:anywhere; }
.inquiry-panel { background:var(--pale); padding:36px; }
.inquiry-panel>p { color:var(--muted); font-size:14px; }
.inquiry-panel label { display:block; font-size:14px; margin:18px 0; }
.inquiry-panel input,.inquiry-panel textarea { display:block; margin-top:8px; padding:12px; width:100%; border:1px solid #ccdce6; background:white; border-radius:0; }
.inquiry-panel textarea { resize:vertical; }
#inquiry-status { font-size:13px; margin:10px 0; }
#mail-preview { margin-top:30px; border-top:1px solid var(--line); padding-top:24px; }
#mail-preview pre { white-space:pre-wrap; overflow-wrap:anywhere; font:14px/1.8 inherit; }
#mail-preview .button { margin-bottom:16px; }
#mail-preview>p { color:var(--muted); font-size:13px; }
/* Search is native dialog: keyboard trapping and Escape handled by browser. */
#search-dialog { border:0; padding:32px; width:min(720px,calc(100% - 32px)); max-height:80svh; color:var(--ink); }
#search-dialog::backdrop { background:#06253bd9; }
.dialog-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:22px; }
.dialog-head h2 { font-size:24px; margin:0; }
.dialog-head button { font-size:30px; }
#search-form { display:flex; gap:12px; }
#search-input { width:100%; min-width:0; padding:12px; border:1px solid var(--line); }
#search-form button { flex-shrink:0; }
.search-status { color:var(--muted); margin:20px 0 0; font-size:14px; }
#search-results { list-style:none; padding:0; }
#search-results li { border-bottom:1px solid var(--line); }
#search-results a { display:block; padding:18px 0; }
#search-results a:hover { color:var(--blue); }
#search-results small { display:block; color:var(--muted); margin-top:5px; }
@media(min-width:1600px) { .site-header { padding-inline:60px; }.site-header nav { gap:40px; } }
@media(max-width:1150px) {
  :root { --header-height:80px; }
  .site-header { padding-inline:28px; gap:20px; }
  .brand { width:136px; }.brand img { max-height:56px; }
  .site-header nav { gap:18px; }.site-header nav a { font-size:14px; }
  .container { width:calc(100% - 64px); }
  .about-grid,.contact-layout { gap:40px; }
  .news-layout { gap:55px; }
  .footer-grid { gap:24px; }
}
@media(max-width:950px) {
  .site-header { justify-content:space-between; }
  .header-actions { margin-left:auto; }.menu-toggle { display:grid; }
  .site-header nav { display:none; }
  .site-header.menu-is-open { background:white; color:var(--ink); }
  .menu-is-open .logo-light { display:none; }.menu-is-open .logo-dark { display:block; }
  .site-header.menu-is-open nav { display:flex; position:fixed; left:0; right:0; top:var(--header-height); bottom:0; background:white; color:var(--ink); flex-direction:column; align-items:stretch; padding:20px 32px 50px; gap:0; overflow:auto; }
  .site-header nav a { padding:18px 0; border-bottom:1px solid var(--line); font-size:17px; }
  .site-header nav a:after { display:none; }
  .section { padding-block:72px; }
  .hero { min-height:620px; }
  .hero-content { padding-top:32vh; }
  .about-grid { grid-template-columns:1fr 1fr; gap:32px; }.about-visual>img { height:400px; }
  .product-preview,.related-grid { gap:18px; }
  .card-copy h3 { font-size:17px; }.products .card-copy { padding:20px; }
  .project-preview { grid-template-columns:repeat(2,1fr); }
  .footer-grid { grid-template-columns:2fr 1fr; gap:40px; }
  .collection-grid.honors { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .detail-layout { gap:36px; }
}
@media(max-width:640px) {
  :root { --header-height:76px; }
  .container { width:calc(100% - 40px); }.site-header { padding-inline:20px; }
  .brand { width:128px; }
  .hero { height:90svh; min-height:600px; max-height:900px; }
  .hero-content { padding-top:225px; }.hero-intro { font-size:12px; letter-spacing:.06em; }
  .hero h1 { font-size:32px; text-wrap:balance; line-height:1.4; max-width:340px; }
  .hero-subtitle { font-size:16px; max-width:300px; }
  .hero-image { object-position:58% center; }.hero-slide:after { background:#07355366; }
  .hero-button { padding:12px 20px; margin-top:10px; }
  .hero-bottom { bottom:24px; }.hero-controls { gap:10px; }.hero-controls button { width:38px; height:38px; }
  .scroll-cue { gap:15px; font-size:11px; }
  .section { padding-block:55px; }
  .about-grid,.news-layout,.contact-layout,.detail-layout { grid-template-columns:1fr; gap:32px; }
  .about-visual>img { height:290px; }.about-visual>span { font-size:12px; padding:14px 20px; }
  .about-copy>p:not(.section-kicker) { font-size:14px; }
  .section-heading { display:block; margin-bottom:28px; }.section-heading .text-link { margin-top:18px; font-size:14px; }
  .section-heading p { font-size:14px; }
  .product-preview,.related-grid,.collection-grid { grid-template-columns:1fr; gap:24px; }
  .products .card-image { aspect-ratio:5/3; }.card-copy h3 { font-size:20px; }
  .product-links { grid-template-columns:1fr; padding-top:14px; }
  .project-preview { gap:16px; }.project-preview .card-copy h3 { font-size:16px; }.project-preview .card-more { font-size:12px; gap:8px; margin-top:12px; }
  .news-list h3 { font-size:18px; }.news-layout { gap:36px; }
  .contact-band-inner { display:block; }.contact-band h2 { font-size:25px; margin-bottom:26px; }.contact-band { padding:40px 0; }
  .footer-grid { grid-template-columns:1fr 1fr; gap:32px 20px; }.footer-brand { grid-column:1/-1; }.footer-grid>div:last-child { grid-column:1/-1; }.site-footer { padding-top:46px; }
  .footer-bottom { display:block; }.footer-bottom a { display:block; margin-top:12px; }
  .page-hero { min-height:230px; padding:28px 0 40px; }.page-hero h1 { font-size:32px; }.page-hero>.container>p:last-child { font-size:14px; }
  .collection-tools { align-items:stretch; flex-direction:column; gap:16px; }.filter-input input { width:100%; min-width:0; }
  .collection-grid.honors { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 16px; }.honors .card-image img { padding:8px; }.honors .card-copy h3 { font-size:15px; }
  .detail-copy h1 { font-size:27px; }.detail-gallery { gap:18px; }.detail-gallery a { padding:12px; }
  .service-grid { grid-template-columns:1fr; gap:14px; }.service-grid>div,.service-grid>a { padding:24px 0; }.service-grid span { margin-bottom:12px; }.service-action { flex-wrap:wrap; }
  .inquiry-panel { padding:24px 20px; }.contact-layout h2 { font-size:25px; }
  #search-dialog { padding:24px 20px; }#search-form { gap:8px; }#search-form .button { padding:12px 18px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }*,*:before,*:after { transition:none!important; animation:none!important; }
}

/* Scrolled home navigation and text-first news entries. */
.site-header.on-hero.is-scrolled { background:white; color:var(--ink); border-color:var(--line); }
.is-scrolled .logo-light { display:none; }.is-scrolled .logo-dark { display:block; }
.collection-grid.news { grid-template-columns:1fr; gap:0; }
.collection-grid.news .content-card { display:flex; flex-direction:row; gap:30px; padding:30px 0; border-bottom:1px solid var(--line); }
.collection-grid.news .card-image { width:220px; flex-shrink:0; }
.collection-grid.news .card-copy { padding:0; }
@media(max-width:640px) { .collection-grid.news .content-card { flex-direction:column; gap:20px; }.collection-grid.news .card-image { width:100%; } }
/* Evidence-led reading sequence: useful selection context, inspectable records,
   scope-aware credentials, then identifiable company and contact details. */
.evidence-nav{border-top:1px solid #d7e4eb;border-bottom:1px solid #d7e4eb;background:#fff}.evidence-nav>.container{display:flex;align-items:center;gap:36px;padding-block:22px}.evidence-nav span{color:#6a8394;font-size:12px;margin-right:auto}.evidence-nav a{font-size:14px;color:var(--blue)}
.selection-section{background:#fff}.selection-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:26px}.selection-grid article{border-top:2px solid #afc9da;padding-top:23px;display:flex;flex-direction:column}.selection-number{font:12px Arial,sans-serif;color:#8a9eac;margin-bottom:15px}.selection-grid h3{font-size:19px;margin-bottom:16px}.selection-grid ul{padding-left:17px;color:var(--muted);font-size:13px;line-height:1.9;margin:0 0 24px;flex:1}.selection-grid .text-link{font-size:12px;gap:6px;border:0;align-self:start}.selection-grid svg{width:17px}
.evidence-footnote{margin:30px 0 0;color:#7d8d98;font-size:12px;padding-top:18px;border-top:1px solid var(--line)}
.experience-section{background:#f4f7f9}.experience-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:55px}.delivery-feature{display:block;background:#fff}.delivery-feature>img{width:100%;height:330px;object-fit:cover}.delivery-feature>div{padding:28px}.delivery-feature p{font-size:12px;color:var(--muted);margin-bottom:10px}.delivery-feature h3{font-size:24px}.delivery-feature span{display:flex;gap:18px;align-items:center;color:var(--blue);font-size:13px}.experience-list>a{display:flex;align-items:center;gap:22px;padding:19px 0;border-bottom:1px solid #d5e1e8}.experience-list>a:first-child{padding-top:0}.experience-list img{width:125px;height:95px;object-fit:cover}.experience-list> a>svg{margin-left:auto;color:var(--blue)}.experience-list span{font-size:11px;color:var(--muted)}.experience-list h3{font-size:21px;margin:5px 0}.experience-list p{font-size:12px;color:var(--muted);margin:0}.experience-list .delivery-more{color:var(--blue);font-size:14px;border:0;padding-top:27px}
.credential-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.credential-card{display:grid;grid-template-columns:135px 1fr;gap:24px;border:1px solid var(--line);padding:24px;align-items:center}.credential-card>div{background:#f1f4f6;padding:10px}.credential-card img{height:170px;width:100%;object-fit:contain}.credential-card span{color:#7c8c98;font-size:11px}.credential-card h3{font-size:18px;margin:12px 0}.credential-card p{display:flex;align-items:center;gap:10px;color:var(--blue);font-size:12px;margin:0}.credential-card svg{width:18px}.certificate-note{margin-top:30px;padding:22px 28px;background:var(--pale);display:flex;gap:32px;align-items:baseline}.certificate-note strong{font-size:14px;white-space:nowrap}.certificate-note p{font-size:13px;color:var(--muted);margin:0}
.technical-section{background:#edf3f7}.technical-intro{color:var(--muted);font-size:14px}.company-facts{margin:20px 0 26px;font-size:14px}.company-facts>div{display:grid;grid-template-columns:90px 1fr;padding:10px 0;border-bottom:1px solid var(--line)}.company-facts dt{color:var(--muted)}.company-facts dd{margin:0;overflow-wrap:anywhere}.company-actions{display:flex;gap:25px;align-items:center}.company-section .about-copy h2{font-size:30px}.content-origin{background:#f5f8fa;padding:26px 0;border-top:1px solid var(--line)}.content-origin strong{font-size:13px}.content-origin p{font-size:12px;color:var(--muted);margin:8px 0 0}.content-origin a{text-decoration:underline;color:var(--blue)}
.source-note{margin:28px 0;padding:20px;background:var(--pale);border-left:3px solid #8fb5ce}.source-note h2{font-size:15px;margin:0 0 12px}.source-note p{font-size:12px;line-height:1.8;margin:8px 0;color:var(--muted)}.source-note a{color:var(--blue);text-decoration:underline}.source-note span{display:block;margin-top:6px}
@media(max-width:1150px){.selection-grid{grid-template-columns:repeat(3,1fr)}.credential-card{grid-template-columns:1fr;gap:16px;padding:20px}.credential-card img{height:160px}.experience-grid{gap:30px}}
@media(max-width:640px){.evidence-nav>.container{gap:14px;flex-wrap:wrap;padding-block:18px}.evidence-nav span{width:100%}.evidence-nav a{font-size:12px}.selection-grid{grid-template-columns:1fr 1fr;gap:25px 18px}.selection-grid h3{font-size:17px}.selection-grid ul{font-size:12px}.experience-grid{grid-template-columns:1fr}.delivery-feature>img{height:245px}.delivery-feature>div{padding:22px}.delivery-feature h3{font-size:22px}.experience-list img{width:100px;height:80px}.experience-list>a{gap:16px}.experience-list h3{font-size:18px}.credential-grid{grid-template-columns:1fr;gap:16px}.credential-card{grid-template-columns:110px 1fr;padding:18px}.credential-card img{height:145px}.certificate-note{display:block;padding:20px}.certificate-note p{margin-top:10px}.company-section .about-copy h2{font-size:25px}.company-actions{gap:20px;flex-wrap:wrap}}

/* Historical manufacturing evidence: real photos, restrained claims. */
.factory-section{background:#102e43;color:#fff}.factory-section .section-heading p{color:#c4d4df;max-width:720px}.factory-section .section-kicker,.factory-section .text-link{color:#b1dcf7}.factory-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.factory-grid figure{margin:0;background:#193c53}.factory-grid img{width:100%;height:230px;object-fit:cover}.factory-grid figcaption{padding:24px}.factory-grid figcaption span{font-size:11px;color:#b2cadb}.factory-grid h3{font-size:21px;margin:14px 0}.factory-grid p{color:#c4d4df;font-size:14px;line-height:1.8}.factory-section .evidence-footnote{color:#aac1d0;border-color:#38576c}.technical-evidence,.case-evidence{margin:30px 0;padding-top:24px;border-top:1px solid var(--line)}.technical-evidence h2,.case-evidence h2{font-size:25px}.technical-evidence h3,.case-evidence h3{font-size:18px}.technical-evidence ul{padding-left:20px;color:var(--muted);line-height:1.9}.sample-reference{padding:22px;background:var(--pale);margin-top:25px}.sample-reference p,.sample-note{font-size:13px;line-height:1.8}.sample-reference strong{font-size:15px}.case-facts>div{padding:16px 0;border-bottom:1px solid var(--line)}.case-facts dt{font-size:12px;color:var(--blue);margin-bottom:8px}.case-facts dd{margin:0;color:var(--muted);line-height:1.8}.case-products{display:flex;flex-wrap:wrap;gap:20px;margin:20px 0 30px}
@media(max-width:1100px){.factory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.factory-grid img{height:270px}}
@media(max-width:640px){.factory-grid{grid-template-columns:1fr}.factory-grid img{height:240px}.factory-grid figcaption{padding:22px}.factory-section .section-heading h2{font-size:30px}.evidence-nav a{font-size:12px}.technical-evidence h2{font-size:23px}}

/* English detail titles retain the shared hero presentation. */
.page-hero h2{font-size:clamp(2rem,4vw,3.5rem);line-height:1.12;margin:14px 0}
.site-header nav a{white-space:nowrap}
