:root { color-scheme:light; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:#fbfaf9; color:#1a1a1a; font-family:'Jost',sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; }
.topbar { background:#1a1a1a; color:#f3f1ee; }
.shell { width:calc(100% - 96px); max-width:1280px; margin:0 auto; }
.topbar .shell { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:14px 0; font-size:12px; letter-spacing:.12em; text-transform:uppercase; }
.site-header { border-bottom:1px solid #ececea; background:rgba(251,250,249,.92); }
.site-header .shell { display:flex; align-items:center; justify-content:space-between; gap:32px; padding:20px 0; }
.brand img { display:block; width:auto; height:66px; }
.back-link { font-size:11px; font-weight:500; letter-spacing:.18em; text-decoration:none; text-transform:uppercase; }
.back-link:hover { text-decoration:underline; text-underline-offset:4px; }
.intro { border-bottom:1px solid #e2dfda; padding:84px 0 72px; }
.eyebrow { margin:0 0 18px; color:#7d7d78; font-size:12px; letter-spacing:.3em; text-transform:uppercase; }
h1 { max-width:760px; margin:0; font-family:'Cormorant Garamond',serif; font-size:64px; font-weight:300; letter-spacing:.01em; line-height:1; }
.intro p { max-width:640px; margin:22px 0 0; color:#4c4c48; font-size:17px; line-height:1.75; }
.legal-content { width:calc(100% - 96px); max-width:1280px; margin:0 auto; padding:80px 0 120px; }
.legal-content h2 { margin:52px 0 15px; font-family:'Cormorant Garamond',serif; font-size:34px; font-weight:400; line-height:1.1; }
.legal-content h2:first-child { margin-top:0; }
.legal-content h3 { margin:30px 0 10px; font-size:13px; letter-spacing:.16em; text-transform:uppercase; }
.legal-content p, .legal-content li { color:#3d3d3a; font-size:16px; line-height:1.75; }
.legal-content p { margin:0 0 16px; }
.legal-content ul { margin:0 0 16px; padding-left:22px; }
.legal-content a { text-underline-offset:3px; }
.legal-grid { display:grid; grid-template-columns:1fr 1fr; gap:1px; margin:32px 0 16px; background:#d9d6d1; border:1px solid #d9d6d1; }
.legal-card { padding:34px; background:#f2efec; }
.legal-card:nth-child(even) { background:#f8f7f5; }
.legal-card h3 { margin-top:0; }
.legal-card p:last-child { margin-bottom:0; }
.notice { margin-top:34px; padding:26px 28px; border-left:2px solid #1a1a1a; background:#f2efec; }
.notice p { margin:0; }
.site-footer { background:#1a1a1a; color:#cfcdc9; }
.site-footer .shell { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:34px 0; color:#aaa7a2; font-size:11px; letter-spacing:.11em; }
.site-footer nav { display:flex; flex-wrap:wrap; gap:18px; }
.site-footer a { text-decoration:none; }
.site-footer a:hover, .site-footer a[aria-current="page"] { color:#f3f1ee; text-decoration:underline; text-underline-offset:4px; }
@media (max-width:760px) {
  .shell, .legal-content { width:100%; }
  .topbar .shell { display:block; padding:12px 22px; text-align:center; font-size:10px; line-height:1.6; }
  .topbar .shell span + span { display:block; margin-top:4px; }
  .site-header .shell { padding:16px 22px; }
  .brand img { height:54px; }
  .back-link { font-size:10px; letter-spacing:.13em; }
  .intro { padding:62px 22px 54px; }
  h1 { font-size:42px; }
  .intro p { font-size:16px; }
  .legal-content { padding:54px 22px 80px; }
  .legal-content h2 { margin-top:42px; font-size:30px; }
  .legal-content p, .legal-content li { font-size:15px; }
  .legal-grid { grid-template-columns:1fr; }
  .legal-card { padding:26px 24px; }
  .site-footer .shell { flex-direction:column; padding:28px 22px; text-align:center; line-height:1.5; }
  .site-footer nav { justify-content:center; }
}
