.cms-page-content{min-height:50vh}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.cms-rich-article{max-width:900px;margin:0 auto;padding:3.5rem 1.5rem 5rem;color:#3f4650;font-size:1rem;line-height:1.9}
.cms-rich-article img{max-width:100%;height:auto;border-radius:12px}
.cms-rich-article p{margin:0 0 1.2rem}
.cms-rich-article h2,.cms-rich-article h3{color:#1a1a2e;margin:2rem 0 1rem}
.cms-article-meta{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-top:1rem;font-size:.9rem;opacity:.78}
.cms-pagination{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:2.5rem}
.cms-pagination a,.cms-pagination span{min-width:38px;height:38px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #e2e6eb;border-radius:8px;background:#fff;color:#3e4855;text-decoration:none}
.cms-pagination .active,.cms-pagination a:hover{background:var(--color-primary);border-color:var(--color-primary);color:#fff}
.cms-empty{padding:4rem 1.5rem;text-align:center;color:#7b8490}
.cms-news-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}
.cms-news-card{display:flex;flex-direction:column;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.06);transition:transform .3s,box-shadow .3s;text-decoration:none;color:inherit}
.cms-news-card:hover{transform:translateY(-5px);box-shadow:0 12px 32px rgba(0,0,0,.1)}
.cms-news-image{height:190px;overflow:hidden;background:linear-gradient(135deg,#667eea,#764ba2)}
.cms-news-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.cms-news-card:hover .cms-news-image img{transform:scale(1.05)}
.cms-news-body{padding:1.4rem 1.5rem 1.6rem}
.cms-news-body h3{font-size:1.08rem;color:#1a1a2e;line-height:1.5;margin:0 0 .6rem}
.cms-news-body p{font-size:.9rem;color:#6c757d;line-height:1.65;margin:0}
.cms-news-meta{display:flex;justify-content:space-between;gap:1rem;color:#9299a3;font-size:.78rem;margin-bottom:.65rem}
.faq-item .faq-answer{white-space:normal}

/* About page: the CMS owns the copy; this stylesheet owns the layout. */
.cms-about-page{min-width:0;overflow:hidden}
.cms-about-page>main{display:block;margin-top:var(--header-height);min-width:0}
.cms-about-page .page-banner{padding:4.25rem 1.5rem 3.75rem;text-align:center}
.cms-about-page .page-banner h1{font-size:clamp(2rem,4vw,3.15rem);line-height:1.2;text-wrap:balance}
.cms-about-page .page-banner p{max-width:42rem;margin:.85rem auto 0;font-size:1.05rem;line-height:1.75}
.cms-about-page .page-banner+.breadcrumb{margin:0;background:var(--color-surface);border-bottom:1px solid var(--color-border);opacity:1}
.cms-about-page .page-banner+.breadcrumb .container{display:flex;align-items:center;gap:.65rem;min-height:3.25rem;color:var(--color-muted-text);font-size:.86rem}
.cms-about-page .page-banner+.breadcrumb a{color:var(--color-accent);font-weight:600}
.cms-about-page .company-intro{background:var(--color-surface)}
.cms-about-page .intro-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(22rem,.95fr);gap:clamp(2.5rem,6vw,5.5rem);align-items:center}
.cms-about-page .intro-text h3{margin:0 0 1.25rem;font-family:var(--font-display);font-size:clamp(1.65rem,3vw,2.35rem);line-height:1.35;letter-spacing:.02em}
.cms-about-page .intro-text p{max-width:44rem;margin:0;color:var(--color-muted-text);font-size:1rem;line-height:2;text-align:justify;text-wrap:pretty}
.cms-about-page .intro-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--color-border);background:var(--color-border);gap:1px;box-shadow:7px 7px 0 rgba(38,34,31,.1)}
.cms-about-page .stat-card{min-width:0;padding:1.75rem 1.25rem;background:var(--color-background);text-align:center}
.cms-about-page .stat-number,.cms-about-page .stat-unit{display:inline;color:var(--color-accent);font-family:var(--font-display);font-weight:800;font-variant-numeric:tabular-nums}
.cms-about-page .stat-number{font-size:clamp(1.8rem,4vw,2.65rem);line-height:1}
.cms-about-page .stat-unit{margin-left:.1rem;font-size:.95rem}
.cms-about-page .stat-label{margin-top:.55rem;color:var(--color-muted-text);font-size:.84rem;line-height:1.5}
.cms-about-page .timeline-section{background:var(--color-background)}
.cms-about-page .timeline{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
.cms-about-page .timeline::before{content:"";position:absolute;top:1.65rem;right:4%;left:4%;height:2px;background:var(--color-border)}
.cms-about-page .timeline-item{position:relative;min-width:0;padding-top:3.3rem}
.cms-about-page .timeline-item::before{content:"";position:absolute;top:1.15rem;left:1.5rem;z-index:1;width:1rem;height:1rem;border:4px solid var(--color-background);border-radius:50%;background:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent)}
.cms-about-page .timeline-content{height:100%;padding:1.5rem;border:1px solid var(--color-border);background:var(--color-surface)}
.cms-about-page .timeline-content .year{margin-bottom:.7rem;color:var(--color-accent);font-family:var(--font-display);font-size:1.5rem;font-weight:800;font-variant-numeric:tabular-nums}
.cms-about-page .timeline-content p{margin:0;color:var(--color-muted-text);font-size:.9rem;line-height:1.75}
.cms-about-page .advantage-section{background:var(--color-background)}
.cms-about-page .advantage-card{min-width:0}
.cms-about-page .advantage-card>svg{display:block;margin-bottom:1.1rem;color:var(--color-accent)}
.cms-about-page .advantage-card p{overflow-wrap:anywhere}
.cms-about-page .vmv-section{position:relative;background:var(--color-primary);color:#fff}
.cms-about-page .vmv-section::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.08;background:repeating-linear-gradient(45deg,transparent 0,transparent 11px,#fff 11px,#fff 12px)}
.cms-about-page .vmv-section .container{position:relative}
.cms-about-page .vmv-section .section-header::before{background:var(--color-gold)}
.cms-about-page .vmv-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
.cms-about-page .vmv-card{padding:2rem;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.06)}
.cms-about-page .vmv-card svg{margin-bottom:1.25rem;color:var(--color-gold)}
.cms-about-page .vmv-card h3{margin:0 0 .65rem;font-family:var(--font-display);font-size:1.25rem}
.cms-about-page .vmv-card p{margin:0;color:rgba(255,255,255,.72);font-size:.92rem;line-height:1.8}
.cms-about-page [style*="grid-template-columns"]{max-width:60rem!important}
.cms-about-page img,.cms-about-page video,.cms-about-page iframe,.cms-about-page table{max-width:100%!important}
.cms-about-page img{height:auto!important}

@media(max-width:900px){.cms-about-page .intro-grid{grid-template-columns:1fr}.cms-about-page .timeline{grid-template-columns:repeat(2,minmax(0,1fr))}.cms-about-page .timeline::before{display:none}.cms-about-page .timeline-item{padding-top:0}.cms-about-page .timeline-item::before{display:none}.cms-about-page .vmv-grid{grid-template-columns:1fr}}
@media(max-width:640px){.cms-about-page .page-banner{padding:3.25rem 1rem 2.8rem}.cms-about-page .section{padding:3.4rem 0}.cms-about-page .container{padding-right:1rem;padding-left:1rem}.cms-about-page .intro-stats,.cms-about-page .timeline{grid-template-columns:1fr}.cms-about-page .stat-card{padding:1.35rem 1rem}.cms-about-page [style*="grid-template-columns"]{grid-template-columns:1fr!important}.cms-about-page .advantage-card{padding:1.4rem!important}}

/* Product detail gallery: populated from the EyouCMS product album. */
.product-detail-grid>*{min-width:0}
.product-process-link{color:var(--color-primary);border-color:var(--color-primary);background:rgba(38,34,31,.03)}
.product-process-link:hover{color:#fff;border-color:var(--color-accent);background:var(--color-accent)}
.product-gallery.product-gallery--carousel{min-width:0;overflow:visible;border:0;border-radius:0}
.cms-product-carousel{min-width:0;width:100%}
.cms-product-carousel__viewport{position:relative;aspect-ratio:4/3;overflow:hidden;border:2px solid var(--color-primary);border-radius:var(--radius-md);background:#eee8dc;box-shadow:4px 4px 0 var(--color-border);touch-action:pan-y}
.cms-product-carousel__track{display:flex;width:100%;height:100%;transition:transform .42s cubic-bezier(.22,.61,.36,1);will-change:transform}
.cms-product-carousel__slide{position:relative;display:flex;align-items:center;justify-content:center;flex:0 0 100%;width:100%;height:100%;margin:0;background:var(--color-surface)}
.cms-product-carousel__slide img{width:100%;height:100%;object-fit:contain;display:block}
.cms-product-carousel__slide figcaption{position:absolute;right:0;bottom:0;left:0;margin:0;padding:2.5rem 1rem .75rem;color:#fff;font-size:.82rem;line-height:1.5;background:linear-gradient(transparent,rgba(22,19,15,.76))}
.cms-product-carousel__control{position:absolute;top:50%;z-index:2;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid rgba(255,255,255,.48);border-radius:50%;background:rgba(38,34,31,.78);color:#fff;cursor:pointer;transform:translateY(-50%);transition:background .2s ease,transform .2s ease}
.cms-product-carousel__control:hover{background:var(--color-accent);transform:translateY(-50%) scale(1.04)}
.cms-product-carousel__control:active{transform:translateY(-50%) scale(.97)}
.cms-product-carousel__control span{display:block;font-size:2rem;line-height:1;transform:translateY(-1px)}
.cms-product-carousel__control--prev{left:1rem}
.cms-product-carousel__control--next{right:1rem}
.cms-product-carousel__counter{position:absolute;right:.8rem;bottom:.75rem;z-index:2;padding:.28rem .62rem;border:1px solid rgba(255,255,255,.28);border-radius:3px;background:rgba(38,34,31,.78);color:#fff;font-size:.75rem;font-variant-numeric:tabular-nums;line-height:1.4}
.cms-product-carousel__thumbs{display:flex;width:100%;max-width:100%;min-width:0;gap:.65rem;overflow-x:auto;padding:.85rem .15rem .25rem;scrollbar-width:thin;scrollbar-color:var(--color-accent) var(--color-border);scroll-snap-type:x proximity}
.cms-product-carousel__thumb{flex:0 0 76px;aspect-ratio:1;border:2px solid transparent;border-radius:var(--radius-sm);padding:3px;background:var(--color-surface);cursor:pointer;opacity:.68;overflow:hidden;scroll-snap-align:start;transition:border-color .2s ease,opacity .2s ease,transform .2s ease}
.cms-product-carousel__thumb:hover{opacity:1;transform:translateY(-2px)}
.cms-product-carousel__thumb[aria-current="true"]{border-color:var(--color-accent);opacity:1}
.cms-product-carousel__thumb img{width:100%;height:100%;object-fit:cover;border-radius:2px}
.cms-product-carousel.is-single .cms-product-carousel__control,.cms-product-carousel.is-single .cms-product-carousel__counter,.cms-product-carousel.is-single .cms-product-carousel__thumbs{display:none}
.cms-product-gallery-fallback{padding:4.5rem 0;background:var(--color-surface)}
.cms-product-gallery-fallback[hidden]{display:none!important}
.cms-product-gallery-fallback [data-product-gallery-target]{max-width:900px;margin:0 auto}

@media(max-width:768px){.cms-news-grid{grid-template-columns:1fr}.cms-rich-article{padding:2.5rem 1rem 4rem}.cms-page-content .product-detail-grid{width:100%;max-width:100%}.product-gallery.product-gallery--carousel{width:100%;max-width:calc(100vw - 3rem)}.cms-product-carousel,.cms-product-carousel__viewport{width:100%;max-width:100%}.cms-product-carousel__control{width:40px;height:40px}.cms-product-carousel__control--prev{left:.6rem}.cms-product-carousel__control--next{right:.6rem}.cms-product-carousel__thumb{flex-basis:64px}.cms-product-gallery-fallback{padding:3rem 0}}
.inquiry-captcha-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 120px;
  gap: 10px;
  align-items: stretch;
}

.inquiry-captcha-row img {
  width: 120px;
  height: 46px;
  object-fit: cover;
  border: 1px solid #dfe3e8;
  border-radius: 6px;
  cursor: pointer;
}

.btn-submit:disabled {
  cursor: wait;
  opacity: .75;
}

@media (max-width: 480px) {
  .inquiry-captcha-row { grid-template-columns: minmax(0, 1fr) 104px; }
  .inquiry-captcha-row img { width: 104px; }
}
