.global-site-footer,
.global-site-footer * { box-sizing: border-box; }

.unified-contact,.unified-contact *{box-sizing:border-box}
.unified-contact{display:grid!important;grid-template-columns:minmax(300px,430px) minmax(390px,517px) minmax(360px,511px)!important;align-items:start!important;gap:clamp(40px,3.75vw,72px)!important;width:min(1578px,calc(100% - 80px))!important;max-width:none!important;height:auto!important;min-height:610px!important;margin:0 auto!important;padding:92px 0 55px!important;color:#181818!important;background:#fdfbf7!important;box-shadow:0 0 0 100vmax #fdfbf7!important;clip-path:inset(0 -100vmax)!important;font-family:'Pretendard Variable','Pretendard','Apple SD Gothic Neo',sans-serif!important}
.home-index .unified-contact{background:#fdfbf7!important;box-shadow:0 0 0 100vmax #fdfbf7!important}
.community-page .unified-contact{background:#fdfbf7!important;box-shadow:0 0 0 100vmax #fdfbf7!important}
.unified-contact .community-contact-info h2{margin:0 0 45px!important;color:#181818!important;font-family:'Pretendard Variable','Pretendard',sans-serif!important;font-size:55px!important;font-weight:700!important;line-height:1!important;letter-spacing:-.035em!important}
.unified-contact .community-contact-info dl{display:grid!important;grid-template-columns:118px 1fr!important;row-gap:24px!important;margin:0!important}
.unified-contact .community-contact-info dt,.unified-contact .community-contact-info dd{margin:0!important;font-size:15px!important;line-height:1.85!important}
.unified-contact .community-contact-info dt{font-weight:800!important}
.unified-contact .community-contact-info dd{color:#222!important}
.unified-contact .community-contact-info dd span{display:inline-block!important;min-width:68px!important}
.unified-contact .community-contact-info .community-contact-phone{margin-top:-5px!important;font-size:36px!important;font-weight:500!important;line-height:44px!important}
.unified-contact .community-contact-info a{color:inherit!important;text-decoration:none!important}
.unified-contact .community-contact-form{display:grid!important;grid-template-columns:1fr 1fr!important;gap:27px 8px!important;padding-top:2px!important}
.unified-contact .community-contact-form label{display:flex!important;flex-direction:column!important;gap:10px!important;margin:0!important;color:#333!important;font-size:15px!important;line-height:1.4!important;font-weight:700!important}
.unified-contact .community-contact-label{display:inline-flex!important;align-items:baseline!important;gap:4px!important;white-space:nowrap!important}
.unified-contact .community-contact-form label em{color:#ff6f61!important;font-style:normal!important}
.unified-contact .community-contact-form input:not([type=checkbox]),.unified-contact .community-contact-form textarea{box-sizing:border-box!important;width:100%!important;margin:0!important;border:1px solid #dbdbdb!important;background:#fff!important;color:#333!important;font:500 16px/1.4 'Pretendard Variable','Pretendard',sans-serif!important;outline:none!important}
.unified-contact .community-contact-form input:not([type=checkbox]){height:52px!important;padding:0 22px!important;border-radius:10px!important}
.unified-contact .community-contact-form textarea{height:111px!important;padding:16px 20px!important;border-radius:10px!important;resize:none!important}
.unified-contact .community-contact-form .wide{grid-column:1/-1!important}
.unified-contact .community-contact-form .community-contact-consent{display:flex!important;flex-direction:row!important;align-items:center!important;gap:8px!important;margin-top:-8px!important;font-size:14px!important;font-weight:500!important}
.unified-contact .community-contact-consent input{width:18px!important;height:18px!important;margin:0!important;accent-color:#dd8f93!important}
.unified-contact .community-contact-consent a{margin-left:auto!important;color:#333!important;font-size:13px!important;font-weight:500!important;text-decoration:none!important}
.unified-contact .community-contact-form button{grid-column:2!important;justify-self:end!important;min-width:168px!important;height:48px!important;margin-top:-3px!important;padding:0 36px!important;border:0!important;border-radius:999px!important;background:#dd8f93!important;color:#fff!important;font:600 16px/1 'Pretendard Variable','Pretendard',sans-serif!important;cursor:pointer!important}
.unified-contact .community-contact-map{display:block!important;width:100%!important;height:auto!important;min-height:320px!important;aspect-ratio:511/463!important;border:0!important;border-radius:0!important}

.global-site-footer {
  --footer-bg: #211c19;
  --footer-bold: #f5efe8;
  --footer-body: #c9beb4;
  --footer-mute: #8a7f78;
  display: block !important;
  width: 100% !important;
  min-height: 394px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--footer-body) !important;
  background: var(--footer-bg) !important;
  border: 0 !important;
  font-family: 'Pretendard Variable', 'Pretendard', 'Apple SD Gothic Neo', sans-serif !important;
}

.global-footer-inner {
  display: grid;
  grid-template-columns: 222px minmax(460px, 1fr) auto;
  align-items: start;
  gap: clamp(64px, 5.2vw, 100px);
  width: min(1638px, calc(100% - 120px));
  min-height: 394px;
  margin: 0 auto;
  padding: 64px 0 52px;
}

.global-footer-logo { display: block; width: 222px; }
.global-footer-logo img { display: block; width: 222px !important; height: 84px !important; object-fit: contain; filter: none !important; }
.global-footer-info { padding-top: 8px; font-size: 14px; line-height: 1.7; color: var(--footer-body); }
.global-footer-info p { margin: 0 0 4px; color: var(--footer-body); font-weight: 400; }
.global-footer-info b { margin-right: 13px; color: var(--footer-bold); font-weight: 700; }
.global-footer-info p b:not(:first-child), .global-footer-info p span + b { margin-left: 25px; }
.global-footer-hours span { display: inline-block; margin-right: 18px; color: var(--footer-body); font-weight: 400; }
.global-footer-info small { display: block; margin-top: 17px; color: var(--footer-mute); font-size: 15px; font-weight: 400; }
.global-footer-side { display: grid; justify-items: end; gap: 36px; }
.global-footer-side nav { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 22px 38px; }
.global-footer-side nav a { color: var(--footer-bold); font-size: 17px; font-weight: 700; text-decoration: none; }
.global-footer-side nav a:hover { color: #dd8f93; }
.global-footer-social { display: flex; align-items: center; gap: 10px; padding-right: 3px; }
.global-footer-social a { position: relative; display: grid; place-items: center; width: 36px; height: 36px; border:1px solid rgba(245,239,232,.16); border-radius:50%; color: #dd8f93; background: rgba(245,239,232,.08); text-decoration: none; transition: transform .2s ease, background .2s ease, border-color .2s ease; }
.global-footer-social a:hover { transform: translateY(-2px); border-color:rgba(221,143,147,.62); background:rgba(221,143,147,.12); }
.global-footer-social a::after { content: none; }
.global-footer-social img { display: block; width: 18px !important; height: 18px !important; object-fit: contain; filter:none!important; }
.global-footer-social .footer-channel img { width:17px!important; height:18px!important; }
.global-footer-social .footer-blog img { width:18px!important; height:19px!important; }
.global-footer-social .footer-instagram img { width:18px!important; height:18px!important; }

@media (min-width: 1101px) and (max-width: 1500px) {
  .global-footer-side { padding-right: 94px; }
}

@media (max-width: 1100px) {
  .unified-contact{grid-template-columns:1fr 1fr!important;width:calc(100% - 64px)!important;min-height:0!important;gap:48px 30px!important;padding:82px 0!important}
  .unified-contact .community-contact-map{grid-column:1/-1!important;width:min(100%,700px)!important;justify-self:center!important;aspect-ratio:16/9!important}
  .global-site-footer { min-height: 330px !important; }
  .global-footer-inner { grid-template-columns: 190px 1fr; width: calc(100% - 64px); min-height: 330px; gap: 38px; padding-top: 54px; }
  .global-footer-logo, .global-footer-logo img { width: 190px !important; }
  .global-footer-logo img { height: auto !important; }
  .global-footer-side { grid-column: 2; justify-items: start; gap: 22px; }
}

@media (max-width: 680px) {
  .unified-contact{grid-template-columns:1fr!important;width:calc(100% - 40px)!important;gap:42px!important;padding:70px 0!important}
  .unified-contact .community-contact-info h2{margin-bottom:34px!important;font-size:40px!important}
  .unified-contact .community-contact-info dl{grid-template-columns:92px 1fr!important}
  .unified-contact .community-contact-form{grid-template-columns:1fr!important}
  .unified-contact .community-contact-form label,.unified-contact .community-contact-form .wide,.unified-contact .community-contact-form button{grid-column:1!important}
  .unified-contact .community-contact-form button{justify-self:stretch!important}
  .unified-contact .community-contact-map{grid-column:1!important;aspect-ratio:4/3!important}
  .global-site-footer { min-height: 0 !important; }
  .global-footer-inner { display: flex; flex-direction: column; width: calc(100% - 40px); min-height: 0; gap: 30px; padding: 48px 0; }
  .global-footer-logo, .global-footer-logo img { width: 175px !important; }
  .global-footer-info { font-size: 14px; line-height: 1.75; }
  .global-footer-info p { margin-bottom: 7px; }
  .global-footer-info b, .global-footer-info p b:not(:first-child), .global-footer-info p span + b { display: inline; margin: 0 7px 0 0; }
  .global-footer-info span { display: block; }
  .global-footer-info small { font-size: 13px; line-height: 1.6; }
  .global-footer-side { display: flex; width: 100%; flex-direction: column; align-items: flex-start; gap: 24px; }
  .global-footer-side nav { gap: 14px 22px; }
  .global-footer-side nav a { font-size: 14px; }
}

/* Google Maps embeds (replace static map images) */
iframe.community-contact-map,
iframe.contact-map,
iframe.beautyple-gmap,
.directions-map iframe{
  display:block;
  width:100%;
  height:100%;
  border:0;
  background:#e8e4df;
}
.directions-map iframe.beautyple-gmap{
  min-height:420px;
}
.unified-contact iframe.community-contact-map{
  min-height:320px;
}
