/* Sacred Spaces — shared styles for the legal / policy pages */
:root{
  --spruce:#1c2b26; --spruce-deep:#131e1a; --ink:#0e1512;
  --alabaster:#f6f2e9; --alabaster-soft:#efe9dc;
  --brass:#c9a468; --brass-deep:#a98550; --stone:#7f7a6c;
  --line:rgba(28,43,38,.16);
  --serif:'Cormorant Garamond', Georgia, serif;
  --sans:'Jost','Avenir Next',-apple-system,BlinkMacSystemFont,sans-serif;
}
*{box-sizing:border-box}
body{
  margin:0;background:var(--alabaster);color:var(--spruce);
  font-family:var(--sans);font-size:16px;font-weight:300;line-height:1.75;
  -webkit-font-smoothing:antialiased;
}
.wrap{max-width:760px;margin:0 auto;padding:0 24px}

/* header */
.legal-nav{background:var(--spruce-deep);padding:20px 0;position:sticky;top:0;z-index:10}
.legal-nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.legal-nav a.home{
  font-family:var(--serif);font-size:21px;color:var(--alabaster);text-decoration:none;letter-spacing:.02em;
}
.legal-nav a.home span{
  display:block;font-family:var(--sans);font-size:9px;letter-spacing:.34em;
  text-transform:uppercase;color:var(--brass);margin-top:3px;
}
.legal-nav .back{
  font-size:11px;letter-spacing:.2em;text-transform:uppercase;
  color:rgba(246,242,233,.6);text-decoration:none;border-bottom:1px solid transparent;padding-bottom:2px;
}
.legal-nav .back:hover{color:var(--brass);border-color:var(--brass)}

/* masthead */
.legal-head{background:var(--spruce);color:var(--alabaster);padding:64px 0 56px}
.legal-head .eyebrow{
  font-size:10px;letter-spacing:.34em;text-transform:uppercase;color:var(--brass);margin:0 0 18px;
}
.legal-head h1{
  font-family:var(--serif);font-weight:300;font-size:clamp(34px,6vw,52px);
  line-height:1.1;margin:0 0 18px;letter-spacing:.005em;
}
.legal-head .meta{font-size:13px;color:rgba(246,242,233,.55);margin:0}

/* body */
main{padding:56px 0 80px}
main h2{
  font-family:var(--serif);font-weight:400;font-size:26px;line-height:1.25;
  margin:52px 0 14px;padding-top:26px;border-top:1px solid var(--line);
}
main h2:first-of-type{margin-top:0;padding-top:0;border-top:none}
main h3{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--brass-deep);margin:30px 0 10px;font-weight:500}
main p{margin:0 0 16px}
main ul{margin:0 0 18px;padding-left:20px}
main li{margin-bottom:9px}
main a{color:var(--brass-deep);text-decoration:underline;text-underline-offset:2px}
main a:hover{color:var(--spruce)}
strong{font-weight:500;color:var(--ink)}

.lede{font-family:var(--serif);font-size:20px;line-height:1.65;color:#3c4b45;margin-bottom:34px}

.callout{
  background:#fff;border:1px solid var(--line);border-left:3px solid var(--brass);
  border-radius:0 10px 10px 0;padding:20px 24px;margin:26px 0;
}
.callout p:last-child{margin-bottom:0}
.callout .t{
  font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--brass-deep);
  margin-bottom:9px;font-weight:500;
}

table{width:100%;border-collapse:collapse;margin:20px 0;font-size:14.5px;display:block;overflow-x:auto}
th,td{text-align:left;padding:12px 14px 12px 0;border-bottom:1px solid var(--line);vertical-align:top}
th{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--stone);font-weight:500;white-space:nowrap}

/* table of contents */
.toc{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px 26px;margin-bottom:42px}
.toc .t{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--stone);margin-bottom:12px}
.toc ol{margin:0;padding-left:18px;font-size:14.5px}
.toc li{margin-bottom:6px}

/* footer */
footer{background:var(--ink);color:rgba(246,242,233,.5);padding:44px 0;font-size:12.5px}
footer .wrap{display:flex;flex-wrap:wrap;gap:10px 26px;align-items:center;justify-content:space-between}
footer a{color:rgba(246,242,233,.72);text-decoration:none}
footer a:hover{color:var(--brass)}
.foot-links{display:flex;flex-wrap:wrap;gap:8px 18px}

/* privacy request form */
.pr-form{background:#fff;border:1px solid var(--line);border-radius:12px;padding:28px;margin:28px 0}
.pr-form label{display:block;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--stone);margin:18px 0 7px}
.pr-form label:first-child{margin-top:0}
.pr-form input,.pr-form select,.pr-form textarea{
  width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:8px;
  background:var(--alabaster);color:var(--spruce);font-family:var(--sans);font-size:15px;
}
.pr-form textarea{min-height:96px;resize:vertical}
.pr-form input:focus,.pr-form select:focus,.pr-form textarea:focus{outline:none;border-color:var(--brass)}
.pr-form button{
  margin-top:22px;background:var(--spruce);color:var(--alabaster);border:none;border-radius:8px;
  padding:14px 30px;font-family:var(--sans);font-size:12px;letter-spacing:.2em;
  text-transform:uppercase;cursor:pointer;min-height:44px;
}
.pr-form button:hover{background:var(--brass-deep)}
.pr-form button:disabled{opacity:.55;cursor:default}
.pr-msg{display:none;margin-top:18px;padding:14px 16px;border-left:3px solid var(--brass);background:var(--alabaster-soft);font-size:14px}

@media (max-width:600px){
  body{font-size:15.5px}
  .legal-head{padding:44px 0 38px}
  main{padding:42px 0 60px}
  footer .wrap{flex-direction:column;align-items:flex-start}
}
