.about-page { overflow: hidden; }
.about-page .section-heading { margin-bottom: var(--space-10); }
.about-page .section-heading__title { font-size: clamp(2rem, 4vw, 2.75rem); }
.about-page .section-heading__title::after { content:""; display:block; width:42px; height:3px; margin:14px auto 0; background:var(--color-primary); }
.about-kicker { color:var(--color-primary); font-size:var(--font-size-sm); font-weight:var(--font-weight-bold); letter-spacing:var(--letter-spacing-wider); text-transform:uppercase; }
.about-title-rule { display:block; width:46px; height:3px; margin:var(--space-6) 0; background:var(--color-primary); }

.about-intro { padding-top:var(--space-10); padding-bottom:var(--space-12); }
.about-intro__grid { display:grid; grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr); align-items:start; gap:var(--space-12); }
.about-intro__copy h1 { font-size:clamp(2.5rem,5vw,4rem); line-height:1.08; letter-spacing:-1.5px; }
.about-intro__copy { padding-top:var(--space-3); }
.about-intro__copy p { max-width:620px; line-height:1.85; font-size:var(--font-size-lg); }
.about-intro__copy p:last-child { margin-bottom:0; }
.about-intro__visual { position:relative; padding-bottom:var(--space-6); }
.about-intro__visual img { width:100%; height:420px; object-fit:cover; border-radius:34px 0 34px 0; box-shadow:var(--shadow-lg); }
.about-experience { position:absolute; left:-34px; bottom:0; display:grid; grid-template-columns:auto 1fr; align-items:center; gap:0 var(--space-4); min-width:310px; padding:var(--space-5) var(--space-6); color:var(--color-white); background:var(--color-primary); border-radius:var(--radius-lg); box-shadow:var(--shadow-xl); }
.about-experience strong { grid-row:span 2; font-size:3.5rem; line-height:1; }
.about-experience span { font-size:var(--font-size-sm); font-weight:var(--font-weight-bold); text-transform:uppercase; line-height:1.35; }
.about-experience small { font-size:10px; color:var(--color-white-80); }

.about-values { background:var(--color-gray-light); }
.value-grid { position:relative; display:grid; grid-template-columns:repeat(4,1fr); }
.value-grid::before { content:""; position:absolute; top:72px; left:10%; right:10%; height:1px; background:var(--color-gray); }
.value-item { position:relative; z-index:1; text-align:center; padding:0 var(--space-6); }
.value-item:not(:last-child) { border-right:1px solid var(--color-gray); }
.value-item svg { width:64px; height:64px; margin:0 auto var(--space-4); padding:8px; color:var(--color-primary); fill:none; stroke:currentColor; stroke-width:2; background:var(--color-gray-light); }
.value-item__number { display:block; color:var(--color-primary); font-size:var(--font-size-2xl); font-weight:var(--font-weight-bold); }
.value-item h3 { margin:var(--space-2) 0; font-size:var(--font-size-md); }
.value-item p { margin:0; font-size:var(--font-size-sm); }

.advantage-stack { display:grid; gap:4px; }
.advantage-row { display:grid; grid-template-columns:1fr 1.25fr 120px; min-height:210px; background:var(--color-gray-light); overflow:hidden; }
.advantage-row--reverse { grid-template-columns:120px 1.25fr 1fr; }
.advantage-row__copy { display:flex; flex-direction:column; justify-content:center; padding:var(--space-8); }
.advantage-row__copy h3 { max-width:400px; color:var(--color-primary); font-size:var(--font-size-xl); text-transform:uppercase; }
.advantage-row__copy p { margin:var(--space-3) 0 0; }
.advantage-row__media { clip-path:polygon(12% 0,100% 0,88% 100%,0 100%); margin:0 -32px; }
.advantage-row--reverse .advantage-row__media { clip-path:polygon(12% 0,100% 0,88% 100%,0 100%); }
.advantage-row__media img { width:100%; height:100%; object-fit:cover; }
.advantage-row__number { display:flex; align-items:center; justify-content:center; color:var(--color-white); background:var(--color-primary); font-size:3rem; font-weight:var(--font-weight-bold); }

.client-visits { padding-top:var(--space-10); }
.visit-carousel { position:relative; padding:0 34px; }
.visit-carousel__viewport { overflow:hidden; }
.visit-carousel__track { display:flex; gap:var(--space-5); transition:transform var(--transition-smooth); will-change:transform; }
.visit-card { flex:0 0 calc((100% - 40px) / 3); min-width:0; margin:0; }
.visit-card img { width:100%; height:300px; object-fit:cover; border-radius:14px 4px 14px 4px; box-shadow:var(--shadow-sm); transition:transform var(--transition-base),box-shadow var(--transition-base); }
.visit-card:hover img { transform:translateY(-4px); box-shadow:var(--shadow-lg); }
.visit-card figcaption { position:relative; min-height:48px; padding:var(--space-3) var(--space-2) 0; border-bottom:1px solid var(--color-primary); font-size:var(--font-size-xs); color:var(--color-dark-light); }
.visit-card figcaption b { margin-right:var(--space-2); color:var(--color-primary); font-size:var(--font-size-md); }
.visit-carousel__button { position:absolute; top:128px; z-index:2; width:48px; height:48px; display:grid; place-items:center; color:var(--color-white); background:var(--color-dark-80); border:1px solid var(--color-white-20); border-radius:50%; font-size:2.2rem; line-height:1; box-shadow:var(--shadow-md); transition:background var(--transition-fast),opacity var(--transition-fast); }
.visit-carousel__button:hover { background:var(--color-primary); }
.visit-carousel__button:disabled { opacity:.28; cursor:not-allowed; }
.visit-carousel__button--prev { left:4px; }
.visit-carousel__button--next { right:4px; }
.visit-carousel__dots { display:flex; justify-content:center; gap:7px; margin-top:var(--space-5); }
.visit-carousel__dots span { width:7px; height:7px; border-radius:50%; background:var(--color-gray); }
.visit-carousel__dots .is-active { width:24px; border-radius:var(--radius-full); background:var(--color-primary); }

.factory-gallery { background:var(--color-gray-light); }
.factory-collage { display:grid; grid-template-columns:.8fr 1fr 1.4fr; grid-auto-rows:220px; gap:var(--space-5); }
.factory-collage__item { overflow:hidden; box-shadow:var(--shadow-sm); }
.factory-collage__item--arch { border-radius:90px 12px 12px 12px; }
.factory-collage__item--cut { clip-path:polygon(10% 0,100% 0,100% 100%,0 100%,0 14%); }
.factory-collage__item--wide { grid-column:span 1; }
.factory-collage__item img { width:100%; height:100%; object-fit:cover; cursor:zoom-in; transition:transform var(--transition-slow); }
.factory-collage__item:hover img { transform:scale(1.035); }

.about-inquiry { position:relative; background:var(--color-white); border-top:1px solid var(--color-gray); }
.about-inquiry::before { display:none; }
.about-inquiry .container { position:relative; z-index:1; }
.about-inquiry .section-heading { margin-bottom:var(--space-10); }
.about-inquiry__panel { display:grid; grid-template-columns:.8fr 1.4fr; align-items:stretch; border:1px solid var(--color-gray); border-radius:var(--radius-lg); box-shadow:var(--shadow-lg); overflow:hidden; }
.about-inquiry__intro { padding:var(--space-10); color:var(--color-white); background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark)); border-radius:var(--radius-lg) 0 0 var(--radius-lg); }
.about-inquiry__intro h3 { color:var(--color-white); font-size:var(--font-size-2xl); margin-bottom:var(--space-4); }
.about-inquiry__intro p { color:var(--color-white-80); }
.about-kicker--light { color:var(--color-white); }
.about-inquiry__intro li { position:relative; padding:var(--space-2) 0 var(--space-2) var(--space-6); font-size:var(--font-size-sm); }
.about-inquiry__intro li::before { content:"✓"; position:absolute; left:0; }
.about-inquiry__form { border-radius:0 var(--radius-lg) var(--radius-lg) 0; box-shadow:none; }

@media (max-width:900px) {
  .about-intro__grid,.about-inquiry__panel { grid-template-columns:1fr; }
  .about-intro__visual { margin-top:var(--space-4); }
  .about-experience { left:var(--space-4); }
  .value-grid { grid-template-columns:repeat(2,1fr); gap:var(--space-8) 0; }
  .value-grid::before { display:none; }
  .value-item:nth-child(2) { border-right:0; }
  .advantage-row,.advantage-row--reverse { grid-template-columns:1fr 1fr 84px; }
  .advantage-row--reverse { grid-template-columns:84px 1fr 1fr; }
  .visit-card { flex-basis:calc((100% - 20px) / 2); }
  .factory-collage { grid-template-columns:repeat(2,1fr); }
  .about-inquiry__intro { border-radius:var(--radius-lg) var(--radius-lg) 0 0; }
  .about-inquiry__form { border-radius:0 0 var(--radius-lg) var(--radius-lg); }
}

@media (max-width:640px) {
  .about-intro { padding-top:var(--space-8); padding-bottom:var(--space-10); }
  .about-intro__grid { gap:var(--space-8); }
  .about-intro__copy { padding-top:0; }
  .about-intro__copy p { font-size:var(--font-size-md); }
  .about-intro__visual img { height:340px; border-radius:28px 0 28px 0; }
  .about-experience { position:relative; left:auto; bottom:auto; min-width:0; width:calc(100% - 24px); margin:-50px auto 0; }
  .value-grid { grid-template-columns:1fr; }
  .value-item { padding:var(--space-8) var(--space-4); border-right:0!important; border-bottom:1px solid var(--color-gray); }
  .advantage-row,.advantage-row--reverse { grid-template-columns:1fr; }
  .advantage-row__number { grid-row:1; min-height:76px; }
  .advantage-row__media { grid-row:2; height:230px; margin:0; clip-path:none; }
  .advantage-row__copy { grid-row:3; }
  .visit-carousel { padding:0 22px; }
  .visit-card { flex-basis:100%; }
  .visit-card img { height:260px; }
  .visit-carousel__button { top:106px; width:44px; height:44px; }
  .visit-carousel__button--prev { left:0; }
  .visit-carousel__button--next { right:0; }
  .factory-collage { grid-template-columns:1fr; }
  .factory-collage { grid-auto-rows:240px; }
  .about-inquiry__intro,.about-inquiry__form { padding:var(--space-6); }
}
