/* Original affiliate-site treatment: rotating original photography and clear contact actions. */
body { font-family: Pretendard, "Noto Sans KR", "Malgun Gothic", sans-serif; }
.brand-mark { background: transparent; border-radius: 0; box-shadow: none; }
.hero { overflow: hidden; }
.hero:before { z-index: 1; background: linear-gradient(90deg,rgba(4,22,45,.78) 0%,rgba(4,26,52,.56) 39%,rgba(4,26,52,.08) 100%); pointer-events: none; }
.hero-slideshow { position: absolute; z-index: 0; inset: 0; overflow: hidden; background: #071b34; }
.hero-slide { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; opacity: 0; filter: brightness(1.1) saturate(1.04); transform: scale(1.04); transition: opacity 1.1s ease,filter 1.1s ease; }
.hero-slide.is-active { opacity: 1; animation: hero-photo-drift 7s ease-out both; }
@keyframes hero-photo-drift { from { transform: scale(1.045) translate3d(0,0,0); } to { transform: scale(1.095) translate3d(-.5%,0,0); } }
.hero-content { position: relative; z-index: 2; }
.hero-bottom { z-index: 3; }
.hero-dots { display: flex; align-items: center; gap: 8px; }
.hero-dots button { width: 8px; height: 8px; padding: 0; background: #ffffff80; border: 0; border-radius: 50%; cursor: pointer; transition: width .2s ease,background .2s ease; }
.hero-dots button.is-active { width: 23px; background: #fff; border-radius: 8px; }
.header-cta,.hero .button-lime,.submit-button { font-family: inherit; font-size: 15px; font-weight: 750; letter-spacing: -.035em; }
.header-cta { min-height: 50px; padding-inline: 24px; }
.hero .button-lime { min-height: 54px; padding-inline: 22px; }
.submit-button { min-height: 54px; }
.quick-contact { font-family: inherit; }
.site-header { min-height: 78px; }
.desktop-nav { gap: clamp(18px, 2.5vw, 38px); }
.desktop-nav a { font-size: 14px; letter-spacing: -.035em; white-space: nowrap; }
.store-services { background: #f4f7fb; }
.store-service-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin-top: 36px; }
.store-service-card { position: relative; min-height: 270px; padding: 26px; background: #fff; border: 1px solid #dce4ee; transition: transform .2s ease,box-shadow .2s ease,border-color .2s ease; }
.store-service-card:hover { transform: translateY(-4px); border-color: #8cb9e8; box-shadow: 0 16px 36px #10396312; }
.store-service-index { color: #6e87a2; font-size: 10px; font-weight: 800; letter-spacing: .14em; }
.store-service-icon { display: grid; place-items: center; width: 46px; height: 46px; margin-top: 28px; color: #075bb3; background: #e7f1fc; font-size: 22px; }
.store-service-card h3 { margin: 18px 0 8px; color: #1b2b3c; font-size: 21px; letter-spacing: -.045em; }
.store-service-card p { min-height: 48px; margin: 0; color: #596c80; font-size: 14px; line-height: 1.7; }
.store-service-card>a { display: inline-flex; gap: 12px; align-items: center; margin-top: 20px; color: #0057b8; font-size: 13px; font-weight: 750; }
.store-service-note { margin: 17px 0 0; color: #687b90; font-size: 12px; }
.quick-contact { position: fixed; z-index: 80; left: 50%; bottom: 22px; display: flex; align-items: center; gap: 8px; padding: 8px; background: #fff; border: 1px solid #dce4ee; box-shadow: 0 10px 36px #0b244233; transform: translateX(-50%); }
.quick-contact a { display: flex; align-items: center; justify-content: center; gap: 9px; min-height: 46px; padding: 0 18px; color: #152638; text-decoration: none; white-space: nowrap; }
.quick-phone { flex-direction: column; align-items: flex-start !important; gap: 1px !important; }
.quick-phone span { font-size: 11px; font-weight: 700; }
.quick-phone strong { font-size: 17px; letter-spacing: -.025em; }
.quick-kakao { border: 1px solid #d9d9d9; }
.quick-kakao-mark { display: grid; place-items: center; width: 19px; height: 19px; color: #201c00; background: #fee500; border-radius: 50%; font-size: 11px; font-weight: 900; }
.kakao-icon { background: #fee500; color: #201c00; font-weight: 900; }
.quick-kakao strong,.quick-booking strong { font-size: 13px; }
.quick-booking { color: #fff !important; background: #0057b8; }
.quick-booking>span { font-size: 15px; }
.quick-contact a:hover { filter: brightness(.96); }
.service-range,.store-services,.solutions,.process,.inquiry,.faq { scroll-margin-top: 96px; }
@media (prefers-reduced-motion: reduce) {
  .hero-slide,.hero-slide.is-active { transition: none; animation: none; transform: none; }
  .store-service-card { transition: none; }
}
@media (max-width: 900px) {
  .desktop-nav { gap: 14px; }
  .desktop-nav a { font-size: 12px; }
  .store-service-card { padding: 21px; }
}
@media (max-width: 720px) {
  .desktop-nav { gap: 0; }
  .hero-dots { gap: 6px; }
  .hero-dots button { width: 7px; height: 7px; }
  .hero-dots button.is-active { width: 18px; }
  .header-cta { min-height: 42px; padding-inline: 12px; font-size: 13px; }
  .hero .button-lime { min-height: 50px; padding-inline: 17px; font-size: 14px; }
  .store-service-grid { grid-template-columns: 1fr; gap: 10px; margin-top: 24px; }
  .store-service-card { min-height: 0; padding: 20px; }
  .store-service-icon { margin-top: 18px; }
  .store-service-card p { min-height: 0; }
  .quick-contact { left: 0; right: 0; bottom: 0; width: 100%; justify-content: stretch; gap: 0; padding: 7px 8px calc(7px + env(safe-area-inset-bottom)); border-width: 1px 0 0; box-shadow: 0 -7px 28px #0b24421c; transform: none; }
  .quick-contact a { flex: 1; min-width: 0; min-height: 48px; gap: 5px; padding: 0 6px; }
  .quick-phone { align-items: center !important; }
  .quick-phone span { font-size: 10px; }
  .quick-phone strong { font-size: clamp(12px,3.7vw,15px); }
  .quick-kakao strong,.quick-booking strong { font-size: 12px; }
  .quick-kakao-mark { width: 17px; height: 17px; font-size: 10px; }
  body { padding-bottom: 72px; }
}

/* Improve reading comfort across the landing page while preserving its heading hierarchy. */
body { font-weight: 500; }
.announcement { font-size: 12px; font-weight: 700; }
.brand-copy strong { font-size: 16px; font-weight: 800; }
.brand-copy small { font-size: 10px; font-weight: 600; }
.desktop-nav a { font-size: 15px; font-weight: 650; }
.hero .eyebrow,.section-kicker { font-size: 11px; font-weight: 750; }
.hero-lede,.intro-copy p,.section-head>p,.process-heading>p,.store-service-card p { font-size: 15px; font-weight: 500; line-height: 1.85; }
.hero .text-link,.hero-proof,.arrow-link,.service-tile,.space-info strong,.step-copy,.faq-list summary { font-size: 14px; font-weight: 650; }
.value-list h3 { font-size: 15px; font-weight: 750; }
.value-list p,.space-info small,.contact-option small,.contact-pending { font-size: 13px; font-weight: 500; line-height: 1.7; }
.service-tile small,.store-service-card>a,.contact-option strong { font-size: 14px; font-weight: 700; }
.store-service-note { font-size: 13px; font-weight: 500; }
.input-field label,.choice-row label span,.consent,.faq-list details p { font-size: 14px; font-weight: 500; line-height: 1.75; }
.header-cta,.hero .button-lime,.submit-button { font-weight: 800; }
/* Stronger type on the partner disclosure and service choices shown above the fold. */
body .partner-note p strong { font-size: 14px; font-weight: 800; }
body .partner-note p span { font-size: 13px; font-weight: 500; }
body .partner-note>a { font-size: 13px; font-weight: 750; }
body .partner-note-mark { font-size: 13px; font-weight: 800; }
body .service-range-heading .section-kicker { font-size: 12px; font-weight: 800; }
body .service-range-heading h2 { font-size: clamp(32px,3.1vw,40px); font-weight: 800; }
body .service-tile .tile-copy strong { font-size: 16px; font-weight: 800; }
body .service-tile .tile-copy small { font-size: 13px; font-weight: 600; }
body .process-steps article>span { font-size: 12px; font-weight: 800; letter-spacing: .08em; }
body .process-steps article h3 { font-size: 18px; font-weight: 800; }
body .process-steps article p { font-size: 15px; font-weight: 600; line-height: 1.8; }
body .contact-option { min-height: 94px; padding: 16px 17px; gap: 14px; border-radius: 8px; }
body .contact-option-icon { width: 42px; height: 42px; flex: 0 0 42px; font-size: 17px; font-weight: 850; }
body .contact-option>span:nth-child(2) { gap: 3px; }
body .contact-option strong { font-size: 17px; font-weight: 800; }
body .contact-option small { font-size: 14px; font-weight: 600; line-height: 1.55; }
body .contact-option small.contact-hours { font-size: 12px; font-weight: 600; }
body .contact-option>b { font-size: 20px; font-weight: 800; }
body .inquiry { background-image: linear-gradient(rgba(239,246,252,.9),rgba(239,246,252,.94)),url("assets/hero-slide-office.webp"); background-position: center; background-size: cover; }
body .inquiry .inquiry-aside>p { font-size: 16px; font-weight: 550; line-height: 1.8; }
body .inquiry-form { padding: clamp(24px,4vw,42px); }
body .form-heading strong { font-size: 21px; font-weight: 850; }
body .form-heading span { font-size: 13px; font-weight: 650; }
body .input-field { font-size: 15px; font-weight: 750; }
body .input-field .optional { font-size: 13px; font-weight: 600; }
body .input-field input,body .input-field select,body .input-field textarea { min-height: 48px; padding: 12px 15px; font-size: 15px; font-weight: 500; }
body .input-field textarea { min-height: 96px; }
body .choice-field legend { font-size: 15px; font-weight: 800; }
body .choice-row label span { min-height: 46px; padding: 12px 10px; font-size: 15px; font-weight: 650; }
body .consent { font-size: 14px; font-weight: 600; line-height: 1.7; }
body .consent input { width: 17px; height: 17px; }
body .inquiry-form .submit-button { min-height: 60px; font-size: 18px; font-weight: 850; }
body .form-status { font-size: 13px; font-weight: 550; line-height: 1.7; }
/* Match the footer identity block to the primary brand treatment above. */
body .site-footer .footer-brand { gap: 12px; }
body .site-footer .footer-brand .brand-mark { display: block; width: 105px; height: 27px; padding: 2px 0; object-fit: contain; background: #fff; border-radius: 0; box-shadow: none; }
body .site-footer .footer-brand .brand-copy strong { color: #fff; font-size: 18px; font-weight: 850; }
body .site-footer .footer-brand .brand-copy small { color: #c4d3e2; font-size: 10px; font-weight: 600; }
body .intro { background-image: linear-gradient(rgba(248,250,252,.84),rgba(248,250,252,.9)),url("assets/hero-slide-home.webp"); background-position: center; background-size: cover; }
body .intro>.section-kicker { font-size: 12px; font-weight: 800; }
body .intro-row h2 { font-size: clamp(34px,4vw,50px); font-weight: 850; }
body .intro-copy p { font-size: 17px; font-weight: 600; line-height: 1.9; color: #344c63; }
body .intro-copy .arrow-link { font-size: 15px; font-weight: 800; }
body .value-list h3 { font-size: 17px; font-weight: 850; }
body .value-list p { font-size: 14px; font-weight: 600; line-height: 1.8; color: #43596d; }
body .value-list .value-index { font-size: 12px; font-weight: 800; }
body .intro.section-pad { padding-top: 62px; padding-bottom: 62px; }
body .intro-copy p { color: #203b55; }
body .value-list h3 { color: #102c48; }
body .value-list p { color: #263f56; }
body .value-list .value-index { color: #244e76; }
body .value-list { margin-top: 44px; }
body .value-list article { min-height: 126px; }
body .intro-copy { width: min(42%,560px); }
body .intro-copy p { word-break: keep-all; overflow-wrap: break-word; text-wrap: pretty; }
body .space-art { position: relative; overflow: hidden; background: #e3e9ed; }
body .space-art:before,body .space-art:after { content: none; }
body .space-art .space-photo { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform .35s ease; }
body .space-home .space-photo { object-position: center 62%; }
body .space-store .space-photo { object-position: center 55%; }
body .space-factory .space-photo { object-position: center 58%; }
body .space-card:hover .space-photo { transform: scale(1.04); }
body .space-no { top: 14px; left: 14px; z-index: 2; padding: 5px 8px; color: #fff; background: rgba(8,31,53,.72); border-radius: 3px; font-size: 10px; font-weight: 800; letter-spacing: .08em; }
@media (max-width: 720px) {
  body .process-steps article>span { font-size: 11px; }
  body .process-steps article h3 { font-size: 16px; }
  body .process-steps article p { font-size: 14px; }
  body .contact-option { min-height: 92px; padding: 14px; }
  body .contact-option strong { font-size: 16px; }
  body .contact-option small { font-size: 13px; }
  body .contact-option small.contact-hours { font-size: 11px; }
  body .inquiry-form { padding: 23px 18px; }
  body .input-field { font-size: 14px; }
  body .input-field input,body .input-field select,body .input-field textarea { font-size: 14px; }
  body .choice-field legend,body .choice-row label span { font-size: 14px; }
  body .consent { font-size: 13px; }
  body .inquiry-form .submit-button { min-height: 56px; font-size: 16px; }
  body .intro-row h2 { font-size: clamp(30px,8vw,38px); }
  body .intro-copy p { font-size: 15px; }
  body .intro-copy { width: 100%; }
  body .space-no { top: 10px; left: 10px; padding: 4px 7px; font-size: 9px; }
  body .value-list h3 { font-size: 16px; }
  body .value-list p { font-size: 14px; }
  body .intro.section-pad { padding-top: 48px; padding-bottom: 50px; }
  body .value-list { margin-top: 30px; }
  body .value-list article { min-height: 108px; }
}

/* Responsive typography and positioning pass for narrow phone screens. */
body { text-rendering: optimizeLegibility; }
body .header-cta,body .hero .button-lime,body .submit-button { font-size: clamp(13px,1vw,15px); font-weight: 700; letter-spacing: -.02em; line-height: 1.35; }
body .hero h1,body .intro-row h2,body .section-head h2,body .process h2,body .inquiry h2 { word-break: keep-all; text-wrap: balance; }
body .partner-note p span,body .store-service-card p,body .service-range-heading h2,body .space-info small { word-break: keep-all; }
body .site-header { gap: 10px; }
body .site-header .brand { min-width: 0; }
body .site-header .header-cta { white-space: nowrap; }
body .service-range-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
@media (max-width: 720px) {
  body .site-header { min-height: 68px; height: auto; padding: 8px 13px; gap: 7px; }
  body .site-header .brand { flex: 1 1 auto; gap: 6px; }
  body .site-header .brand-mark { width: clamp(66px,20vw,82px); height: auto; flex: 0 0 auto; }
  body .site-header .brand-copy { min-width: 0; }
  body .site-header .brand-copy strong { font-size: clamp(11px,3.3vw,13px); white-space: nowrap; }
  body .site-header .brand-copy small { font-size: clamp(7px,2.1vw,9px); letter-spacing: .02em; white-space: nowrap; }
  body .site-header .header-actions { flex: 0 0 auto; gap: 6px; }
  body .site-header .header-cta { min-height: 40px; padding: 0 10px; font-size: clamp(12px,3.3vw,13px); }
  body .site-header .menu-toggle { flex: 0 0 34px; width: 34px; height: 34px; }
  body .site-header .desktop-nav { top: 100%; }
  body .hero { padding-top: clamp(58px,13vw,76px); }
  body .hero h1 { font-size: clamp(34px,8.8vw,48px); line-height: 1.24; }
  body .hero-lede { max-width: 36ch; font-size: clamp(14px,3.8vw,16px); line-height: 1.75; word-break: keep-all; }
  body .hero-proof { font-size: 11px; }
  body .hero-bottom { font-size: 9px; }
  body .service-range-grid { grid-template-columns: 1fr; }
  body .service-tile { min-height: 76px; padding: 13px 14px; }
  body .store-service-card h3 { font-size: 19px; }
  body .store-service-card p { font-size: 14px; }
  body .space-info strong { font-size: 14px; }
  body .space-info small { font-size: 12px; line-height: 1.55; }
  body .section-head>p,body .process-heading>p { font-size: 14px; line-height: 1.75; }
  body .quick-contact .quick-phone strong { font-size: clamp(11px,3.5vw,14px); }
  body .quick-contact .quick-kakao strong,body .quick-contact .quick-booking strong { font-size: 12px; }
}
@media (max-width: 380px) {
  body .site-header { padding-inline: 10px; }
  body .site-header .brand-mark { width: 64px; }
  body .site-header .brand-copy small { display: none; }
  body .site-header .header-cta { padding-inline: 8px; font-size: 12px; }
  body .site-header .menu-toggle { flex-basis: 32px; width: 32px; height: 32px; }
  body .hero-proof { gap: 7px; font-size: 10px; }
  body .quick-contact a { padding-inline: 3px; }
}
