:root {
  color-scheme: light;
  --field: #b92e00;
  --paper: #ffffff;
  --black: #15110f;
  --acid: #d9ff43;
  --ink-readable: rgba(255, 255, 255, 0.88);
  --paper-ink-soft: rgba(21, 17, 15, 0.64);
  --line-light: rgba(255, 255, 255, 0.4);
  --line-dark: rgba(21, 17, 15, 0.22);
  --page: min(100%, 1920px);
  --side: clamp(18px, 3.9vw, 56px);
  --type-page: clamp(3rem, 6vw, 5.5rem);
  --type-section: clamp(1.75rem, 2.8vw, 2.5rem);
  --type-title: clamp(1.25rem, 1.65vw, 1.5rem);
  --type-lead: clamp(1rem, 1.2vw, 1.125rem);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--field); }
body { margin: 0; overflow-x: hidden; background: var(--paper); color: var(--black); font-family: "Helvetica Neue", Pretendard, -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans KR", sans-serif; font-size: 16px; line-height: 1.65; text-rendering: geometricPrecision; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
button { color: inherit; font: inherit; }
::selection { background: var(--acid); color: var(--black); }
:focus-visible { outline: 3px solid var(--acid); outline-offset: 4px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.texture-field { background-color: var(--field); background-image: radial-gradient(circle, rgba(255,255,255,.095) .55px, transparent .7px), repeating-linear-gradient(0deg, transparent 0 3px, rgba(21,17,15,.07) 3px 4px); background-size: 3px 3px, 100% 4px; }

.page-header { position: relative; z-index: 50; display: flex; width: var(--page); height: 59px; margin: 0 auto; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line-dark); background: var(--paper); }
.page-wordmark { display: flex; min-height: 44px; align-items: center; padding-inline: var(--side); font-size: 22px; font-weight: 500; letter-spacing: -.03em; }
.page-header nav { display: flex; height: 100%; align-items: center; gap: 24px; }
.page-header nav > a { position: relative; display: flex; min-height: 44px; align-items: center; font-size: 16px; }
.page-header nav > a:not(.nav-contact)::after { content: ""; position: absolute; right: 0; bottom: 7px; left: 0; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: right; transition: transform 220ms cubic-bezier(.2,.8,.2,1); }
.page-header nav > a:hover::after, .page-header nav > a:focus-visible::after { transform: scaleX(1); transform-origin: left; }
.nav-contact { height: 100%; padding: 0 20px; background: var(--acid); font-weight: 600; }
.page-menu { display: none; }

.page-masthead { position: relative; width: var(--page); min-height: clamp(520px, 68vh, 760px); margin: 0 auto; padding-inline: var(--side); border-bottom: 1px solid var(--line-light); color: var(--paper); }
.page-masthead::before, .page-masthead::after, .daal-privacy-section::before, .daal-privacy-section::after { content: ""; position: absolute; inset-block: 0; width: 1px; background: currentColor; opacity: .4; pointer-events: none; }
.page-masthead::before, .daal-privacy-section::before { left: var(--side); }
.page-masthead::after, .daal-privacy-section::after { right: var(--side); }
.page-masthead-grid { display: grid; min-height: inherit; grid-template-columns: minmax(0,1.55fr) minmax(300px,.65fr); gap: clamp(48px,7vw,112px); align-items: end; padding: clamp(88px,11vw,164px) 0 clamp(48px,6vw,84px); }
.page-masthead h1 { max-width: 8ch; margin: 0; font-size: var(--type-page); font-weight: 500; line-height: 1.04; letter-spacing: -.03em; word-break: keep-all; }
.page-masthead p { max-width: 35ch; margin: 0; padding-bottom: 8px; color: var(--ink-readable); font-size: var(--type-lead); line-height: 1.65; word-break: keep-all; }

.daal-privacy-section { position: relative; width: var(--page); margin: 0 auto; padding: clamp(84px,9vw,144px) var(--side) clamp(110px,12vw,190px); background: var(--paper); color: var(--black); }
.daal-privacy-layout { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(190px,.3fr) minmax(0,1fr); gap: clamp(48px,7vw,112px); }
.daal-privacy-nav { position: sticky; top: 32px; align-self: start; }
.daal-privacy-nav > span { display: block; margin-bottom: 18px; color: var(--field); font-size: .72rem; font-weight: 700; letter-spacing: .12em; }
.daal-privacy-nav ol { display: grid; margin: 0; padding: 0; border-top: 1px solid var(--black); list-style: none; }
.daal-privacy-nav a { display: grid; grid-template-columns: 30px 1fr; gap: 10px; padding: 13px 0; border-bottom: 1px solid var(--line-dark); color: var(--paper-ink-soft); font-size: .8125rem; line-height: 1.45; }
.daal-privacy-nav a span { color: var(--field); font-variant-numeric: tabular-nums; }
.daal-privacy-nav a:hover { color: var(--black); }
.daal-privacy-content { min-width: 0; max-width: 1040px; }
.daal-privacy-intro { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 32px; align-items: start; margin-bottom: 18px; padding: clamp(24px,3vw,38px); background: var(--black); color: var(--paper); }
.daal-privacy-intro p { max-width: 68ch; margin: 0; color: var(--ink-readable); font-size: .9375rem; line-height: 1.75; }
.daal-privacy-intro strong { font-size: .75rem; letter-spacing: .02em; white-space: nowrap; }
.daal-privacy-article { scroll-margin-top: 32px; padding: clamp(40px,5vw,70px) 0; border-bottom: 1px solid var(--line-dark); }
.daal-privacy-article h2 { max-width: 26ch; margin: 0 0 28px; font-size: var(--type-title); font-weight: 600; line-height: 1.2; letter-spacing: -.02em; word-break: keep-all; }
.daal-privacy-article h3 { margin: 32px 0 12px; font-size: 1rem; font-weight: 700; }
.daal-privacy-article p, .daal-privacy-article li { max-width: 72ch; color: var(--paper-ink-soft); font-size: .9375rem; line-height: 1.75; word-break: keep-all; }
.daal-privacy-article p { margin: 0; }
.daal-privacy-article p + p { margin-top: 14px; }
.daal-privacy-article ul { display: grid; gap: 8px; margin: 0 0 18px; padding-left: 20px; }
.daal-privacy-article strong { color: var(--black); }
.daal-privacy-article a { color: var(--black); text-decoration: underline; text-underline-offset: 4px; }
.daal-table-scroll-hint { display: none; margin-bottom: 10px !important; font-size: .75rem !important; }
.daal-privacy-table-wrap { max-width: 100%; margin: 20px 0 24px; overflow-x: auto; border: 1px solid var(--line-dark); background: var(--paper); -webkit-overflow-scrolling: touch; }
.daal-privacy-table { width: 100%; min-width: 700px; border-collapse: collapse; text-align: left; }
.daal-privacy-table th, .daal-privacy-table td { padding: 16px; border-right: 1px solid var(--line-dark); border-bottom: 1px solid var(--line-dark); vertical-align: top; font-size: .8125rem; line-height: 1.65; }
.daal-privacy-table th { background: var(--black); color: var(--paper); font-weight: 600; }
.daal-privacy-table td { color: var(--paper-ink-soft); }
.daal-privacy-table th:last-child, .daal-privacy-table td:last-child { border-right: 0; }
.daal-privacy-table tr:last-child td { border-bottom: 0; }
.daal-privacy-note { max-width: 72ch; margin-top: 24px; padding: 20px 22px; border-left: 5px solid var(--acid); background: rgba(21,17,15,.055); }
.daal-privacy-note strong { display: block; margin-bottom: 4px; font-size: .875rem; }
.daal-privacy-note p { font-size: .875rem; }
.daal-privacy-tool { display: flex; align-items: center; justify-content: space-between; gap: 24px; max-width: 72ch; margin-top: 24px; padding: 22px; border: 1px solid var(--line-dark); }
.daal-privacy-tool p { margin: 0; }
.daal-privacy-status { min-height: 20px; margin-top: 6px !important; color: var(--field) !important; font-size: .8125rem !important; }
.daal-privacy-clear { min-height: 46px; padding: 0 18px; border: 1px solid var(--black); border-radius: 0; background: transparent; cursor: pointer; font-size: .8125rem; font-weight: 700; white-space: nowrap; }
.daal-privacy-clear:hover { background: var(--black); color: var(--paper); }

.site-footer { display: grid; width: var(--page); grid-template-columns: 1fr 1fr 1fr; gap: 32px; align-items: end; margin: 0 auto; padding: 32px var(--side); border-top: 1px solid var(--line-light); color: var(--paper); font-size: .8125rem; line-height: 1.5; }
.site-footer > a { font-size: 1rem; font-weight: 700; letter-spacing: -.02em; }
.site-footer p { margin: 0; color: var(--ink-readable); }
.site-footer div { display: flex; gap: 24px; justify-content: flex-end; color: var(--ink-readable); }
.kakao-float { position: fixed; right: 18px; bottom: 18px; z-index: 40; display: grid; min-width: 58px; min-height: 44px; place-items: center; padding: 0 12px; border: 1px solid var(--black); background: var(--acid); color: var(--black); font-size: .6875rem; font-weight: 700; letter-spacing: .08em; }

@media (max-width: 1023px) {
  .page-header nav { gap: 18px; }
  .page-masthead-grid { grid-template-columns: 1fr; gap: 32px; align-content: end; }
  .page-masthead p { max-width: 48ch; }
  .daal-privacy-layout { grid-template-columns: 1fr; gap: 50px; }
  .daal-privacy-nav { position: static; }
  .daal-privacy-nav ol { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .daal-privacy-nav li:nth-child(odd) a { padding-right: 16px; border-right: 1px solid var(--line-dark); }
  .daal-privacy-nav li:nth-child(even) a { padding-left: 16px; }
  .daal-privacy-content { max-width: none; }
}

@media (max-width: 720px) {
  :root { --side: 16px; --type-page: clamp(2.875rem,12vw,3.25rem); }
  .page-header { padding-inline: 16px; }
  .page-wordmark { padding: 0; font-size: 20px; }
  .page-menu { display: grid; width: 44px; height: 44px; place-items: center; border: 0; background: transparent; cursor: pointer; }
  .page-menu i, .page-menu i::before, .page-menu i::after { display: block; width: 22px; height: 1px; background: var(--black); }
  .page-menu i { position: relative; }
  .page-menu i::before, .page-menu i::after { content: ""; position: absolute; left: 0; }
  .page-menu i::before { top: -6px; }
  .page-menu i::after { top: 6px; }
  .page-header nav { position: absolute; top: 59px; right: 0; left: 0; display: none; height: auto; align-items: stretch; gap: 0; padding: 8px 16px 16px; border-bottom: 1px solid var(--line-dark); background: var(--paper); }
  .page-header nav.is-open { display: grid; }
  .page-header nav > a { min-height: 52px; border-bottom: 1px solid var(--line-dark); }
  .page-header nav > a::after { display: none !important; }
  .page-header .nav-contact { justify-content: center; border: 1px solid var(--black); }
  .page-masthead { min-height: 600px; }
  .page-masthead-grid { gap: 54px; padding: 96px 0 54px; }
  .page-masthead h1 { max-width: none; }
  .daal-privacy-section { padding-top: 72px; }
  .daal-privacy-layout { gap: 42px; }
  .daal-privacy-nav ol { grid-template-columns: 1fr; }
  .daal-privacy-nav li:nth-child(odd) a, .daal-privacy-nav li:nth-child(even) a { padding-inline: 0; border-right: 0; }
  .daal-privacy-intro { grid-template-columns: 1fr; gap: 20px; }
  .daal-privacy-article { padding: 44px 0; }
  .daal-table-scroll-hint { display: block; }
  .daal-privacy-tool { align-items: stretch; flex-direction: column; }
  .daal-privacy-clear { width: 100%; }
  .site-footer { grid-template-columns: 1fr; gap: 14px; }
  .site-footer div { justify-content: flex-start; flex-wrap: wrap; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
