/* ============================================================
   THE DEBORAH ACADEMY — SHARED STYLES FOR LEGAL & UTILITY PAGES
   (privacy-policy, terms-conditions, disclaimer, accessibility, 404)
   ============================================================ */
:root{
  --black:#0B0C0E; --ivory:#F9F4EF; --champagne:#D4B4A2; --gold:#C79A4A; --gold-deep:#6B4F1C; --espresso:#221D18; --rose:#E1CCC4;
  --serif:'Cormorant Garamond',Georgia,serif; --sans:'DM Sans',Arial,Helvetica,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box;}
body{background:var(--ivory); color:var(--espresso); font-family:var(--sans); -webkit-font-smoothing:antialiased;}
a{color:var(--gold-deep); text-decoration:none;}
a:hover{text-decoration:underline;}
header{background:var(--black); padding:26px 32px; display:flex; align-items:center; justify-content:space-between; gap:16px;}
.brand{font-family:var(--serif); color:var(--ivory); font-size:19px; letter-spacing:0.1em; text-transform:uppercase;}
header a.back{font-size:11.5px; letter-spacing:0.14em; text-transform:uppercase; color:var(--rose); font-weight:600;}
header a.back:hover{color:var(--gold); text-decoration:none;}
.legal-hero{padding:80px 32px 50px; text-align:center; border-bottom:1px solid rgba(199,154,74,0.25);}
.legal-hero .eyebrow{font-size:12px; letter-spacing:0.24em; text-transform:uppercase; color:var(--gold-deep); font-weight:600; margin-bottom:18px; display:block;}
.legal-hero h1{font-family:var(--serif); font-weight:500; font-size:clamp(2.2rem,5vw,3.4rem); margin-bottom:16px;}
.legal-hero .dates{font-size:13px; opacity:0.8;}
main{max-width:760px; margin:0 auto; padding:70px 32px 120px;}
main h2{font-family:var(--serif); font-weight:600; font-size:1.7rem; margin:52px 0 16px; color:var(--espresso); border-bottom:1px solid rgba(199,154,74,0.25); padding-bottom:12px;}
main h2:first-child{margin-top:0;}
main h3{font-family:var(--sans); font-weight:600; font-size:14px; letter-spacing:0.04em; margin:26px 0 10px;}
main p{font-size:16px; line-height:1.75; opacity:0.88; margin-bottom:14px;}
main ul{margin:10px 0 18px 22px;}
main li{font-size:16px; line-height:1.75; opacity:0.88; margin-bottom:6px;}
main a{text-decoration:underline; text-underline-offset:3px;}
.contact-block{margin-top:20px; padding:26px 28px; border:1px solid rgba(199,154,74,0.3); background:rgba(212,180,162,0.08);}
.contact-block p{margin-bottom:4px;}
.notice{margin:0 0 30px; padding:20px 24px; border-left:3px solid var(--gold); background:rgba(212,180,162,0.12);}
.notice p{margin-bottom:0; font-size:15px;}
.table-wrap{overflow-x:auto; margin:14px 0 22px; border:1px solid rgba(199,154,74,0.3);}
table{border-collapse:collapse; width:100%; min-width:560px; font-size:14.5px;}
th,td{text-align:left; padding:12px 14px; border-bottom:1px solid rgba(199,154,74,0.2); vertical-align:top; line-height:1.55;}
th{font-weight:600; background:rgba(212,180,162,0.18);}
tr:last-child td{border-bottom:none;}
footer{background:var(--black); color:var(--ivory); text-align:center; padding:50px 32px;}
footer .flinks{display:flex; justify-content:center; gap:26px; flex-wrap:wrap; font-size:12px; letter-spacing:0.08em; text-transform:uppercase; margin-bottom:20px;}
footer .flinks a{color:var(--rose); text-decoration:none;}
footer .flinks a:hover{color:var(--gold); text-decoration:underline;}
footer .fcopy{font-size:12px; color:var(--rose); opacity:0.75;}
.skip-link{
  position:absolute; top:-100px; left:16px; z-index:1000;
  background:var(--gold-deep); color:var(--ivory); padding:14px 22px;
  font-family:var(--sans); font-size:13px; font-weight:600; letter-spacing:0.04em;
  text-decoration:none; border-radius:2px; transition:top .2s ease;
}
.skip-link:focus{top:16px;}
a:focus-visible, button:focus-visible{outline:2px solid var(--gold-deep); outline-offset:3px;}
footer a:focus-visible{outline-color:var(--gold);}
header a:focus-visible{outline-color:var(--gold);}
.nf-actions{margin-top:30px;}
.nf-actions a{display:inline-block; border:1px solid var(--gold); padding:16px 28px; font-size:12px; letter-spacing:0.18em; text-transform:uppercase; font-weight:600; color:var(--espresso); text-decoration:none;}
.nf-actions a:hover{background:var(--gold); color:var(--black);}
@media (max-width:600px){
  header{padding:22px 20px;} main{padding:50px 20px 90px;} .legal-hero{padding:60px 20px 40px;}
  .brand{font-size:16px;}
}
@media (prefers-reduced-motion: reduce){ *{transition-duration:0.001ms !important; scroll-behavior:auto !important;} }
