@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Italiana&family=Playfair+Display:wght@500;600&display=swap');

:root{
  --ink:#1c2a22;
  --forest:#173328;
  --sage:#6f8074;
  --paper:#fffdf9;
  --cream:#f4f1ea;
  --line:#deddd7;
  --rose:#aa786f;
  --notice:#f8efe4;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ink);
  background:var(--cream);
  font-family:"DM Sans",Arial,sans-serif;
  font-size:15px;
  line-height:1.72;
}
a{color:#315b48}
.legal-header{
  position:sticky;
  z-index:20;
  top:0;
  min-height:72px;
  padding:0 clamp(20px,5vw,72px);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  border-bottom:1px solid #e7e7e2;
  background:#fff;
}
.legal-brand{
  display:inline-flex;
  align-items:center;
  gap:11px;
  color:var(--ink);
  text-decoration:none;
  font-size:12px;
  font-weight:600;
  letter-spacing:.22em;
  white-space:nowrap;
}
.legal-brand i{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border:1px solid currentColor;
  border-radius:50%;
  font:500 20px/1 "Playfair Display",Georgia,serif;
  letter-spacing:0;
}
.legal-header nav{display:flex;align-items:center;gap:22px}
.legal-header nav a{color:#536158;text-decoration:none;font-size:12px}
.legal-header .legal-cta{
  padding:10px 15px;
  border-radius:13px;
  background:var(--forest);
  color:#fff;
  font-weight:600;
}
.legal-hero{
  padding:clamp(65px,9vw,118px) 24px clamp(54px,7vw,88px);
  border-bottom:1px solid var(--line);
  background-color:var(--paper);
  background-image:
    linear-gradient(90deg,rgba(255,253,249,.98) 0%,rgba(255,253,249,.94) 43%,rgba(255,253,249,.36) 72%,rgba(255,253,249,0) 100%),
    url("assets/legal-botanical-hero-v2.webp");
  background-position:center,right center;
  background-size:cover,cover;
  background-repeat:no-repeat;
}
.legal-hero>div{width:min(950px,100%);margin:auto}
.legal-kicker{
  margin:0 0 14px;
  color:#77877c;
  font-size:11px;
  font-weight:600;
  letter-spacing:.2em;
}
.legal-hero h1{
  max-width:760px;
  margin:0;
  font:500 clamp(43px,6vw,76px)/1.06 "Playfair Display",Georgia,serif;
  letter-spacing:-.035em;
}
.legal-hero .legal-summary{max-width:720px;margin:22px 0 0;color:#5f6b64;font-size:17px}
.legal-updated{display:block;margin-top:23px;color:#7b847f;font-size:12px}
.legal-shell{
  width:min(1180px,calc(100% - 40px));
  margin:0 auto;
  padding:58px 0 100px;
  display:grid;
  grid-template-columns:245px minmax(0,760px);
  justify-content:space-between;
  gap:70px;
}
.legal-nav{position:sticky;top:102px;align-self:start}
.legal-nav>span{display:block;margin-bottom:13px;color:#7b887f;font-size:10px;font-weight:600;letter-spacing:.17em}
.legal-nav a{
  display:block;
  padding:10px 12px;
  border-radius:10px;
  color:#5c6861;
  text-decoration:none;
  font-size:13px;
}
.legal-nav a:hover,.legal-nav a[aria-current="page"]{background:#fff;color:var(--forest);box-shadow:0 7px 24px #1831260a}
.legal-content{min-width:0}
.legal-content section{scroll-margin-top:105px;margin:0 0 48px}
.legal-content h2{
  margin:0 0 15px;
  padding-top:6px;
  font:500 29px/1.25 "Playfair Display",Georgia,serif;
  letter-spacing:-.015em;
}
.legal-content h3{margin:28px 0 9px;font-size:16px;line-height:1.35}
.legal-content p{margin:0 0 14px;color:#3f4c45}
.legal-content ul,.legal-content ol{margin:12px 0 17px;padding-left:21px}
.legal-content li{margin:8px 0;color:#3f4c45}
.legal-content strong{color:#17271f}
.legal-callout{
  margin:22px 0;
  padding:19px 21px;
  border:1px solid #e4d4c4;
  border-radius:16px;
  background:var(--notice);
}
.legal-callout strong{display:block;margin-bottom:5px}
.legal-table-wrap{overflow:auto;margin:18px 0 22px;border:1px solid var(--line);border-radius:16px;background:#fff}
.legal-table{width:100%;min-width:610px;border-collapse:collapse}
.legal-table th,.legal-table td{padding:14px 16px;text-align:left;vertical-align:top;border-bottom:1px solid #e8e6e0}
.legal-table tr:last-child td{border-bottom:0}
.legal-table th{background:#f8f6f1;color:#5c6861;font-size:11px;letter-spacing:.06em}
.legal-table td{font-size:13px;line-height:1.55}
.legal-contact{
  padding:24px;
  border-radius:18px;
  background:var(--forest);
  color:#fff;
}
.legal-contact h2,.legal-contact p,.legal-contact a,.legal-contact strong{color:#fff}
.legal-contact p:last-child{margin-bottom:0}
.operator-placeholder{
  display:inline-block;
  padding:1px 6px;
  border-radius:5px;
  background:#fff1bb;
  color:#55430f;
  font-weight:600;
}
.legal-footer{
  padding:48px clamp(20px,6vw,84px) 28px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:30px;
  background:var(--forest);
  color:#fff;
}
.legal-footer p{margin:15px 0 0;color:#aebbb3;font:500 16px/1.5 "Playfair Display",Georgia,serif}
.legal-footer nav{display:flex;flex-wrap:wrap;align-content:center;justify-content:flex-end;gap:13px 22px}
.legal-footer nav a{color:#cbd4ce;text-decoration:none;font-size:12px}
.legal-footer small{grid-column:1/-1;padding-top:22px;border-top:1px solid #ffffff1c;color:#91a097;font-size:10px}
@media(max-width:820px){
  .legal-header nav a:not(.legal-cta){display:none}
  .legal-shell{grid-template-columns:1fr;gap:34px}
  .legal-nav{position:static;display:flex;flex-wrap:wrap;gap:7px}
  .legal-nav>span{width:100%;margin-bottom:2px}
  .legal-nav a{padding:8px 10px;background:#fff}
}
@media(max-width:560px){
  body{font-size:14px}
  .legal-header{min-height:64px;padding-inline:15px}
  .legal-brand b{font-size:10px}
  .legal-brand i{width:31px;height:31px}
  .legal-header .legal-cta{padding:9px 12px;font-size:11px}
  .legal-hero{
    padding:55px 20px 48px;
    background-image:
      linear-gradient(90deg,rgba(255,253,249,1) 0%,rgba(255,253,249,.97) 58%,rgba(255,253,249,.72) 100%),
      url("assets/legal-botanical-hero-v2.webp");
    background-position:center,right center;
    background-size:cover,auto 100%;
  }
  .legal-hero h1{font-size:42px}
  .legal-hero .legal-summary{font-size:15px}
  .legal-shell{width:calc(100% - 32px);padding:38px 0 70px}
  .legal-content h2{font-size:25px}
  .legal-callout{padding:17px}
  .legal-footer{grid-template-columns:1fr;text-align:center;justify-items:center}
  .legal-footer nav{justify-content:center}
  .legal-footer small{width:100%}
}

/* Keep the Our Invite mark identical to the crisp builder wordmark. */
.legal-brand{
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-width:max-content;
  color:var(--ink);
  font:600 12px/1 "DM Sans",Arial,sans-serif;
  font-synthesis:none;
  letter-spacing:.22em;
  text-decoration:none;
  text-rendering:optimizeLegibility;
  white-space:nowrap;
  -webkit-font-smoothing:auto;
  -moz-osx-font-smoothing:auto;
}
.legal-brand i{
  display:grid;
  place-items:center;
  flex:0 0 34px;
  width:34px;
  min-width:34px;
  height:34px;
  overflow:visible;
  border:1px solid currentColor;
  border-color:#728177;
  border-radius:50%;
  background:#fff;
  color:inherit;
  font:500 17px/1 "Playfair Display",Georgia,serif;
  font-synthesis:none;
  font-style:normal;
  letter-spacing:-.018em;
  opacity:1;
  filter:none;
  transform:none;
  box-shadow:inset 0 1px 0 #fff;
}
.legal-brand b{font:600 12px/1 "DM Sans",Arial,sans-serif;letter-spacing:.22em}
