@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400&family=Inter:wght@300;400;500;600&display=swap');

html { scroll-behavior: smooth; }
body { background: #faf8f5; }
::selection { background: rgba(0,0,0,.08); }

.sidebar { scrollbar-width: none; }
.sidebar::-webkit-scrollbar { display: none; }

@media (max-width: 1023px) {
    .sidebar-overlay { display: none; position: fixed; inset: 0; background: rgba(0,0,0,.3); z-index: 40; }
    .sidebar-overlay.open { display: block; }
    .sidebar { transform: translateX(-100%); transition: transform .3s ease; }
    .sidebar.open { transform: translateX(0); }
}

.pill { transition: all .15s ease; }
.pill.active, .pill:hover { background: #1a1a1a; color: #fff; border-color: #1a1a1a; }

.pcard { border: 1px solid #efe9df; transition: box-shadow .25s ease, transform .25s ease; }
.pcard:hover { box-shadow: 0 8px 30px -10px rgba(0,0,0,.1); transform: translateY(-2px); }
.pcard .pimg img { transition: transform .4s ease; }
.pcard:hover .pimg img { transform: scale(1.04); }

.field { background: #fff; border: 1px solid #efe9df; transition: border-color .2s; }
.field:focus { border-color: #1a1a1a; outline: none; }

.fade { opacity: 0; transform: translateY(10px); transition: opacity .4s, transform .4s; }
.fade.show { opacity: 1; transform: none; }

.policy-body h2 { font-size: 1.25rem; font-weight: 600; color: #1a1a1a; margin-top: 2rem; margin-bottom: 0.75rem; }
.policy-body h3 { font-size: 1rem; font-weight: 600; color: #1a1a1a; margin-top: 1.5rem; margin-bottom: 0.5rem; }
.policy-body p { margin-bottom: 0.75rem; }
.policy-body ul { list-style: disc; padding-left: 1.5rem; margin-bottom: 0.75rem; }
.policy-body li { margin-bottom: 0.35rem; }
