/* ============ SPECIAL OFFERS PAGE ============ */
.of-hero{background:linear-gradient(180deg,#0b2150 0%,#08183a 100%);padding:clamp(100px,9vw,160px) clamp(16px,3vw,52px) clamp(34px,4vw,60px);text-align:center;}
.of-hero .of-eb{margin:0;font-family:var(--ui);font-weight:800;letter-spacing:.18em;font-size:clamp(.72rem,.9vw,.85rem);color:#e3b23c;}
.of-hero h1{margin:.25em auto .2em;max-width:16ch;font-family:var(--display);font-weight:700;line-height:1;color:#fff;font-size:clamp(2.2rem,5.4vw,4.4rem);}
.of-hero h1 span{color:#e3b23c;}
.of-hero p.of-sub{margin:0 auto;max-width:62ch;font-family:var(--ui);color:#cfe0ff;font-size:clamp(1rem,1.25vw,1.18rem);line-height:1.5;}

.of-cards{background:#f4f7fb;padding:clamp(26px,3vw,46px) clamp(16px,3vw,52px);}
.of-in{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2vw,30px);}
.of-card{background:#fff;border:1px solid rgba(13,42,87,.14);border-radius:16px;padding:clamp(20px,2.4vw,34px);display:flex;flex-direction:column;}
.of-card.gold{border-color:#e3b23c;box-shadow:0 10px 30px rgba(199,154,46,.18);}
.of-tag{align-self:flex-start;background:var(--red);color:#fff;border-radius:999px;padding:6px 14px;font-family:var(--ui);font-weight:800;font-size:.76rem;letter-spacing:.08em;}
.of-card.gold .of-tag{background:#e3b23c;color:#0b2150;}
.of-amt{margin:14px 0 2px;font-family:var(--display);font-weight:700;line-height:.95;color:var(--navy);font-size:clamp(2.4rem,4.4vw,3.6rem);}
.of-amt small{display:block;font-family:var(--ui);font-weight:800;font-size:clamp(.95rem,1.2vw,1.15rem);color:var(--red);letter-spacing:.02em;margin-top:6px;}
.of-card h2{margin:4px 0 10px;font-family:var(--ui);font-weight:800;color:var(--navy);font-size:clamp(1.1rem,1.5vw,1.35rem);}
.of-card p{margin:0 0 12px;font-family:var(--ui);color:#24365a;font-size:clamp(.94rem,1.03vw,1.02rem);line-height:1.55;}
.of-card ul{list-style:none;margin:0 0 16px;padding:0;}
.of-card li{display:flex;gap:10px;margin:0 0 9px;font-family:var(--ui);color:#24365a;font-size:clamp(.92rem,1vw,1rem);}
.of-card li::before{content:"";flex:0 0 auto;width:19px;height:19px;border-radius:4px;margin-top:2px;
  background:#e3b23c url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M5 12.5l4.5 4.5L19 7.5' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/13px no-repeat;}
.of-btn{margin-top:auto;display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--red);color:#fff;
  border-radius:10px;padding:14px 20px;font-family:var(--ui);font-weight:800;text-decoration:none;font-size:clamp(.95rem,1.1vw,1.05rem);}
.of-card.gold .of-btn{background:#0b2150;}
.of-btn:hover{filter:brightness(1.08);}
.of-fine{margin:10px 0 0 !important;font-size:.8rem !important;color:#6b7a94 !important;}

.of-how{background:#fff;padding:clamp(26px,3vw,46px) clamp(16px,3vw,52px);}
.of-how h2{margin:0 0 16px;text-align:center;font-family:var(--ui);font-weight:800;color:var(--navy);font-size:clamp(1.3rem,2.2vw,2rem);}
.of-how h2 span{color:var(--red);}
.of-steps{list-style:none;max-width:1400px;margin:0 auto;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,1.8vw,26px);counter-reset:of;}
.of-steps li{counter-increment:of;}
.of-steps li::before{content:counter(of);display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--navy);color:#fff;font-family:var(--ui);font-weight:800;margin-bottom:10px;}
.of-steps h3{margin:0 0 4px;font-family:var(--ui);font-weight:800;color:var(--navy);font-size:clamp(.98rem,1.1vw,1.08rem);}
.of-steps p{margin:0;font-family:var(--ui);color:#3a4a66;font-size:clamp(.88rem,.98vw,.96rem);line-height:1.5;}

.of-terms{background:#eef3fa;padding:clamp(22px,2.6vw,38px) clamp(16px,3vw,52px);}
.of-terms-in{max-width:1400px;margin:0 auto;}
.of-terms h2{margin:0 0 10px;font-family:var(--ui);font-weight:800;color:var(--navy);font-size:clamp(1.05rem,1.4vw,1.25rem);}
.of-terms p,.of-terms li{font-family:var(--ui);color:#3a4a66;font-size:clamp(.86rem,.95vw,.94rem);line-height:1.55;}
.of-terms ul{margin:0;padding-left:20px;}
@media (max-width:1000px){
  .of-in{grid-template-columns:1fr;}
  .of-steps{grid-template-columns:1fr 1fr;}
}

/* ---------- coupon treatment ---------------------------------- */
.of-cards{background:#eef3fa;}
.of-in{gap:clamp(22px,2.6vw,40px);}
.of-card{
  position:relative;overflow:visible;background:#fff;border:0;border-radius:4px;
  padding:clamp(30px,3vw,44px) clamp(24px,2.6vw,38px) clamp(24px,2.4vw,34px);
  box-shadow:0 10px 26px rgba(11,33,80,.12);
}
/* dashed cut line inside the ticket */
.of-card::before{content:"";position:absolute;inset:9px;border:2px dashed rgba(11,33,80,.3);pointer-events:none;}
.of-card.gold::before{border-color:rgba(199,154,46,.8);}
.of-card.gold{box-shadow:0 12px 30px rgba(199,154,46,.26);}
/* punched notches on both sides, in the section colour */
.of-card::after{
  content:"";position:absolute;top:50%;left:-17px;right:-17px;height:34px;margin-top:-17px;pointer-events:none;
  background:
    radial-gradient(circle 17px at 17px 50%,#eef3fa 98%,transparent 100%) left/50% 100% no-repeat,
    radial-gradient(circle 17px at calc(100% - 17px) 50%,#eef3fa 98%,transparent 100%) right/50% 100% no-repeat;
}
.of-card > *{position:relative;z-index:1;}

.of-cut{
  position:absolute;top:-11px;left:22px;z-index:3;display:inline-flex;align-items:center;gap:7px;
  background:#eef3fa;padding:0 10px;font-family:var(--ui);font-weight:800;letter-spacing:.14em;
  font-size:.68rem;color:#7a8aa4;
}
.of-cut svg{width:15px;height:15px;color:#7a8aa4;}

.of-perf{margin:16px -10px 16px;border-top:2px dashed rgba(11,33,80,.24);}
.of-card.gold .of-perf{border-top-color:rgba(199,154,46,.65);}

/* the amount has to beat the generic .of-card p rule */
.of-card p.of-amt{
  margin:16px 0 2px;font-family:var(--display);font-weight:700;line-height:.92;color:var(--navy);
  font-size:clamp(2.6rem,4.6vw,3.9rem);letter-spacing:-.01em;
}
.of-card p.of-amt small{
  display:block;margin-top:8px;font-family:var(--ui);font-weight:800;letter-spacing:.04em;
  font-size:clamp(.95rem,1.2vw,1.12rem);color:var(--red);line-height:1.2;
}
.of-card.gold p.of-amt{color:#8a6412;}
.of-card.gold p.of-amt small{color:var(--navy);}

.of-code{
  display:inline-block;margin:0;padding:8px 16px;border:2px solid var(--navy);border-radius:6px;background:#f7f9fd;
  font-family:var(--ui);font-weight:800;letter-spacing:.16em;color:var(--navy);font-size:clamp(.82rem,.95vw,.94rem);
}
.of-card.gold .of-code{border-color:#b8891f;color:#8a6412;background:#fffdf4;}
.of-card p.of-expiry{margin:10px 0 0;font-family:var(--ui);font-weight:800;font-size:.78rem;letter-spacing:.06em;color:var(--red);}
.of-card.gold p.of-expiry{color:#8a6412;}

@media print{
  .site-head,.site-foot,.aa-qbar,.aa-estwide,.sh-map,.il-row,.of-how,.stickybar,.aa-div{display:none !important;}
  .of-card{box-shadow:none;}
  .of-card::after{display:none;}
}
@media (max-width:1000px){
  .of-card::after{display:none;}
}
/* the "almost" sits above the big line */
.of-card p.of-amt em{
  display:block;font-family:var(--ui);font-style:italic;font-weight:800;letter-spacing:.06em;
  font-size:clamp(1rem,1.4vw,1.3rem);color:var(--navy);margin-bottom:2px;text-transform:lowercase;
}
/* offers block on the home page */
.of-home-h2{margin:0 0 6px;text-align:center;font-family:var(--ui);font-weight:800;color:var(--navy);font-size:clamp(1.5rem,2.6vw,2.4rem);}
.of-home-h2 span{color:var(--red);}
.of-home-sub{margin:0 auto clamp(18px,2vw,30px);max-width:70ch;text-align:center;font-family:var(--ui);color:#3a4a66;font-size:clamp(.95rem,1.1vw,1.08rem);}
