/* =========================================================
   공통 컴포넌트 통합
   - 기존 .as-intro-eyebrow / .as-review-eyebrow / .as-works-eyebrow /
     .as-products-eyebrow 는 완전히 동일한 규칙이라 셀렉터만 묶음.
   - 마크업(class="as-intro-eyebrow" 등)은 그대로 둬도 되고,
     신규 섹션에는 .as-eyebrow 하나만 쓰면 됨.
   ========================================================= */

   .as-intro-eyebrow,
   .as-review-eyebrow,
   .as-works-eyebrow,
   .as-products-eyebrow,
   .as-eyebrow {
     display: flex;
     align-items: center;
     gap: 10px;
     margin-bottom: 28px;
   }

   .as-intro-dot,
   .as-review-dot,
   .as-works-dot,
   .as-products-dot,
   .as-eyebrow-dot {
     width: 8px;
     height: 8px;
     background: var(--color-green);
     border-radius: 50%;
     display: inline-block;
     flex-shrink: 0;
   }

   .as-intro-eyebrow span:last-child,
   .as-review-eyebrow span:last-child,
   .as-works-eyebrow span:last-child,
   .as-products-eyebrow span:last-child,
   .as-eyebrow span:last-child {
     font-size: 13px;
     letter-spacing: .14em;
     color: var(--text-mute);
     font-weight: 700;
     text-transform: uppercase;
   }

   /* 필터 버튼도 동일 케이스 (as-works / as-products) */
   .as-works-filter-btn,
   .as-products-filter-btn,
   .as-filter-btn {
     padding: 10px 20px;
     border: 1px solid var(--line);
     background: var(--bg);
     color: var(--text-mute);
     font-size: 14px;
     font-weight: 700;
     cursor: pointer;
     border-radius: var(--r-btn);
     transition-property: border-color, color, background, scale;
     transition-duration: .2s;
     transition-timing-function: var(--ease-ui);
   }
   .as-works-filter-btn:hover,
   .as-products-filter-btn:hover,
   .as-filter-btn:hover {
     border-color: var(--line-strong);
     color: var(--text);
   }
   .as-works-filter-btn:active,
   .as-products-filter-btn:active,
   .as-filter-btn:active { scale: .96; }
   .as-works-filter-btn.is-active,
   .as-products-filter-btn.is-active,
   .as-filter-btn.is-active {
     background: var(--accent);
     border-color: var(--accent);
     color: var(--accent-ink);
   }

   /* 버튼 베이스도 통합 (as-intro-btn 패턴 재사용) */
   .as-btn {
     padding: 14px 26px;
     font-weight: 700;
     font-size: 14px;
     letter-spacing: .02em;
     text-decoration: none;
     display: inline-block;
     border-radius: var(--r-btn);
     transition-property: background, color, border-color, scale;
     transition-duration: .2s;
     transition-timing-function: var(--ease-ui);
   }
   .as-btn:active { scale: .96; }
   .as-btn--primary {
     background: var(--accent);
     color: var(--accent-ink);
   }
   .as-btn--primary:hover {
     background: var(--text-mute);
   }
   .as-btn--outline {
     border: 1px solid var(--line-strong);
     background: var(--bg);
     color: var(--text);
   }
   .as-btn--outline:hover {
     border-color: var(--text);
   }


   /* =========================================================
      ===== 올라운드샵 컨택트 섹션 (.as-contact) =====
      ========================================================= */
   .as-contact {
     background: var(--bg-soft);
     padding: var(--area-sapce);
     color: var(--text);
   }

   .as-contact-inner {
     max-width: var(--content-max);
     width: 100%;
     margin: 0 auto;
     padding-top: clamp(48px, 8vw, 80px);
   }

   .as-contact-title {
     font-size: var(--title-size);
     line-height: 1.2;
     font-weight: 800;
     letter-spacing: -0.02em;
     margin: 0 0 12px;
   }

   .as-contact-desc {
     margin: 0 0 clamp(32px, 5vw, 48px);
     max-width: 520px;
   }

   .as-contact-desc strong {
     color: var(--text);
     font-weight: 600;
   }

   /* ---- 2열 레이아웃 (모바일 1열 기본) ---- */
   .as-contact-layout {
     display: grid;
     grid-template-columns: minmax(0, 1fr);
     gap: clamp(20px, 3vw, 32px);
     align-items: start;
     min-width: 0;
   }

   .as-contact-form-wrap,
   .as-contact-aside {
     min-width: 0;
     width: 100%;
   }

   @media (min-width: 1025px) {
     .as-contact-layout {
       grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
       gap: clamp(20px, 3vw, 40px);
     }
   }

   .as-contact-form-wrap {
     background: var(--bg);
     border: 1px solid var(--line);
     border-radius: var(--r-card);
     padding: clamp(24px, 3vw, 32px);
     box-shadow: 0 1px 2px rgba(0, 0, 0, .03);
   }

   .as-contact-form {
     display: flex;
     flex-direction: column;
     gap: 16px;
   }

   .as-contact-field-grid {
     display: grid;
     grid-template-columns: 1fr 1fr;
     gap: 16px;
   }

   .as-contact-field label {
     display: block;
     font-size: 12px;
     font-weight: 700;
     letter-spacing: .04em;
     color: var(--text-mute);
     margin-bottom: 6px;
   }

   .as-contact-field input,
   .as-contact-field select,
   .as-contact-field textarea {
     width: 100%;
     box-sizing: border-box;
     padding: 12px 14px;
     border: 1px solid var(--line);
     border-radius: var(--r-media);
     background: var(--bg-soft);
     color: var(--text);
     font-size: 14px;
     font-family: inherit;
     line-height: 1.5;
     transition-property: border-color, background, box-shadow;
     transition-duration: .2s;
     transition-timing-function: var(--ease-ui);
   }

   .as-contact-field input::placeholder,
   .as-contact-field textarea::placeholder {
     color: var(--text-faint);
   }

   .as-contact-field input:focus,
   .as-contact-field select:focus,
   .as-contact-field textarea:focus {
     outline: none;
     border-color: var(--line-strong);
     background: var(--bg);
     box-shadow: 0 0 0 3px var(--accent-soft);
   }

   .as-contact-field textarea {
     resize: vertical;
     min-height: 132px;
   }

   .as-contact-honey {
     position: absolute;
     left: -9999px;
     width: 1px;
     height: 1px;
     overflow: hidden;
   }

   .as-contact-submit {
     width: 100%;
     border: none;
     cursor: pointer;
     margin-top: 2px;
   }

   .as-contact-submit:disabled {
     opacity: .55;
     cursor: not-allowed;
   }

   .as-contact-form-msg {
     padding: 12px 14px;
     border-radius: var(--r-media);
     font-size: 13px;
     line-height: 1.55;
     margin-top: 14px;
   }

   .as-contact-form-msg.is-error {
     background: rgba(180, 35, 24, .06);
     color: #9a2f26;
     border: 1px solid rgba(180, 35, 24, .14);
   }

   .as-contact-form-msg.is-ok {
     background: var(--accent-soft);
     color: var(--text);
     border: 1px solid var(--line);
   }

   .as-contact-success {
     text-align: center;
     padding: 20px 4px 4px;
   }

   .as-contact-success-title {
     font-size: clamp(1.25rem, 2.5vw, 24px);
     font-weight: 800;
     letter-spacing: -0.02em;
     margin: 0 0 10px;
   }

   .as-contact-success-desc {
     font-size: 14px;
     color: var(--text-mute);
     line-height: 1.65;
     margin: 0 0 22px;
   }

   /* ---- 사이드: 빠른 연락 (컴팩트) ---- */
   .as-contact-aside-title {
     font-size: 11px;
     font-weight: 700;
     letter-spacing: .14em;
     text-transform: uppercase;
     color: var(--text-faint);
     margin: 0 0 12px;
   }

   .as-contact-aside .as-contact-list {
     display: flex;
     flex-direction: column;
     gap: 1px;
     background: var(--line);
     border: 1px solid var(--line);
     border-radius: var(--r-card);
     overflow: hidden;
   }

   .as-contact-aside .as-contact-row {
     background: var(--bg);
     padding: 16px 18px;
     display: flex;
     flex-direction: column;
     align-items: flex-start;
     gap: 4px;
     text-decoration: none;
     color: var(--text);
     transition-property: background;
     transition-duration: .2s;
     transition-timing-function: var(--ease-ui);
   }

   .as-contact-aside .as-contact-row.is-link:hover {
     background: var(--bg-soft);
   }

   .as-contact-aside .as-contact-row-label {
     font-size: 11px;
     font-weight: 700;
     letter-spacing: .1em;
     text-transform: uppercase;
     color: var(--text-faint);
   }

   .as-contact-aside .as-contact-row-value {
     font-size: 14px;
     font-weight: 600;
     letter-spacing: -0.01em;
     line-height: 1.45;
     display: inline-flex;
     align-items: center;
     gap: 6px;
     text-align: left;
     word-break: break-all;
   }

   .as-contact-aside .as-contact-row-value--sm {
     font-size: 13px;
     font-weight: 500;
     color: var(--text-mute);
     line-height: 1.6;
     word-break: keep-all;
   }

   .as-contact-aside .as-contact-row-value .arrow {
     color: var(--text-faint);
     font-size: 13px;
     transition-property: translate, color;
     transition-duration: .2s;
     transition-timing-function: var(--ease-ui);
     flex-shrink: 0;
   }

   .as-contact-aside .as-contact-row.is-link:hover .arrow {
     translate: 3px 0;
     color: var(--text);
   }

   /* ---- 하단 CTA ---- */
   .as-contact-cta {
     margin-top: clamp(32px, 5vw, 48px);
     display: flex;
     flex-wrap: wrap;
     gap: 10px;
   }

   .as-contact-cta .as-btn {
     font-size: 13px;
     padding: 12px 22px;
   }

   /* ===== 반응형 ===== */
   @media (max-width: 768px) {
     .as-contact {
       padding: calc(var(--page-top) + 12px) 16px 40px;
       overflow-x: clip;
     }

     .as-contact-inner {
       padding-top: 0;
     }

     .as-contact-intro {
       margin-bottom: 18px;
     }

     .as-contact-title {
       font-size: 22px;
       line-height: 1.28;
       margin-bottom: 8px;
     }

     .as-contact-desc {
       margin-bottom: 18px;
     }

     .as-contact-layout {
       gap: 20px;
     }

     .as-contact-form-wrap {
       padding: 16px 14px;
     }

     .as-contact-form {
       gap: 12px;
     }

     .as-contact-field-grid {
       grid-template-columns: 1fr;
       gap: 12px;
     }

     .as-contact-field label {
       font-size: 11px;
       margin-bottom: 5px;
     }

     .as-contact-field input,
     .as-contact-field select,
     .as-contact-field textarea {
       padding: 10px 12px;
       font-size: 13px;
     }

     .as-contact-field textarea {
       min-height: 108px;
     }

     .as-contact-submit {
       padding: 12px 20px;
       font-size: 13px;
       margin-top: 0;
     }

     .as-contact-form-msg {
       font-size: 12px;
       padding: 10px 12px;
       margin-top: 10px;
     }

     .as-contact-success-title {
       font-size: 20px;
     }

     .as-contact-success-desc {
       font-size: 13px;
     }

     .as-contact-aside-title {
       margin-bottom: 10px;
     }

     .as-contact-aside .as-contact-row {
       padding: 12px 14px;
     }

     .as-contact-aside .as-contact-row-value {
       font-size: 13px;
     }

     .as-contact-aside .as-contact-row-value--sm {
       font-size: 12px;
     }

     .as-contact-cta {
       flex-direction: column;
       margin-top: 24px;
       gap: 8px;
     }

     .as-contact-cta .as-btn {
       width: 100%;
       text-align: center;
       padding: 11px 18px;
       font-size: 12px;
     }
   }

   @media (prefers-reduced-motion: reduce) {
     .as-btn:active,
     .as-works-filter-btn:active,
     .as-products-filter-btn:active,
     .as-filter-btn:active { scale: 1; }
     .as-contact-aside .as-contact-row.is-link:hover .arrow { translate: 0 0; }
   }
