/* expired.css — /expired/ (shared tokens in site.css) */
.xp { padding-top:62px; }

.xp-hero { background:var(--off); border-top:3px solid var(--red); border-bottom:1px solid var(--light); }
.xp-hero-inner { max-width:780px; margin:0 auto; padding:76px 24px 68px; }
.xp-eyebrow { display:inline-block; font-size:0.6rem; letter-spacing:0.22em; text-transform:uppercase;
  color:var(--red); border:1px solid rgba(184,50,40,0.3); padding:4px 10px; margin-bottom:24px; }
.xp-title { font-family:'Cormorant Garamond',serif; font-size:clamp(2.1rem,4vw,3.2rem); font-weight:300;
  color:var(--navy); line-height:1.14; letter-spacing:-0.01em; margin-bottom:22px; }
.xp-title em { font-style:italic; color:var(--gold); }
.xp-standfirst { font-size:1.06rem; color:var(--mid); line-height:1.85; max-width:620px; }

.xp-hero-actions { margin-top:34px; }
.xp-call { display:inline-flex; flex-direction:column; gap:2px; background:var(--gold); color:var(--white);
  text-decoration:none; padding:14px 26px; line-height:1.2; transition:background .2s; }
.xp-call:hover { background:var(--navy); }
.xp-call-label { font-size:0.62rem; letter-spacing:0.2em; text-transform:uppercase; opacity:0.85; }
.xp-call-num { font-size:1.15rem; font-weight:500; letter-spacing:0.02em; }
.xp-call-note { font-size:0.82rem; color:var(--mid); margin-top:12px; }

.xp-case { background:var(--white); border-bottom:1px solid var(--light); }
.xp-case-inner { max-width:780px; margin:0 auto; padding:52px 24px; display:grid;
  grid-template-columns:300px 1fr; gap:40px; align-items:center; }
.xp-case-note { font-size:0.98rem; color:var(--mid); line-height:1.8; }

.xp-body { max-width:720px; margin:0 auto; padding:64px 24px 80px; }
.xp-body h2 { font-family:'Cormorant Garamond',serif; font-size:clamp(1.6rem,2.6vw,2.1rem); font-weight:400;
  color:var(--navy); line-height:1.2; margin:52px 0 18px; }
.xp-body h2:first-of-type { margin-top:0; }
.xp-body h3 { font-family:'Outfit',sans-serif; font-size:1rem; font-weight:500; color:var(--ink);
  margin:30px 0 10px; }
.xp-body p { font-size:1rem; color:var(--mid); line-height:1.9; margin-bottom:18px; }
.xp-body p strong { color:var(--ink); font-weight:500; }
.xp-body em { font-style:italic; }
.xp-lede { font-size:1.1rem !important; color:var(--ink) !important; line-height:1.85 !important; }

.xp-list { list-style:none; margin:0 0 24px; padding:0; }
.xp-list li { position:relative; padding-left:22px; font-size:1rem; color:var(--mid);
  line-height:1.85; margin-bottom:14px; }
.xp-list li::before { content:''; position:absolute; left:0; top:0.72em; width:7px; height:1px; background:var(--gold); }
.xp-list li strong { color:var(--ink); font-weight:500; }

.xp-note { background:var(--cream); border-left:3px solid var(--gold); padding:24px 26px; margin:32px 0; }
.xp-note-label { font-size:0.6rem !important; letter-spacing:0.2em; text-transform:uppercase;
  color:var(--gold) !important; margin-bottom:8px !important; }
.xp-note p:last-child { margin-bottom:0; }

.xp-quote { margin:40px 0; padding:28px 32px; background:var(--navy); }
.xp-quote p { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:1.12rem;
  color:rgba(255,255,255,0.82) !important; line-height:1.75; margin-bottom:14px !important; }
.xp-quote cite { font-style:normal; font-size:0.64rem; letter-spacing:0.16em; text-transform:uppercase; color:var(--gold2); }

.xp-disclaimer { border-top:1px solid var(--light); margin-top:48px; padding-top:22px; }
.xp-disclaimer p { font-size:0.82rem !important; color:var(--mid); line-height:1.7; }

.xp-cta { margin-top:52px; padding:44px 32px; background:var(--cream); border-top:3px solid var(--gold); text-align:center; }
.xp-cta-head { font-family:'Cormorant Garamond',serif; font-size:clamp(1.4rem,2.4vw,1.9rem);
  color:var(--navy) !important; line-height:1.3; margin-bottom:12px !important; }
.xp-cta-sub { font-size:0.98rem; max-width:520px; margin:0 auto 26px !important; }
.xp-cta-alt { font-size:0.86rem; margin-top:20px !important; margin-bottom:0 !important; }
.xp-cta-alt a { color:var(--navy); text-decoration:none; border-bottom:1px solid var(--gold); }
.xp-cta-alt a:hover { color:var(--gold); }

@media (max-width:900px) {
  .xp-hero-inner { padding:56px 20px 48px; }
  .xp-case-inner { grid-template-columns:1fr; gap:26px; padding:40px 20px; }
  .xp-body { padding:48px 20px 64px; }
  .xp-quote { padding:24px 22px; }
  .xp-cta { padding:36px 22px; }
}
