/* Terrace Grill — legal / policy page (loads after styles.css) */

.policy-head{border-bottom:1px solid var(--line);padding:clamp(48px,7vw,88px) 0 clamp(32px,4vw,48px)}
.policy-head .label{margin-bottom:1rem}
.policy-head h1{font-size:clamp(1.8rem,4.4vw,2.75rem);font-weight:300;letter-spacing:3px;margin-bottom:1.25rem}
.policy-head p{max-width:60ch;color:var(--ink-60);margin:0}
.policy-head .policy-meta{
  margin:1.85rem 0 0;font-size:.7rem;line-height:1.9;text-transform:uppercase;
  letter-spacing:1.5px;color:var(--ink-40);
}

.policy{padding:clamp(48px,6vw,80px) 0 clamp(56px,7vw,96px)}
.policy-wrap{display:grid;grid-template-columns:230px 1fr;gap:clamp(32px,5vw,72px);align-items:start}

.policy-toc{position:sticky;top:120px}
.policy-toc h2{font-size:.7rem;letter-spacing:2px;color:var(--ink-40);margin-bottom:1rem}
.policy-toc li{padding:.4rem 0;border-bottom:1px solid var(--line-soft)}
.policy-toc a{font-size:.8rem;color:var(--ink-60)}
.policy-toc a:hover{color:var(--ink)}

.policy-body{max-width:70ch}
.policy-body section{padding-bottom:clamp(28px,3.5vw,40px)}
.policy-body h2{
  font-size:.95rem;letter-spacing:2px;font-weight:500;
  padding-bottom:.7rem;margin:0 0 1.15rem;border-bottom:1px solid var(--ink);
}
.policy-body h3{
  font-size:.78rem;letter-spacing:1.5px;font-weight:500;
  color:var(--ink-40);margin:1.75rem 0 .6rem;
}
.policy-body p,.policy-body li{font-size:.95rem;line-height:1.7;color:var(--ink-60)}
.policy-body ul{margin:0 0 1.15rem;padding-left:1.15rem;list-style:disc}
.policy-body li{padding:.25rem 0}
.policy-body strong{font-weight:500;color:var(--ink)}
.policy-body a{border-bottom:1px solid var(--line);color:var(--ink)}
.policy-body a:hover{border-color:var(--ink)}

.policy-table{width:100%;border-collapse:collapse;margin:0 0 1.5rem;font-size:.88rem}
.policy-table th,.policy-table td{
  text-align:left;vertical-align:top;padding:.8rem .9rem;
  border-bottom:1px solid var(--line-soft);color:var(--ink-60);
}
.policy-table th{
  font-size:.68rem;font-weight:500;text-transform:uppercase;letter-spacing:1.5px;
  color:var(--ink);border-bottom:1px solid var(--ink);
}
.policy-scroll{overflow-x:auto}

.policy-callout{
  border:1px solid var(--line);padding:clamp(20px,3vw,32px);margin:0 0 1.5rem;
  background:var(--paper-2);
}
.policy-callout p:last-child{margin-bottom:0}

@media (max-width:900px){
  .policy-wrap{grid-template-columns:1fr}
  .policy-toc{position:static;border-bottom:1px solid var(--line);padding-bottom:1.25rem}
  .policy-toc ul{columns:2;column-gap:2rem}
}
@media (max-width:560px){
  .policy-toc ul{columns:1}
}
