.policy-page { background:var(--color-bg, #fdfaf7); color:var(--color-text-primary, #340815); }
.policy-header { background:#fff; border-bottom:1px solid var(--color-border-light); }
.policy-header__inner { min-height:var(--header-height); display:flex; align-items:center; justify-content:space-between; gap:var(--space-8); }
.policy-header__logo img { width:128px; height:52px; object-fit:contain; }
.policy-header__nav { display:flex; align-items:center; gap:var(--space-7); font-size:var(--text-sm); }
.policy-header__nav a { color:var(--color-text-primary); }
.policy-header__nav a:hover, .policy-header__nav a:focus-visible { color:var(--color-primary); }
.policy-hero { background:#4e0f22; color:#fff6e5; padding:80px 0; text-align:center; }
.policy-hero .eyebrow { margin-bottom:var(--space-3); color:#fff6e5; }
.policy-hero h1 { margin:0; font-family:var(--font-display); font-size:clamp(2.75rem, 6vw, 4.5rem); font-weight:400; line-height:1.05; }
.policy-hero p { max-width:680px; margin:var(--space-4) auto 0; color:rgba(255,246,229,.82); }
.policy-content { padding:80px 0; }
.policy-layout { display:grid; grid-template-columns:minmax(0, 240px) minmax(0, 760px); justify-content:center; gap:80px; align-items:start; }
.policy-toc { position:sticky; top:24px; padding:var(--space-6); background:#fff; border:1px solid var(--color-border-light); border-radius:var(--radius-xl); }
.policy-toc strong { display:block; margin-bottom:var(--space-4); font-size:var(--text-xs); text-transform:uppercase; letter-spacing:.14em; }
.policy-toc a { display:block; padding:7px 0; color:var(--color-text-secondary); font-size:var(--text-sm); }
.policy-toc a:hover, .policy-toc a:focus-visible { color:var(--color-primary); }
.policy-article { min-width:0; }
.policy-updated { margin:0 0 var(--space-8); color:var(--color-text-tertiary); font-size:var(--text-sm); }
.policy-section + .policy-section { margin-top:80px; }
.policy-section h2 { margin:0 0 var(--space-5); font-family:var(--font-display); font-size:clamp(2rem, 4vw, 2.75rem); font-weight:400; line-height:1.15; }
.policy-section h3 { margin:var(--space-6) 0 var(--space-3); font-size:var(--text-lg); }
.policy-section p, .policy-section li { color:var(--color-text-secondary); line-height:1.8; }
.policy-section p + p { margin-top:var(--space-4); }
.policy-section ul { margin:var(--space-4) 0 0; padding-left:1.25rem; }
.policy-section li + li { margin-top:var(--space-2); }
.policy-note { margin-top:var(--space-6); padding:var(--space-5); border-left:3px solid var(--color-primary); background:#fff; border-radius:0 var(--radius-lg) var(--radius-lg) 0; }
.policy-contact { color:var(--color-primary); text-decoration:underline; text-underline-offset:3px; }
.policy-footer { background:#4e0f22; color:#fff; padding:56px 0; }
.policy-footer__inner { display:flex; align-items:flex-start; justify-content:space-between; gap:var(--space-8); }
.policy-footer__brand img { width:130px; height:52px; object-fit:contain; filter:brightness(0) invert(1); }
.policy-footer__links { display:flex; flex-wrap:wrap; gap:var(--space-5); font-size:var(--text-sm); }
.policy-footer__links a { color:#fff; }
.policy-footer__links a:hover, .policy-footer__links a:focus-visible { color:#fff6e5; text-decoration:underline; }
.policy-footer small { display:block; margin-top:var(--space-3); color:rgba(255,255,255,.7); }
@media(max-width:768px){
  .policy-header__inner { min-height:var(--header-height-mobile); }
  .policy-header__nav a:not(:last-child) { display:none; }
  .policy-hero, .policy-content { padding:48px 0; }
  .policy-layout { grid-template-columns:1fr; gap:48px; }
  .policy-toc { position:static; }
  .policy-section + .policy-section { margin-top:48px; }
  .policy-footer__inner { flex-direction:column; }
}
