/* Additional destinations reuse the current type, colours and photographic cards. */
.site-header__inner { gap:16px; }
.site-nav > ul { gap:0; }
.site-nav a,.payments-menu summary { font-size:13px; padding-inline:10px; white-space:nowrap; }
.payments-menu { position:relative; }
.payments-menu summary { display:flex; align-items:center; gap:6px; min-height:40px; border-radius:999px; font-weight:500; color:var(--navy-soft); cursor:pointer; list-style:none; }
.payments-menu summary::-webkit-details-marker { display:none; }
.payments-menu summary:hover,.payments-menu summary[aria-current] { background:rgba(8,55,95,.06); color:var(--navy); }
.site-nav .payments-menu__links { position:absolute; left:0; top:calc(100% + 8px); display:grid; min-width:220px; gap:4px; padding:10px; border:1px solid var(--line); border-radius:16px; background:var(--paper); box-shadow:var(--shadow); }
.payments-menu:not([open]) .payments-menu__links { display:none; }
.site-header.is-over-stage .payments-menu summary { color:#fff; }
.site-header.is-over-stage .payments-menu__links a { color:var(--navy); }
.site-header.is-over-stage .payments-menu__links a:hover { background:rgba(8,55,95,.06); color:var(--navy); }
.site-header .site-nav__action .button { color:white; background:var(--navy); }
.unified-hero-images { margin:0; }
.section[id],article[id],#reporting { scroll-margin-top:calc(var(--header-h) + 20px); }
.rewards-partner-logo { width:320px; max-width:100%; height:auto; margin:0 0 8px; }
.pathway-card__media--product { background:radial-gradient(ellipse at 50% 35%,#fff,#e4ece9); }
.pathway-card__media--product::after { display:none; }
.pathway-card .pathway-card__media--product .pathway__image { position:absolute; inset:50% auto auto 50%; width:auto; height:auto; max-width:100%; max-height:100%; object-fit:contain; transform:translate(-50%,-50%); }
.device-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.device-grid .device-card { align-content:start; grid-column:auto; }
.device-card h3 { font-size:clamp(23px,2.2vw,30px); line-height:1.12; margin:0; }
.device-card p { margin:0; font-size:14px; color:var(--navy-soft); }
.device-card .button { justify-self:start; margin-top:8px; }
.benefit-list { padding:0; margin:12px 0; list-style:none; display:grid; gap:10px; font-size:14px; line-height:1.55; color:var(--navy-soft); }
.benefit-list li { padding-left:20px; position:relative; }
.benefit-list li::before { content:'✓'; color:#168473; position:absolute; left:0; }
#online .device-grid { grid-template-columns:1fr; }
#online .device-card { grid-template-columns:1fr 1fr; }
#online .pathway-card__media { height:100%; aspect-ratio:auto; }
.plan-grid,.benefit-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.plan-card { padding:28px; border:1px solid #deeaeb; background:#f6faf9; border-radius:20px; display:flex; flex-direction:column; align-items:flex-start; }
.plan-card h3 { font-size:28px; line-height:1.15; margin-bottom:16px; }
.plan-card p { color:var(--navy-soft); font-size:14px; }
.plan-options { margin:10px 0 20px; width:100%; font-size:13px; }
.plan-options > div { padding:12px 0; border-top:1px solid var(--line); }
.plan-options dt { font-weight:600; margin-bottom:4px; }
.plan-options dd { margin:0; color:var(--navy-soft); line-height:1.5; }
.card-actions { margin-top:auto; padding-top:16px; display:flex; flex-wrap:wrap; gap:16px; align-items:center; }
.card-actions .unified-text-link { margin:0; }
.rewards-tiers { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.plan-card .points-headline { font-size:clamp(30px,3.5vw,48px); margin-bottom:8px; }
.rewards-tiers .button { margin-top:auto; }
.section-action { margin-top:28px; }
.placeholder-status { color:var(--navy-soft); border-top:1px solid var(--line); padding-top:12px; font-size:12px; }
.benefit-grid article { border-top:1px solid #d9e5e6; padding-top:22px; }
.benefit-grid h3 { font-size:23px; line-height:1.2; margin-bottom:12px; }
.benefit-grid p { font-size:14px; line-height:1.7; color:var(--navy-soft); }
#why-touch2pay .benefit-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.customer-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; margin:0; padding:0; list-style:none; }
.customer-steps li { border-top:2px solid #d9e5e6; padding-top:18px; }
.customer-steps li > span { color:#168473; font-size:12px; }
.customer-steps h3 { font-size:21px; line-height:1.3; margin:12px 0; }
.customer-steps p { font-size:14px; color:var(--navy-soft); }
.travel-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; margin-top:24px; }
.travel-card:first-child { grid-column:1/-1; }
.travel-card h3 { font-size:28px; margin:20px 0 10px; }
.travel-card > p { color:var(--navy-soft); margin-bottom:0; font-size:15px; }
.travel-card .real-photo img { aspect-ratio:1.8; }
.travel-card:first-child .real-photo img { aspect-ratio:2.3; }
.travel-card figcaption { font-size:11px; }
.orbit-partner-line { color:#fff; font-size:14px; max-width:36rem; margin-bottom:20px; }
@media(max-width:1180px) {
 .site-header__inner { min-height:var(--header-h); flex-wrap:wrap; gap:12px; }
 html.js .nav-toggle { display:inline-flex; align-items:center; justify-content:center; margin-left:auto; }
 .site-nav { flex-basis:100%; margin-left:0; }
 html.js .site-nav { display:none; position:absolute; top:calc(100% + 8px); right:20px; left:20px; padding:12px; border:1px solid var(--line); border-radius:20px; background:var(--paper); box-shadow:var(--shadow); max-height:calc(100dvh - var(--header-h) - 28px); overflow:auto; }
 html.js .site-nav.is-open { display:block; }
 .site-nav > ul { display:grid; gap:2px; }
 .site-nav a { width:100%; padding-inline:14px; }
 .payments-menu summary { padding-inline:14px; }
 .site-header.is-over-stage .site-nav a,.site-header.is-over-stage .payments-menu summary { color:var(--navy); }
 .site-nav .payments-menu__links { position:static; min-width:0; margin:4px 14px 8px; padding:4px 8px; border:0; border-left:1px solid var(--line); border-radius:0; box-shadow:none; }
 .site-nav__action { display:block; padding-top:8px; }
 .site-nav__action .button { width:100%; }
 .header-action { display:none; }
 html:not(.js) .site-header__inner { height:auto; }
}
@media(max-width:900px) {
 .device-grid,.plan-grid { grid-template-columns:1fr; }
 .device-grid .device-card { grid-template-columns:38% 1fr; }
 .device-grid .device-card .pathway-card__media { aspect-ratio:auto; height:100%; }
 .benefit-grid,#why-touch2pay .benefit-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .plan-card { padding:24px; }
 .customer-steps h3 { font-size:18px; }
}
@media(max-width:600px) {
 .device-grid .device-card,#online .device-card { grid-template-columns:1fr; }
 .device-grid .device-card .pathway-card__media { aspect-ratio:16/9; height:auto; }
 .device-card .pathway-card__content { padding:20px; }
 .rewards-tiers,.benefit-grid,#why-touch2pay .benefit-grid,.travel-gallery,.customer-steps { grid-template-columns:1fr; }
 .travel-card:first-child { grid-column:auto; }
 .travel-card:first-child .real-photo img { aspect-ratio:1.8; }
 .travel-card h3 { font-size:25px; }
 .orbit-intro h1 { font-size:38px; }
 .orbit-intro .lede { font-size:15px; margin-bottom:12px; }
 .orbit-partner-line { font-size:12px; margin-bottom:14px; }
 .orbit-actions { gap:8px; }
 .orbit-actions .button { font-size:13px; padding-inline:15px; }
 .orbit-intro { bottom:40px; }
}
/* Keep the new buyer choices available in the film's static alternatives. */
@media(prefers-reduced-motion:reduce) {
 .orbit-stage { aspect-ratio:auto; }
 .orbit-intro, html.js .orbit-scroll.is-static .orbit-intro { position:relative; opacity:1; transform:none; pointer-events:auto; padding:clamp(210px,50vw,440px) 0 35px; bottom:auto; background:linear-gradient(transparent,#071b2c 65%); }
 .orbit-captions,.orbit-grain { display:none; }
 .orbit-still { height:clamp(210px,50vw,440px); object-fit:cover; }
}
html:not(.js) .orbit-intro,.orbit-scroll.is-failed .orbit-intro { opacity:1; pointer-events:auto; }

/* Native disclosure keeps product detail available to keyboard and no-script visitors. */
.device-details { border-top:1px solid var(--line); padding-top:12px; }
.device-details summary { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:44px; cursor:pointer; font-size:14px; font-weight:600; color:var(--navy); list-style:none; }
.device-details summary::-webkit-details-marker { display:none; }
.device-details summary::after { content:'+'; font-size:20px; font-weight:400; }
.device-details[open] summary::after { content:'−'; }
.device-details summary:focus-visible { outline:2px solid var(--navy); outline-offset:4px; border-radius:4px; }
.device-card .device-configuration { font-size:12px; line-height:1.6; margin-top:12px; }

/* The generated backdrops share one full-frame treatment across the range. */
.pathway-card__media--matched-studio { background:#edf2f1; }
.pathway-card .pathway-card__media--matched-studio .pathway__image { inset:0; width:100%; height:100%; max-width:none; max-height:none; object-fit:contain; transform:none; border-radius:0; }
@media(min-width:901px) {
 .device-grid .device-card { grid-template-rows:auto 1fr; }
 .device-card .pathway-card__content { display:flex; flex-direction:column; align-items:stretch; }
 .device-card .device-details { margin-top:auto; }
 .device-card .button { align-self:flex-start; }
}

/* Online security shares the existing plan-card surface and site tokens. */
.online-security { margin-top:48px; padding-top:40px; border-top:1px solid var(--line); }
.online-security__heading { max-width:680px; margin-bottom:28px; }
.online-security__heading h3 { margin:0 0 12px; font-size:clamp(28px,3vw,36px); line-height:1.15; letter-spacing:-.035em; }
.online-security__heading p { margin:0; color:var(--navy-soft); font-size:16px; line-height:1.6; }
.online-security__grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.online-security__card { min-width:0; }
.online-security__icon { display:grid; place-items:center; width:48px; height:48px; margin-bottom:24px; border:1px solid var(--line); border-radius:14px; background:var(--paper); color:var(--turquoise-deep); }
.online-security__card h4 { margin:0 0 10px; font-size:21px; line-height:1.25; letter-spacing:-.02em; }
.online-security__card .online-security__headline { margin:0 0 20px; font-size:16px; font-weight:600; line-height:1.45; color:var(--navy); }
.online-security__details { list-style:none; padding:0; margin:0; display:grid; gap:14px; color:var(--navy-soft); font-size:14px; line-height:1.65; }
@media(min-width:601px) and (max-width:900px) { .online-security__grid { gap:16px; } .online-security__card { padding:20px; } }
@media(max-width:600px) { .online-security__grid { grid-template-columns:1fr; } .online-security { margin-top:32px; padding-top:32px; } }
