/* WECAMP v7.1 — only the three requested refinements.
   This file intentionally loads AFTER site.css and storybook.css. */

/* 1. Match the host-side headline to the guest-side typography. */
.hero-host h1 {
  font: 500 clamp(34px, 3.2vw, 58px)/1.5 'Noto Sans KR', var(--sans);
  letter-spacing: -.06em;
  margin: 23px 0 16px;
  word-break: keep-all;
  overflow-wrap: normal;
}
.hero-host h1 em {
  font-style: normal;
  color: #F5F0EA;
}

/* 2. Business info alongside copyright, away from the descending 'p'. */
.footer-bottom {
  position: relative;
  z-index: 2;
  align-items: center;
  gap: 22px;
}
.footer-identity {
  display: flex;
  align-items: center;
  gap: 18px;
  min-width: 0;
  flex: 1;
}
.footer-copyright {
  flex: none;
  white-space: nowrap;
}
.footer-company {
  display: block;
  min-width: 0;
  max-width: 800px;
  color: #F5F0EA;
  letter-spacing: .025em;
  line-height: 1.65;
  overflow-wrap: anywhere;
}
.footer-legal {
  display: flex;
  gap: 11px;
  align-items: center;
  flex: none;
  white-space: nowrap;
}
.footer-legal a:hover { color: #F5F0EA; }

/* 3. Detailed consent notice ONLY in the quick-inquiry modal. */
.modal-privacy-box {
  margin: 6px 0 2px;
  padding: 17px 18px 15px;
  border: 1px solid #F5F0EA;
  border-radius: 12px;
  background: #F5F0EA;
  color: #A61028;
  min-width: 0;
}
.privacy-box-title {
  display: block;
  font-size: 12px;
  line-height: 1.45;
  font-weight: 700;
  color: #A61028;
  margin-bottom: 11px;
}
.privacy-box-title span { color: #A61028; font-size: 11px; }
.privacy-box-details {
  margin: 0;
  display: grid;
  gap: 6px;
}
.privacy-box-details > div {
  display: grid;
  grid-template-columns: 75px minmax(0,1fr);
  gap: 10px;
  font-size: 11px;
  line-height: 1.65;
}
.privacy-box-details dt { font-weight: 700; color: #A61028; }
.privacy-box-details dd { margin: 0; color: #202020; word-break: keep-all; }
.privacy-box-details dd small { font-size: 10px; color: #A61028; }
.privacy-box-explain { font-size: 10px; line-height: 1.7; color: #202020; margin: 12px 0 7px; }
.privacy-box-link {
  display: inline-block;
  color: #A61028;
  text-decoration: underline;
  text-underline-offset: 3px;
  font-weight: 700;
  font-size: 11px;
  margin-bottom: 11px;
}
.modal-dialog .privacy-box-consent {
  display: flex !important;
  align-items: flex-start;
  gap: 9px;
  color: #202020 !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  line-height: 1.6;
  margin: 0;
}
.modal-dialog .privacy-box-consent input {
  flex: none;
  width: 16px;
  height: 16px;
  margin: 1px 0 0;
  accent-color: var(--forest);
}

@media (max-width: 1200px) {
  .footer-identity { flex-wrap: wrap; row-gap: 3px; }
  .footer-company { max-width: 780px; }
}
@media (max-width: 900px) {
  .hero-host h1 { font-size: clamp(29px, 3.75vw, 41px); }
  .footer-bottom { align-items: flex-start; }
  .footer-identity { gap: 4px 16px; }
}
@media (max-width: 640px) {
  /* Preserve two-column hero and a readable host heading. */
  .hero-host h1 {
    font-size: clamp(17px, 4.75vw, 28px);
    line-height: 1.48;
    margin: 14px 0 12px;
    letter-spacing: -.075em;
  }
  .footer-bottom { gap: 10px; }
  .footer-identity { flex-basis: 100%; align-items: flex-start; }
  /* Original site.css hides last-child spans on phones; restore new legal info. */
  .footer-copyright { display: inline-block !important; }
  .footer-copyright #year { display: inline !important; }
  .footer-company { display: block !important; font-size: 7px; line-height: 1.6; }
  .footer-legal { margin-left: 0; font-size: 8px; }
  .modal-privacy-box { padding: 14px 13px; }
  .privacy-box-details > div { grid-template-columns: 62px minmax(0,1fr); gap: 8px; font-size: 10px; }
  .privacy-box-title { font-size: 11px; }
}
/* Keep the modal close control accessible while the longer notice scrolls. */
.modal-dialog .modal-top {
  position: sticky;
  top: 0;
  z-index: 4;
  background: var(--paper);
  padding-bottom: 8px;
}
