/* ═══════════════════════════════════════════════════════
   APAC Compute — legal pages (privacy / terms / acceptable-use / speak-up)
   토큰·nav·footer는 index.html과 동일하게 맞춤. footer를 고치면 index.html도 같이.
   ═══════════════════════════════════════════════════════ */
:root{
  --bg:#000;
  --fg:#f2f2f2;
  --body:#a8a8a8;
  --muted:#8a8a8a;
  --fg-dim:#9a9a9a;
  --champagne:#e0d4b8;
  --gold:#cdbeaa;
  --line:rgba(255,255,255,.10);
  --line-strong:rgba(255,255,255,.45);

  --nav-h:96px;
  --gutter:clamp(24px,6.67vw,128px);
  --maxw:1664px;

  --t-h2:clamp(30px,3.75vw,72px);
  --t-mono:clamp(10px,.6vw,11.5px);
  --t-mono-lg:clamp(11px,.73vw,14px);
  --t-label:clamp(14px,.83vw,16px);

  --ease:cubic-bezier(.16,1,.3,1);
  --ease-soft:cubic-bezier(.22,.66,.21,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;overflow-x:clip}
body{
  background:var(--bg);color:var(--body);
  font-family:"Geist",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
  font-weight:300;overflow-x:hidden;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
}
a{color:inherit;text-decoration:none}
.wrap{max-width:calc(var(--maxw) + var(--gutter)*2);margin:0 auto;padding-inline:var(--gutter)}
/* 소형 라벨 — 모노/와이드 트래킹 대신 Geist sans */
.mono{font-family:"Geist",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;font-weight:500;font-size:var(--t-label);letter-spacing:-.01em;line-height:1.3;color:var(--fg)}
.mono-lg{font-family:"Geist",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;font-weight:400;font-size:var(--t-label);letter-spacing:-.01em}
.rule{height:1px;background:rgba(255,255,255,.12)}

/* ───────── toast (메일 주소 복사) ───────── */
.toast{position:fixed;left:50%;bottom:32px;transform:translate(-50%,16px);z-index:80;
  padding:14px 22px;border:1px solid rgba(255,255,255,.35);background:rgba(0,0,0,.88);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  font-family:"Geist",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;font-size:14px;letter-spacing:0;color:var(--fg);
  opacity:0;pointer-events:none;transition:opacity .35s ease,transform .35s var(--ease-soft);
  max-width:calc(100vw - 32px);text-align:center}
.toast.show{opacity:1;transform:translate(-50%,0)}

/* ───────── nav ───────── */
.nav{position:fixed;inset:0 0 auto 0;z-index:50;height:var(--nav-h);display:flex;align-items:center;
  transition:background .45s ease,backdrop-filter .45s ease,border-color .45s ease,height .45s ease;
  border-bottom:1px solid transparent}
.nav.scrolled{height:80px;background:rgba(0,0,0,.72);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);border-bottom-color:var(--line)}
.nav .wrap{width:100%;display:flex;align-items:center;justify-content:space-between;gap:32px}
.logo svg{height:clamp(20px,1.82vw,35px);width:auto;display:block}
.nav-links{display:flex;gap:clamp(24px,2.5vw,48px)}
.nav-links a{font-family:"Geist",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;font-weight:400;font-size:clamp(13px,.78vw,15px);letter-spacing:-.01em;color:var(--muted);position:relative;padding-block:6px;transition:color .3s ease}
.nav-links a::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}
.nav-links a:hover{color:var(--fg)}
.nav-links a:hover::after{transform:scaleX(1);transform-origin:left}
.nav-cta{isolation:isolate;position:relative;overflow:hidden;display:inline-flex;align-items:center;font-family:"Geist",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;font-weight:500;font-size:clamp(13px,.78vw,15px);line-height:1.25;letter-spacing:-.01em;text-transform:uppercase;color:var(--fg);padding:12px 22px;border:1px solid var(--line-strong);transition:border-color .5s ease,color .5s ease}
.nav-cta::before{content:"";position:absolute;inset:0;background:var(--fg);transform:translateY(101%);transition:transform .6s var(--ease);z-index:-1}
.nav-cta:hover{border-color:var(--fg);color:#000}
.nav-cta:hover::before{transform:none}
.nav-toggle{display:none;position:relative;z-index:60;width:44px;height:44px;margin-right:-10px;
  background:none;border:0;cursor:pointer;align-items:center;justify-content:center}
.nav-toggle span{position:absolute;left:11px;width:22px;height:1px;background:var(--fg);
  transition:transform .5s var(--ease),opacity .3s ease}
.nav-toggle span:nth-child(1){transform:translateY(-4px)}
.nav-toggle span:nth-child(2){transform:translateY(4px)}
.menu-open .nav-toggle span:nth-child(1){transform:rotate(45deg)}
.menu-open .nav-toggle span:nth-child(2){transform:rotate(-45deg)}
.nav-panel{position:fixed;inset:0;z-index:55;display:flex;flex-direction:column;justify-content:center;
  gap:clamp(20px,4vh,34px);padding:0 var(--gutter);
  background:rgba(0,0,0,.94);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  opacity:0;visibility:hidden;transition:opacity .5s var(--ease),visibility .5s}
.menu-open .nav-panel{opacity:1;visibility:visible}
.menu-open .nav{z-index:60;background:none;backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom-color:transparent}
.nav-panel a{font-size:clamp(30px,9vw,44px);font-weight:300;color:var(--fg);letter-spacing:-.03em;
  opacity:0;transform:translateY(20px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.menu-open .nav-panel a{opacity:1;transform:none}
.menu-open .nav-panel a:nth-child(1){transition-delay:.12s}
.menu-open .nav-panel a:nth-child(2){transition-delay:.19s}
.menu-open .nav-panel a:nth-child(3){transition-delay:.26s}
.menu-open .nav-panel a:nth-child(4){transition-delay:.33s}
.nav-panel a:last-child{font-family:"Geist",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;font-weight:500;font-size:clamp(14px,3.8vw,16px);
  letter-spacing:-.01em;color:var(--champagne);margin-top:clamp(12px,3vh,24px)}
body.menu-open{overflow:hidden}

/* ───────── legal document ───────── */
.legal{position:relative;padding-top:calc(var(--nav-h) + clamp(48px,6vw,120px));padding-bottom:clamp(88px,7vw,140px)}
.legal::before{content:"";position:absolute;left:-20%;top:-30vh;width:min(1100px,110vw);aspect-ratio:1;pointer-events:none;
  background:radial-gradient(circle,rgba(224,212,184,.09) 0%,rgba(224,212,184,.03) 34%,rgba(0,0,0,0) 68%)}
.legal .wrap{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.55fr);gap:clamp(40px,6vw,128px);align-items:start}
.legal__head{position:sticky;top:calc(84px + clamp(32px,3vw,56px))}
.legal__head h1{font-weight:300;color:var(--fg);font-size:var(--t-h2);letter-spacing:-.035em;line-height:1.03;text-wrap:balance;max-width:12ch}
.legal__updated{display:block;margin-top:clamp(20px,2vw,36px);color:var(--muted);letter-spacing:0;font-size:var(--t-label)}
.nw{white-space:nowrap}

.legal__body{max-width:72ch;font-size:clamp(16px,1.04vw,19px);line-height:1.68;color:var(--body)}
.legal__body > * + *{margin-top:1.15em}
.legal__body p{text-wrap:pretty}
.legal__body strong{font-weight:400;color:var(--fg)}
.legal__body h2{font-weight:400;color:var(--fg);font-size:clamp(19px,1.36vw,25px);letter-spacing:-.015em;line-height:1.25;margin-top:2.2em}
.legal__body h2 + *{margin-top:.7em}
.legal__body a{color:var(--fg);text-decoration:underline;text-decoration-color:rgba(224,212,184,.55);
  text-decoration-thickness:1px;text-underline-offset:.22em;overflow-wrap:anywhere;transition:text-decoration-color .3s ease,color .3s ease}
.legal__body a:hover{color:var(--champagne);text-decoration-color:var(--champagne)}

/* 단락형 (Privacy): 볼드 리드인 + 행간 구분선 */
.legal__body .clauses > p{padding-top:1.15em;border-top:1px solid var(--line)}
.legal__body .clauses > p + p{margin-top:1.15em}

/* 번호 목록 (Terms / AUP) */
.legal__body ol{list-style:none;counter-reset:n}
.legal__body ol > li{counter-increment:n;position:relative;padding-left:3.2em}
.legal__body ol > li + li{margin-top:.95em}
.legal__body ol > li::before{content:counter(n) ".";position:absolute;left:0;top:.18em;
  font-weight:500;font-size:.85em;letter-spacing:0;color:var(--champagne);font-variant-numeric:tabular-nums}
.legal__body ol.alpha{counter-reset:a;margin-top:.7em}
.legal__body ol.alpha > li{counter-increment:a;padding-left:2.6em}
.legal__body ol.alpha > li + li{margin-top:.5em}
.legal__body ol.alpha > li::before{content:"(" counter(a,lower-alpha) ")";color:var(--muted)}

/* 불릿 목록 (Speak up) */
.legal__body ul{list-style:none}
.legal__body ul > li{position:relative;padding-left:2em}
.legal__body ul > li + li{margin-top:.6em}
.legal__body ul > li::before{content:"";position:absolute;left:0;top:.84em;width:.9em;height:1px;background:var(--champagne)}

/* ───────── footer (index.html과 동일) ───────── */
.footer{padding-block:clamp(64px,5.2vw,100px);border-top:1px solid var(--line)}
.footer__top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,240px) minmax(0,240px) minmax(0,302px);gap:clamp(28px,3vw,56px) 0}
.footer__brand svg{display:block;height:clamp(22px,1.875vw,36px);width:auto;margin-bottom:clamp(10px,.73vw,14px)}
.footer__brand p{font-size:clamp(14px,.94vw,18px);color:var(--muted);max-width:30em}
.footer__col h4{font-family:"Geist",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;font-size:14px;letter-spacing:-.01em;font-weight:500;color:var(--fg);margin-bottom:clamp(18px,1.5vw,29px)}
.footer__col a{display:block;font-size:clamp(14px,.94vw,18px);font-weight:400;line-height:1.25;color:var(--muted);margin-bottom:clamp(8px,.625vw,12px);transition:color .3s ease}
.footer__col a:hover{color:var(--fg)}
.footer__contact dl > div + div{margin-top:clamp(14px,1.05vw,20px)}
.footer__contact dt{font-size:14px;font-weight:400;letter-spacing:0;color:var(--muted);line-height:1.25;margin-bottom:4px}
.footer__contact dd a{margin:0;color:var(--muted);overflow-wrap:anywhere}
.footer__contact dd a:hover{color:var(--fg)}
.footer .rule{background:var(--line);margin-top:clamp(56px,5vw,96px)}
.footer__legal{display:flex;justify-content:space-between;align-items:baseline;gap:16px 40px;flex-wrap:wrap;margin-top:clamp(28px,2.5vw,48px)}
.footer__legal .l{display:flex;flex-wrap:wrap;gap:12px clamp(24px,2.5vw,48px)}
.footer__legal a,.footer__legal span{font-size:clamp(12px,.73vw,14px);font-weight:400;color:var(--muted)}
.footer__legal a{transition:color .3s ease}
.footer__legal a:hover,.footer__legal a[aria-current="page"]{color:var(--fg)}

/* ───────── responsive ───────── */
@media (max-width:1100px){
  .footer__top{grid-template-columns:1fr 1fr;row-gap:48px}
}
@media (max-width:960px){
  .legal .wrap{grid-template-columns:1fr}
  .legal__head{position:static}
  .legal__head h1{max-width:none}
}
@media (max-width:860px){
  .nav-links,.nav-cta{display:none}
  :root{--nav-h:92px}
  .nav.scrolled{height:72px}
  .nav-toggle{display:flex}
  .legal{padding-top:calc(var(--nav-h) + 32px);padding-bottom:76px}
  .legal__body ol > li{padding-left:2.4em}
  .legal__body ol.alpha > li{padding-left:2.3em}
  .footer__top{grid-template-columns:1fr 1fr;row-gap:40px;column-gap:20px}
  .footer__brand,.footer__contact{grid-column:1 / -1}
  .footer__brand p{max-width:30ch}
  .footer__legal{gap:14px 20px}
  .footer__legal .l{gap:12px 20px}
}
@media print{
  .nav,.footer,.toast{display:none}
  body{background:#fff;color:#000}
  .legal{padding:0}
  .legal .wrap{display:block}
  .legal__head h1,.legal__body strong,.legal__body h2,.legal__body a{color:#000}
}
