:root{
  --background:#f5f5f0;
  --foreground:#1a1915;
  --primary:#c97856;
  --primary-dark:#b56845;
  --secondary:#e8e4de;
  --border:#d4d0c8;
  --card:#ffffff;
  --muted-foreground:#6b6860;
  --radius:0.75rem;
}

*{margin:0;padding:0;box-sizing:border-box}

html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}

body{
  font-family:"Geist",system-ui,-apple-system,sans-serif;
  background:var(--background);
  color:var(--foreground);
  font-size:16px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  padding-top:64px;
}

.policy-header{
  position:fixed;
  top:0;left:0;right:0;
  height:64px;
  background:rgba(245,245,240,0.92);
  backdrop-filter:saturate(180%) blur(12px);
  -webkit-backdrop-filter:saturate(180%) blur(12px);
  border-bottom:1px solid var(--border);
  z-index:1000;
  display:flex;align-items:center;
}

.policy-header .container{
  width:100%;
  max-width:64rem;
  margin:0 auto;
  padding:0 1.5rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
}

.policy-brand{
  font-family:"Geist Mono",ui-monospace,monospace;
  font-size:14px;
  color:var(--muted-foreground);
  text-decoration:none;
  letter-spacing:-0.01em;
}
.policy-brand strong{color:var(--foreground);font-weight:700;}

.policy-back{
  display:inline-flex;
  align-items:center;
  gap:0.5rem;
  padding:0.55rem 1rem;
  font-family:"Geist Mono",ui-monospace,monospace;
  font-size:13px;
  font-weight:600;
  color:var(--card);
  background:var(--foreground);
  border:1px solid var(--foreground);
  border-radius:var(--radius);
  text-decoration:none;
  transition:transform 0.15s ease, background 0.15s ease;
}
.policy-back:hover{
  background:var(--primary);
  border-color:var(--primary);
  transform:translateY(-1px);
}

.policy-wrap{
  max-width:44rem;
  margin:0 auto;
  padding:3rem 1.5rem 6rem;
}

.policy-wrap h1{
  font-family:"Geist Mono",ui-monospace,monospace;
  font-size:clamp(2rem,4vw,2.75rem);
  font-weight:700;
  letter-spacing:-0.02em;
  line-height:1.15;
  margin-bottom:0.5rem;
}
.policy-meta{
  font-family:"Geist Mono",ui-monospace,monospace;
  font-size:13px;
  color:var(--muted-foreground);
  margin-bottom:2.5rem;
}

.policy-wrap h2{
  font-family:"Geist Mono",ui-monospace,monospace;
  font-size:1.25rem;
  font-weight:700;
  margin-top:2.5rem;
  margin-bottom:0.75rem;
  letter-spacing:-0.01em;
}

.policy-wrap h2::before{
  content:"# ";
  color:var(--primary);
}

.policy-wrap p,
.policy-wrap li{
  margin-bottom:0.9rem;
  color:#2a2821;
}

.policy-wrap ul,
.policy-wrap ol{
  padding-left:1.4rem;
  margin-bottom:1rem;
}

.policy-wrap a{
  color:var(--primary-dark);
  text-decoration:underline;
  text-underline-offset:2px;
}
.policy-wrap a:hover{color:var(--primary);}

.policy-wrap strong{color:var(--foreground);}

.policy-wrap .note{
  background:var(--card);
  border:1px solid var(--border);
  border-left:3px solid var(--primary);
  padding:1rem 1.25rem;
  border-radius:var(--radius);
  font-size:14.5px;
  margin:1.5rem 0;
}

.policy-wrap hr{
  border:0;
  border-top:1px dashed var(--border);
  margin:3rem 0 2rem;
}

.policy-footer{
  margin-top:3rem;
  padding-top:1.5rem;
  border-top:1px solid var(--border);
  font-family:"Geist Mono",ui-monospace,monospace;
  font-size:13px;
  color:var(--muted-foreground);
}

@media (max-width:640px){
  .policy-header{height:56px;}
  body{padding-top:56px;}
  .policy-brand{display:none;}
  .policy-back{width:100%;justify-content:center;}
  .policy-wrap{padding:2rem 1.25rem 4rem;}
}
