/* Policies page (v2). Tokens only. */
.page-head.pl-head h1{font-size:clamp(3.2rem,1.7rem + 6vw,7.4rem);line-height:.93;letter-spacing:-.04em;max-width:none}
.pl-lede{margin-top:1.3rem;font-size:var(--fs-lead);color:var(--text-muted);max-width:46ch}
.pl-nav{display:flex;flex-wrap:wrap;gap:10px;margin-top:1.8rem}
.pl-nav a{display:inline-flex;align-items:center;gap:.5em;min-height:44px;padding:.55em 1.2em;border-radius:var(--pill);border:1px solid var(--border-strong);font-size:var(--fs-sm);font-weight:600;text-decoration:none;color:var(--text);transition:background-color .3s,border-color .3s,color .3s}
.pl-nav a span{transition:transform .5s var(--ease-settle)}
.pl-nav a:hover{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff}
.pl-nav a:hover span{transform:translateY(3px)}

.pl-keys{display:grid;grid-template-columns:repeat(2,1fr);margin-top:clamp(40px,6vw,72px);border-top:1px solid var(--border)}
@media(min-width:860px){.pl-keys{grid-template-columns:repeat(4,1fr)}}
.pl-keys>div{padding:20px 18px 4px 0}
.pl-keys>div+div{padding-left:18px;border-left:1px solid var(--border)}
@media(max-width:859px){.pl-keys>div:nth-child(3){padding-left:0;border-left:0}.pl-keys>div:nth-child(n+3){border-top:1px solid var(--border);margin-top:16px}}
.pl-keys dt{font-family:var(--font-display);font-size:clamp(2rem,1.4rem + 2vw,3.2rem);line-height:1;letter-spacing:-.03em}
.pl-keys dd{margin-top:8px;font-size:var(--fs-sm);color:var(--text-muted);line-height:1.45;max-width:22ch}

.pl-section{padding-top:clamp(40px,5vw,72px)}
.pl-grid{display:grid;gap:14px;margin-top:clamp(32px,4vw,52px)}
@media(min-width:680px){.pl-grid{grid-template-columns:1fr 1fr}}
@media(min-width:1160px){.pl-grid{grid-template-columns:repeat(4,1fr)}.pl-grid--3{grid-template-columns:repeat(3,1fr)}}
.pl-card{display:flex;flex-direction:column;padding:24px 22px 26px;border-radius:var(--radius-l)}
.pl-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}
.pl-ic{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--tint-strong);color:var(--accent-text);transition:background-color .4s,color .4s,rotate .7s var(--ease-settle)}
.pl-ic svg{width:22px;height:22px}
.pl-n{font-family:ui-monospace,Menlo,monospace;font-size:.72rem;letter-spacing:.14em;color:var(--text-faint)}
.pl-card:hover .pl-ic{background:var(--accent-strong);color:#fff;rotate:-8deg}
.pl-card h3{font-size:clamp(1.3rem,1.15rem + .5vw,1.6rem);line-height:1.1;margin-bottom:14px;display:block}
.pl-card ul{display:grid;gap:10px}
.pl-card li{position:relative;padding-left:20px;font-size:var(--fs-sm);color:var(--text-muted);line-height:1.6}
.pl-card li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:1.5px;border-radius:2px;background:var(--accent-strong)}
.pl-card li b{color:var(--text);font-weight:600}

.pl-wedding{padding-block:clamp(80px,10vw,140px);margin-top:clamp(24px,4vw,48px)}
.pl-wedding-head{display:flex;flex-wrap:wrap;align-items:flex-start;gap:20px 28px}
.pl-wedding-ic{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;border:1px solid var(--border-strong);color:var(--accent-text);margin-top:10px}
.pl-wedding-ic svg{width:30px;height:30px}
.pl-wedding .pl-card{background:rgba(255,255,255,.045)}
[data-theme="light"] .pl-wedding .pl-card{box-shadow:none}

.pl-foot-section{padding-top:clamp(56px,7vw,96px)}
.pl-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 40px;padding:26px 28px;border-radius:var(--radius-l);border:1px dashed var(--border-strong)}
.pl-foot p{color:var(--text-muted);max-width:60ch}
.page-head.pl-head{padding-bottom:clamp(24px,3vw,40px)}
.pl-keys{border-bottom:1px solid var(--border);padding-bottom:22px}

/* ---- Phones (under 700px) ---- */
@media(max-width:699px){
  .pl-wedding{padding-block:var(--section-cta)}
  .pl-foot-section{padding-top:40px}
}

/* Your rights: the fairness note that sits over every deposit and cancellation rule above */
.pl-rights{padding-top:clamp(48px,6vw,88px)}
.pl-callout{max-width:74ch;padding:clamp(22px,3vw,34px);border-radius:var(--radius-l);background:var(--tint);border:1px solid var(--border)}
.pl-callout h2{font-size:clamp(1.8rem,1.3rem + 1.6vw,2.6rem);line-height:1.05;margin-bottom:14px}
.pl-callout p{color:var(--text-muted);line-height:1.7}
.pl-callout p+p{margin-top:.8em}
.pl-lede a,.pl-card li a,.pl-foot a{color:var(--accent-text)}
