/* Payment options. Plan IDs and UK VAT-inclusive prices checked 28 October 2026. */
.payment-options-page { background:var(--paper); }
.payment-hero { background:var(--navy); color:var(--paper); }
.payment-hero-inner { width:min(1180px,90%); margin:auto; padding:28px 0 42px; }
.payment-hero a.payment-back { display:inline-flex; padding:0; border:0; border-radius:0; background:transparent; color:rgba(238,225,204,.7); font-size:.8125rem; text-decoration:none; box-shadow:none; transform:none; margin-bottom:34px; }
.payment-hero .eyebrow { color:var(--gold); margin-bottom:14px; }
.payment-hero h1 { font-size:clamp(2.35rem,4.5vw,3.6rem); line-height:1.12; font-weight:500; letter-spacing:-.025em; margin:0 0 21px; }
.payment-intro { max-width:690px; color:rgba(238,225,204,.78); font-size:1.0625rem; margin:0; }
.payment-hero-bottom { display:flex; justify-content:space-between; align-items:center; gap:28px; border-top:1px solid rgba(238,225,204,.2); padding-top:24px; margin-top:32px; }
.payment-hero-facts { display:flex; flex-wrap:wrap; gap:11px 24px; font-size:.78rem; color:rgba(238,225,204,.8); }
.payment-hero-facts span { display:flex; align-items:center; gap:8px; }
.payment-hero-facts span::before { content:''; width:4px; height:4px; border-radius:50%; background:var(--gold); }
.payment-jump-links { display:flex; gap:9px; flex-wrap:wrap; }
.payment-options-page .payment-jump-links a { min-height:40px; padding:9px 15px; border:1px solid rgba(238,225,204,.32); border-radius:999px; background:transparent; color:var(--paper); font-size:.8rem; }
.payment-options-page .payment-jump-links a:hover { border-color:var(--gold); color:var(--gold); box-shadow:none; transform:none; }
.payment-main { width:min(1080px,90%); margin:0 auto; padding:32px 0 70px; }
.payment-tax-notice { padding:19px 23px; border:1px solid rgba(7,17,42,.16); border-left:3px solid var(--red); border-radius:3px; }
.payment-tax-notice strong { font-size:.875rem; font-weight:600; }
.payment-tax-notice p { margin:6px 0 0; color:var(--muted); font-size:.8125rem; line-height:1.6; max-width:950px; }
.payment-currency-section { margin-top:42px; scroll-margin-top:30px; }
.payment-section-heading { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:24px; }
.payment-section-heading .eyebrow { font-size:.7rem; color:#78571E; margin-bottom:8px; }
.payment-section-heading h2 { margin:0; font-size:1.875rem; line-height:1.25; }
.payment-section-heading > p { margin:0; max-width:310px; color:var(--muted); font-size:.85rem; line-height:1.6; }
.payment-card-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.payment-card { display:flex; flex-direction:column; min-width:0; background:#F7F0E5; border:1px solid rgba(7,17,42,.18); border-top:3px solid var(--navy); border-radius:5px; padding:28px 30px 22px; }
.payment-card-once { border-top-color:var(--gold); }
.payment-card-top { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:22px; }
.payment-tag { border:1px solid rgba(7,17,42,.2); border-radius:999px; padding:4px 10px; font-size:.67rem; letter-spacing:.025em; line-height:1.5; }
.payment-currency { font-size:.75rem; font-weight:600; letter-spacing:.08em; color:#62573F; }
.payment-card h3 { margin:0 0 8px; font-weight:500; font-size:1.65rem; }
.payment-access { margin:0 0 22px; font-size:.85rem; color:var(--muted); line-height:1.6; }
.payment-price strong { display:block; font-size:clamp(2rem,3vw,2.65rem); line-height:1.2; font-weight:500; letter-spacing:-.03em; overflow-wrap:anywhere; }
.payment-price > span { display:block; margin-top:6px; font-size:.875rem; color:var(--navy); }
.payment-tax { margin:5px 0 0; font-size:.73rem; color:var(--muted); }
.payment-total { margin:17px 0 0; min-height:24px; font-size:.85rem; color:var(--navy); line-height:1.5; }
.payment-total strong { font-weight:600; }
.payment-inclusions { padding:21px 0 0; margin:21px 0 27px; border-top:1px solid rgba(7,17,42,.13); list-style:none; }
.payment-inclusions li { display:flex; align-items:baseline; gap:10px; margin-top:8px; color:#354056; font-size:.84rem; line-height:1.5; }
.payment-inclusions li:first-child { margin-top:0; }
.payment-inclusions li::before { content:'✓'; font-size:.75rem; color:#7B5719; }
.payment-options-page a.payment-checkout { width:100%; display:flex; justify-content:space-between; gap:15px; margin-top:auto; padding:14px 20px; background:var(--navy); border:1px solid var(--navy); color:var(--paper); font-size:.85rem; border-radius:999px; box-shadow:none; text-align:left; }
.payment-options-page a.payment-checkout:hover { background:var(--navy); color:var(--gold); border-color:var(--gold); transform:translateY(-1px); box-shadow:none; }
.payment-options-page a.payment-checkout span { font-size:1rem; }
.payment-checkout-note { margin:10px 0 0; text-align:center; font-size:.67rem; color:var(--muted); }
.payment-institution { display:grid; grid-template-columns:1.3fr 1fr; align-items:center; gap:42px; background:var(--navy); color:var(--paper); padding:34px 35px; margin-top:42px; border-top:3px solid var(--red); border-radius:5px; scroll-margin-top:30px; }
.payment-institution .eyebrow { color:var(--gold); font-size:.7rem; margin-bottom:12px; }
.payment-institution h2 { font-size:1.65rem; line-height:1.25; margin:0 0 13px; }
.payment-institution p:not(.payment-institution-price) { font-size:.85rem; color:rgba(238,225,204,.75); margin:0 0 20px; }
.payment-options-page a.payment-discuss { display:inline; width:auto; padding:0; border:0; border-radius:0; background:transparent; color:var(--gold); font-size:.8rem; text-decoration:underline; text-underline-offset:4px; box-shadow:none; transform:none; }
.payment-institution-price { margin:0 0 18px; font-size:2.25rem; font-weight:500; line-height:1.2; letter-spacing:-.025em; }
.payment-institution-price span { display:block; margin-top:8px; font-size:.72rem; line-height:1.5; font-weight:400; letter-spacing:0; color:rgba(238,225,204,.7); }
.payment-institution a.payment-checkout { background:var(--gold); border-color:var(--gold); color:var(--navy); }
.payment-institution a.payment-checkout:hover { background:var(--paper); border-color:var(--paper); color:var(--navy); }
.payment-reassurance { display:grid; grid-template-columns:1fr 1fr; gap:70px; border-top:1px solid rgba(7,17,42,.2); margin-top:45px; padding-top:33px; }
.payment-reassurance .eyebrow { margin-bottom:12px; font-size:.7rem; }
.payment-reassurance h2 { font-size:1.65rem; margin:0 0 15px; line-height:1.3; }
.payment-reassurance > div > p:not(.payment-risk) { font-size:.875rem; color:var(--muted); }
.payment-reassurance h3 { font-size:1.1rem; margin:0 0 13px; }
.payment-small-print .payment-contact { color:var(--navy); font-size:.85rem; }
.payment-policy-links { display:flex; flex-direction:column; align-items:start; gap:12px; }
.payment-policy-links a.media-proof-link { display:inline; padding:0; color:var(--navy); text-decoration:underline; text-underline-offset:4px; font-size:.8rem; }
.payment-risk { border-top:1px solid rgba(7,17,42,.18); padding-top:17px; margin:20px 0 0; color:var(--muted); font-size:.75rem; line-height:1.6; }
@media(max-width:900px) { .payment-hero-bottom { align-items:start; flex-direction:column; gap:21px; } .payment-institution { gap:26px; } .payment-reassurance { gap:35px; } }
@media(max-width:650px) { .payment-hero-inner { padding-top:22px; padding-bottom:31px; } .payment-hero a.payment-back { margin-bottom:26px; } .payment-hero h1 { font-size:2.3rem; } .payment-intro { font-size:.96rem; } .payment-hero-facts { flex-direction:column; gap:10px; } .payment-jump-links { gap:7px; } .payment-options-page .payment-jump-links a { padding:10px 13px; } .payment-main { padding:23px 0 40px; } .payment-tax-notice { padding:17px 18px; } .payment-card-grid,.payment-institution,.payment-reassurance { grid-template-columns:1fr; } .payment-section-heading { align-items:start; flex-direction:column; gap:12px; } .payment-section-heading h2 { font-size:1.6rem; } .payment-card { padding:25px 23px 20px; } .payment-price strong { font-size:2.5rem; } .payment-card h3 { font-size:1.5rem; } .payment-card-grid { gap:18px; } .payment-institution { padding:28px 24px; gap:27px; } .payment-reassurance { gap:32px; } .payment-currency-section { margin-top:32px; } }
