:root{--ink:#15151c;--muted:#666775;--line:#e4e4e9;--red:#d9003d;--pink:#fff1f5;--green:#147d4d;--greenbg:#edf9f2;--blue:#2458a6;--bluebg:#eef4ff;--saver:#e40046;--amber:#ff7e00;--amberbg:#fdf0e8}*{box-sizing:border-box}body{color:var(--ink);background:#fbfbfc;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.45}.wrap{max-width:1300px;margin:0 auto;padding:0 24px}header{color:#fdfbf6;clip-path:url(#headerCurve);background:linear-gradient(120deg,#17151ddb 0%,#25141cad 55%,#4a0d206b 100%),url(/Virgin_Atlantic_header_background.png) 50% 58%/cover no-repeat;padding:84px 0 76px;position:relative}h1{letter-spacing:-.03em;color:#fff;margin:0 0 12px;font-family:Geist,Arial,Helvetica,sans-serif;font-size:clamp(30px,4.6vw,52px);font-weight:600;line-height:1.08}header h1 .accent{background:linear-gradient(100deg,#ff8fb8,#ffd0e0);color:#0000;-webkit-background-clip:text;background-clip:text}.subtitle{color:#e7dee2;max-width:620px;margin:0 0 24px;font-size:15px}.subtitlelink{color:#ffb3cd;font-weight:600;text-decoration:underline}.subtitlelink:hover{color:#fff}header .steps{flex-wrap:wrap;align-items:center;gap:14px;margin-top:8px;display:flex}header .step{background:#ffffff14;border:1px solid #ffffff29;border-radius:14px;flex:1;align-items:center;gap:14px;min-width:250px;padding:18px 16px 16px;display:flex;position:relative}header .stepnum{z-index:1;background:var(--red);color:#fff;text-align:center;border-radius:50%;width:32px;height:32px;font-family:Geist,Arial,Helvetica,sans-serif;font-size:15px;font-weight:700;line-height:32px;position:absolute;top:-14px;left:-14px;box-shadow:0 0 0 3px #4a0d208c}header .stepicon{background:#ffffff1f;border-radius:12px;flex:none;justify-content:center;align-items:center;width:50px;height:50px;display:flex}header .stepicon svg{color:#fff;width:26px;height:26px}header .stepicon img{object-fit:contain;width:26px;height:26px}header .steptext strong{color:#fff;letter-spacing:-.01em;font-family:Geist,Arial,Helvetica,sans-serif;font-size:14.5px;font-weight:600;display:block}header .steptext span{color:#e7dee2;margin-top:2px;font-size:12.5px;line-height:1.35;display:block}header .steparrow{color:#e7dee2;flex:none;font-size:18px}@media (max-width:900px){header .steps{flex-direction:column;align-items:stretch}header .steparrow{display:none}}.picker{border:1px solid var(--line);z-index:2;background:#fff;border-radius:16px;grid-template-columns:1.1fr 1fr 1fr 1fr auto;align-items:end;gap:12px;margin-top:-52px;padding:14px 16px;display:grid;position:relative;box-shadow:0 12px 32px #1c1c2424}.pk{flex-direction:column;gap:5px;display:flex}.pk label{text-transform:uppercase;letter-spacing:.07em;color:#70717d;font-size:10px;font-weight:800}.pk select{font:inherit;border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;border-radius:10px;max-width:100%;padding:9px 10px;font-size:13.5px}.pk select:focus{outline:2px solid var(--red);outline-offset:1px}.swapbtn{border:1px solid var(--line);cursor:pointer;color:#42424d;background:#fff;border-radius:10px;height:38px;padding:9px 13px;font-size:13px;font-weight:700}.swapbtn:hover{border-color:#c9c9d4}nav{flex-wrap:wrap;gap:8px;margin:16px 0 4px;display:flex}.navbtn{border:1px solid var(--line);cursor:pointer;color:#42424d;background:#fff;border-radius:999px;padding:8px 14px;font-size:12.5px;font-weight:700}.navbtn:hover{border-color:#c9c9d4}section{padding:24px 0;scroll-margin-top:14px}.section-title{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:16px;margin-bottom:14px;display:flex}.section-title h2{letter-spacing:-.02em;margin:0;font-size:21px}.section-title p{color:var(--muted);max-width:640px;margin:0;font-size:13px}.card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:18px;box-shadow:0 2px 12px #1c1c240a}.card h3{margin:0 0 4px;font-size:16px}.card .desc{color:var(--muted);margin:0 0 14px;font-size:12.5px}.grid2{grid-template-columns:1.25fr .75fr;gap:16px;display:grid}.note{background:var(--bluebg);border-left:4px solid var(--blue);border-radius:0 10px 10px 0;padding:12px 14px;font-size:12.5px}.insight{border-left:4px solid var(--red);background:var(--pink);border-radius:0 10px 10px 0;padding:12px 14px;font-size:12.5px}.insight strong,.note strong{margin-bottom:3px;display:block}.good{border-left-color:var(--green);background:var(--greenbg)}table.tbl{border-collapse:collapse;width:100%;margin-top:10px;font-size:12px}table.tbl th{text-align:left;color:#70717d;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--line);padding:6px 8px;font-size:10px}table.tbl td{border-bottom:1px solid #f1f1f5;padding:7px 8px}.pill{white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:10px;font-weight:800;display:inline-block}.pill.up{color:#a6002e;background:#ffeaef}.pill.down{background:var(--greenbg);color:var(--green)}.pill.new{background:var(--bluebg);color:var(--blue)}.pill.gone{color:#5a5a66;background:#f3f3f6}.pill.saver{color:#a6002e;background:#fff1f5;border:1px solid #f3c6d3}.pill.inv{color:#8a8a96;border:1px solid var(--line);background:#fafafd}.barrow{grid-template-columns:46px 1fr 92px;align-items:center;gap:10px;margin:7px 0;display:grid}.barday{font-size:11.5px;font-weight:800}.bartrack{background:#f2f2f6;border-radius:6px;height:20px;overflow:hidden}.barfill{background:linear-gradient(90deg,#e40046,#a6002e);border-radius:6px;height:100%}.barfill.best{background:linear-gradient(90deg,#17a06a,#0d5c38)}.barval{text-align:right;color:#42424d;font-size:11.5px;font-weight:700}.twocols{grid-template-columns:1fr 1fr;align-items:start;gap:16px;display:grid}.colhead{border-bottom:1px solid var(--line);flex-direction:column;gap:2px;margin-bottom:14px;padding-bottom:12px;display:flex}.colhead .dir{text-transform:uppercase;letter-spacing:.07em;color:#8a8a96;font-size:10px;font-weight:800}.colhead strong{letter-spacing:-.01em;font-size:15px}.cabinblock{margin-bottom:20px}.cabinblock h4{margin:0 0 2px;font-size:13.5px}.twocols .cabinblock h4{text-align:center;margin:0 0 10px}.nodatabar{background:repeating-linear-gradient(45deg,#ececf1,#ececf1 3px,#f6f6f9 3px 6px);border-radius:3px 3px 0 0}.cabinblock .win{color:var(--green);margin-bottom:8px;font-size:11.5px;font-weight:700}.hourbars{grid-template-columns:repeat(24,1fr);align-items:end;gap:3px;height:140px;display:grid}.hourbar{background:#f0f0f4;border-radius:4px 4px 0 0;justify-content:center;min-height:3px;display:flex;position:relative}.hourbar.hit{background:linear-gradient(#e40046,#a6002e)}.hourbar.all{background:linear-gradient(#147d4d,#0d5c38)}.hourbar span{color:#42424d;font-size:10px;font-weight:800;position:absolute;top:-16px}.hourlabels{grid-template-columns:repeat(24,1fr);gap:3px;margin-top:6px;display:grid}.hourlabels span{color:var(--muted);text-align:center;font-size:9px}.legend{color:var(--muted);flex-wrap:wrap;gap:16px;margin-top:12px;font-size:11.5px;display:flex}.legend i{vertical-align:-1px;border-radius:3px;width:11px;height:11px;margin-right:5px;display:inline-block}.sparkwrap{align-items:end;gap:4px;height:110px;margin-top:8px;display:grid}.sparkbar{background:linear-gradient(#e40046,#a6002e);border-radius:3px 3px 0 0;min-height:3px}.sparkbar.low{background:linear-gradient(#17a06a,#0d5c38)}.sparklabels{gap:4px;margin-top:5px;display:grid}.sparklabels span{color:var(--muted);text-align:center;font-size:8.5px}.retbtn{border:1px solid var(--line);cursor:pointer;color:#42424d;white-space:nowrap;background:#fff;border-radius:10px;padding:9px 14px;font-size:12.5px;font-weight:700}.retbtn:hover:not(:disabled){border-color:var(--red);color:var(--red)}.retbtn:disabled{opacity:.45;cursor:not-allowed}.retbtn.active{background:var(--ink);color:#fff;border-color:var(--ink)}.cabintoggle{border:1px solid var(--line);border-radius:10px;display:flex;overflow:hidden}.cabintab{border:none;border-right:1px solid var(--line);cursor:pointer;color:#42424d;background:#fff;padding:9px 13px;font-size:12.5px;font-weight:700}.cabintab:last-child{border-right:none}.cabintab:hover:not(.active){background:#fafafb}.cabintab.active{background:var(--ink);color:#fff}.calbar{grid-template-columns:40px 1fr 40px;align-items:center;gap:10px;margin-bottom:14px;display:grid}.calnav{border:1px solid var(--line);cursor:pointer;color:#42424d;background:#fff;border-radius:10px;height:38px;font-size:20px;font-weight:700;line-height:1}.calnav:hover:not(:disabled){background:#fafafb;border-color:#c9c9d4}.calnav:disabled{opacity:.3;cursor:not-allowed}.caltitle{text-align:center}.caltitle span{letter-spacing:-.02em;font-size:19px;font-weight:800;display:block}.calwrap{overflow-x:auto}.calendar-grid{grid-template-columns:repeat(7,minmax(96px,1fr));gap:7px;min-width:720px;display:grid}.dowhead{text-transform:uppercase;letter-spacing:.06em;color:#8a8a96;text-align:center;padding-bottom:2px;font-size:10px;font-weight:800}.blankcell{min-height:10px}.daycard{border:1px solid var(--line);box-sizing:border-box;background:#fff;border-radius:11px;height:89px;padding:8px;font-size:10.5px}.daycard.nodata{background:#f7f7f9;border-color:#e6e6ec}.daycard.past{opacity:.45}.nomsg{color:#a6a6b2;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:2px;height:100%;font-size:10px;font-weight:600;display:flex}.dhead{color:#42424d;margin-bottom:4px;font-size:10.5px;font-weight:800}.cabin-row{justify-content:space-between;align-items:baseline;gap:6px;padding:1px 0;display:flex}.cabin-label{color:#8a8a96;font-size:9.5px;font-weight:700}.cabin-price{color:var(--ink);font-weight:800}.cabin-price.rag-green{color:var(--green)}.cabin-price.rag-amber{color:var(--amber)}.cabin-price.rag-red{color:var(--red)}.cabin-row.na .cabin-price{color:#c2c2ca;font-weight:600}.lowseat{color:#a6002e;font-size:9px;font-weight:800}.empty{text-align:center;color:var(--muted);border:1px dashed var(--line);background:#fafafd;border-radius:12px;padding:24px;font-size:13px}footer{color:#777884;padding:30px 0 46px;font-size:11px}.footer-line{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:20px;padding-top:16px;display:flex}@media (max-width:1000px){.grid2,.twocols{grid-template-columns:1fr}.picker{grid-template-columns:1fr 1fr}}@media (max-width:680px){.picker{grid-template-columns:1fr;margin-top:-16px}header{padding-bottom:38px}.hourlabels span{font-size:7px}}.authhero{clip-path:url(#authHeroCurve);background:linear-gradient(120deg,#17151ddb 0%,#25141cad 55%,#4a0d206b 100%),url(/Virgin_Atlantic_header_background.png) 50% 58%/cover no-repeat;height:190px;position:relative}.authwrap{z-index:2;justify-content:center;margin-top:-70px;padding:0 24px 56px;display:flex;position:relative}.authcard{width:100%;max-width:400px}.authcard h1{letter-spacing:-.02em;color:var(--ink);margin:0 0 4px;font-size:22px;font-weight:800;line-height:1.2}.authcard .authsub{color:var(--muted);margin:0 0 20px;font-size:13px}.authform{flex-direction:column;gap:14px;display:flex}.authform label{text-transform:uppercase;letter-spacing:.06em;color:#70717d;margin-bottom:5px;font-size:11px;font-weight:800;display:block}.authform input{width:100%;font:inherit;border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:10px;padding:10px 12px;font-size:14px}.authform input:focus{outline:2px solid var(--red);outline-offset:1px}.authform button{background:var(--ink);color:#fff;font:inherit;cursor:pointer;border:none;border-radius:10px;margin-top:4px;padding:11px 16px;font-size:14px;font-weight:700}.authform button:hover{opacity:.9}.authform button:disabled{opacity:.6;cursor:not-allowed}.autherror{background:var(--pink);border-left:4px solid var(--red);color:#8a0030;border-radius:0 8px 8px 0;margin:0 0 16px;padding:10px 12px;font-size:12.5px}.authnote{background:var(--greenbg);border-left:4px solid var(--green);color:#0d5c38;border-radius:0 8px 8px 0;margin:0 0 16px;padding:10px 12px;font-size:12.5px}.authlinks{color:var(--muted);text-align:center;margin:18px 0 0;font-size:12.5px}.authlinks a{color:var(--red);font-weight:600;text-decoration:none}.authlinks a:hover{text-decoration:underline}.checkoutcard{max-width:440px}.pillrow{border:1px solid var(--line);background:#f2f2f5;border-radius:999px;gap:2px;margin:0 0 10px;padding:4px;display:flex}.pillrow button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:999px;flex:1;padding:9px 12px;font-size:13px;font-weight:700}.pillrow button.active{color:var(--ink);background:#fff;box-shadow:0 1px 4px #1c1c241f}.plansummary{border:1px solid var(--line);color:var(--ink);background:#f8f8fa;border-radius:10px;justify-content:space-between;align-items:baseline;margin:6px 0 20px;padding:12px 14px;font-size:14px;font-weight:700;display:flex}.plansummary .price-period{color:var(--muted);font-size:12px;font-weight:600}.paymentelement-wrap{border:1px solid var(--line);background:#fff;border-radius:10px;padding:12px}.paydisclosure{color:var(--muted);margin:10px 0 0;font-size:11.5px}.accountrow{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:12px 0;display:flex}.accountrow:last-of-type{border-bottom:none}.accountrow .label{text-transform:uppercase;letter-spacing:.06em;color:#70717d;font-size:11px;font-weight:800}.accountrow .value{font-size:14px;font-weight:700}.tierpill{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:800;display:inline-block}.tierpill.free{color:#5a5a66;background:#f3f3f6}.tierpill.premium{background:var(--pink);color:var(--red)}.tierpill.first_class{color:#96721c;background:#fbf3e1}.upgradebtn{background:var(--red);color:#fff;font:inherit;border:none;border-radius:10px;margin-top:18px;padding:11px 18px;font-size:13.5px;font-weight:700;text-decoration:none;display:inline-block}.logoutbtn{border:1px solid var(--line);color:#42424d;font:inherit;cursor:pointer;background:#fff;border-radius:10px;padding:9px 14px;font-size:12.5px;font-weight:700}.sitenav{z-index:20;background:0 0;margin:0;padding:20px 0;display:block;position:absolute;top:0;left:0;right:0}.sitenav-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;font-family:Geist,Arial,Helvetica,sans-serif;display:flex}.sitenav-brand{color:#fff;letter-spacing:-.01em;font-size:14px;font-weight:700;text-decoration:none}.sitenav-links{flex-wrap:wrap;align-items:center;gap:22px;display:flex}.sitenav-links a{color:#fff;font-size:13.5px;font-weight:600;text-decoration:none}.sitenav-links a:hover{color:#f3c6d3}.sitenav-cta{background:#fff;border-radius:999px;padding:8px 16px;font-weight:600;color:var(--red)!important}.sitenav-cta:hover{opacity:.85}
