/* Team training page.
   The light gradient canvas with an Irish warmth: emerald as the working
   colour, a touch of gold, the shamrock as a soft watermark behind the
   hero. Wide marketing measure (1180px), glass cards, one story from the
   hero to the reviews. Plus Jakarta Sans for headings, numbers and
   buttons, Inter for the text. The markup keeps its existing tp classes so
   every word on the page stays exactly as it ranks today. */

/* Tokens */

.tp {
    --tp-font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --tp-font-display: 'Plus Jakarta Sans', 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;

    --tp-ink: #0b1220;
    --tp-ink-2: #253247;
    --tp-ink-3: #3f4d66;

    --tp-line: rgba(6, 78, 59, 0.1);
    --tp-line-strong: #cfdcd6;

    --tp-green: #059669;
    --tp-green-deep: #047857;
    --tp-green-ink: #065f46;
    --tp-green-soft: #ecfdf5;
    --tp-green-tint: #f2fbf7;

    --tp-gold: #d97706;
    --tp-gold-deep: #b45309;
    --tp-gold-soft: #fff7ed;
    --tp-orange: #ea580c;
    --tp-orange-soft: #fff1e7;
    --tp-amber-soft: #fffbeb;

    --tp-navy: #0f1f4b;
    --tp-blue-deep: #1d4ed8;

    --tp-radius-card: 26px;
    --tp-radius-lg: 18px;
    --tp-radius-md: 14px;

    --tp-glass: rgba(255, 255, 255, 0.78);
    --tp-shadow-card:
        0 1px 2px rgba(15, 23, 42, 0.04),
        0 28px 60px -34px rgba(6, 78, 59, 0.4),
        inset 0 1px 0 rgba(255, 255, 255, 0.9);
    --tp-ring: 0 0 0 4px rgba(5, 150, 105, 0.18);
    --tp-ease: cubic-bezier(0.22, 1, 0.36, 1);

    /* Everything grows with this factor on wide screens: two gentle steps,
       then the page stops growing and the extra width becomes margin. */
    --tp-scale: 1;
}

@media (min-width: 1600px) {
    .tp { --tp-scale: 1.08; }
}

@media (min-width: 1800px) {
    .tp { --tp-scale: 1.16; }
}

/* Canvas */

.tp {
    position: relative;
    isolation: isolate;
    width: 100%;
    margin: 0;
    padding: 0;
    font-family: var(--tp-font-body);
    color: var(--tp-ink);
    font-size: calc(17px * var(--tp-scale));
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    background:
        radial-gradient(760px 420px at 50% 0%, rgba(110, 231, 183, 0.42), rgba(110, 231, 183, 0) 100%),
        radial-gradient(900px 560px at 6% 4%, rgba(16, 185, 129, 0.18), rgba(16, 185, 129, 0) 100%),
        radial-gradient(760px 520px at 94% 10%, rgba(251, 191, 36, 0.22), rgba(251, 191, 36, 0) 100%),
        linear-gradient(180deg, #f5fbf8 0%, #f1f6fb 100%);
}

.tp,
.tp * {
    box-sizing: border-box;
}

.tp * {
    font-family: inherit;
}

.tp [hidden] {
    display: none !important;
}

.tp-wrap {
    width: 100%;
    max-width: calc(1180px * var(--tp-scale));
    margin: 0 auto;
    padding: 0 20px;
}

/* Sections share one vertical rhythm */
.tp-hero,
.tp-benefits,
.tp-how,
.tp-pay,
.tp-pricing {
    position: relative;
    margin: 0;
    padding: calc(64px * var(--tp-scale)) 0;
    background: none;
}

.tp-hero {
    padding-top: calc(56px * var(--tp-scale));
    overflow: hidden;
}

/* Alternating soft bands keep the long page readable without hard edges */
.tp-how,
.tp-pricing {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.55) 18%, rgba(255, 255, 255, 0.55) 82%, rgba(255, 255, 255, 0) 100%);
}

/* Scroll reveal: gentle, never a slideshow */
.tp-reveal {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity 0.6s var(--tp-ease), transform 0.6s var(--tp-ease);
}

.tp-reveal.revealed {
    opacity: 1;
    transform: translateY(0);
}

/* Hero */

.tp-hero__bg {
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
}

.tp-hero__orb,
.tp-hero__mesh {
    display: none;
}

/* The shamrock, a soft watermark rather than a sticker */
.tp-hero__shamrock {
    position: absolute;
    top: calc(-40px * var(--tp-scale));
    right: calc(4% + 20px);
    width: clamp(220px, 22vw, calc(360px * var(--tp-scale)));
    height: clamp(220px, 22vw, calc(360px * var(--tp-scale)));
    color: var(--tp-green);
    opacity: 0.09;
    transform: rotate(-12deg);
}

.tp-hero__shamrock svg {
    width: 100%;
    height: 100%;
    display: block;
}

/* The UK platforms carry a crown in the same place, in gold */
.tp-hero__crown {
    position: absolute;
    top: calc(-20px * var(--tp-scale));
    right: calc(4% + 20px);
    width: clamp(200px, 20vw, calc(320px * var(--tp-scale)));
    height: clamp(200px, 20vw, calc(320px * var(--tp-scale)));
    color: var(--tp-gold);
    opacity: 0.09;
    transform: rotate(-8deg);
    pointer-events: none;
}

.tp-hero__crown svg {
    width: 100%;
    height: 100%;
    display: block;
}

.tp-hero__content {
    max-width: calc(860px * var(--tp-scale));
    margin: 0 auto;
    text-align: center;
}

.tp-hero__badge {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin: 0;
    padding: 8px 15px 8px 13px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.85);
    border: 1px solid rgba(255, 255, 255, 0.95);
    box-shadow: 0 0 0 1px var(--tp-line), 0 10px 24px -18px rgba(6, 78, 59, 0.6);
    color: var(--tp-green-ink);
    font-size: calc(13.5px * var(--tp-scale));
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    line-height: 1.2;
}

.tp-hero__badge-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--tp-green);
    box-shadow: 0 0 0 3px rgba(5, 150, 105, 0.18);
    flex: 0 0 auto;
    animation: tp-dot 2.8s ease-in-out infinite;
}

@keyframes tp-dot {
    0%, 100% { box-shadow: 0 0 0 3px rgba(5, 150, 105, 0.18); }
    50% { box-shadow: 0 0 0 6px rgba(5, 150, 105, 0.08); }
}

.tp-hero__badge-short {
    display: none;
}

.tp .tp-hero__h1 {
    font-family: var(--tp-font-display);
    font-size: clamp(34px, 5.6vw, calc(58px * var(--tp-scale)));
    font-weight: 800;
    line-height: 1.06;
    letter-spacing: -0.035em;
    color: var(--tp-ink);
    margin: calc(26px * var(--tp-scale)) 0 0;
    text-wrap: balance;
}

/* The saving in the Irish colours: emerald into gold */
.tp-hero__h1 span {
    background: linear-gradient(100deg, #047857 0%, #059669 42%, #d97706 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: var(--tp-green-deep);
}

.tp-hero__desc {
    max-width: calc(760px * var(--tp-scale));
    margin: calc(22px * var(--tp-scale)) auto 0;
    font-size: calc(18.5px * var(--tp-scale));
    font-weight: 500;
    line-height: 1.65;
    color: var(--tp-ink-2);
    text-wrap: pretty;
}

.tp-hero__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 14px;
    margin: calc(32px * var(--tp-scale)) 0 0;
}

/* Buttons */

.tp-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: calc(56px * var(--tp-scale));
    padding: 0 calc(26px * var(--tp-scale));
    border-radius: 16px;
    font-family: var(--tp-font-display);
    font-size: calc(16px * var(--tp-scale));
    font-weight: 700;
    line-height: 1;
    letter-spacing: -0.01em;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    overflow: hidden;
    transition: transform 0.2s var(--tp-ease), box-shadow 0.2s var(--tp-ease), background-color 0.2s var(--tp-ease), border-color 0.2s var(--tp-ease), color 0.2s var(--tp-ease);
}

.tp-btn svg {
    width: 18px;
    height: 18px;
    flex: 0 0 auto;
}

/* Hover is unmistakable: the button lifts, the glow widens and the icon
   nudges along the direction it points to */
.tp-btn:hover {
    transform: translateY(-3px);
    text-decoration: none;
}

.tp-btn:active {
    transform: translateY(-1px) scale(0.99);
}

.tp-btn svg {
    transition: transform 0.25s var(--tp-ease);
}

.tp-btn:hover svg:last-child:not(:first-child) {
    transform: translateX(4px);
}

.tp-btn:hover svg:first-child:not(:last-child) {
    transform: translateY(-2px);
}

.tp-btn:focus-visible {
    outline: none;
    box-shadow: var(--tp-ring);
}

.tp-btn--primary {
    color: #ffffff;
    background: linear-gradient(135deg, #047857 0%, #059669 55%, #10b981 100%);
    background-size: 160% 100%;
    background-position: 0% 50%;
    border: 1px solid rgba(255, 255, 255, 0.28);
    box-shadow: 0 18px 34px -16px rgba(5, 150, 105, 0.7), inset 0 1px 0 rgba(255, 255, 255, 0.28);
    transition: transform 0.2s var(--tp-ease), box-shadow 0.2s var(--tp-ease), background-position 0.45s var(--tp-ease), filter 0.2s var(--tp-ease);
}

/* A single slow shimmer, the same treatment as the pay button */
.tp-btn--primary::after {
    content: '';
    position: absolute;
    top: 0;
    left: -60%;
    width: 40%;
    height: 100%;
    background: linear-gradient(100deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.28) 50%, rgba(255, 255, 255, 0) 100%);
    transform: skewX(-18deg);
    animation: tp-shimmer 4.5s ease-in-out infinite;
    pointer-events: none;
}

@keyframes tp-shimmer {
    0%, 60% { left: -60%; }
    100% { left: 130%; }
}

.tp-btn--primary:hover {
    color: #ffffff;
    background-position: 100% 50%;
    filter: saturate(1.08) brightness(1.04);
    box-shadow: 0 26px 44px -16px rgba(5, 150, 105, 0.85), 0 0 0 6px rgba(5, 150, 105, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.32);
}

.tp-btn--outline {
    color: var(--tp-ink);
    background: rgba(255, 255, 255, 0.85);
    border: 1px solid var(--tp-line-strong);
    box-shadow: 0 10px 24px -18px rgba(6, 78, 59, 0.5);
}

.tp-btn--outline svg {
    color: var(--tp-green-deep);
}

.tp-btn--outline:hover {
    color: var(--tp-green-ink);
    border-color: var(--tp-green);
    background: #ffffff;
    box-shadow: 0 20px 34px -18px rgba(5, 150, 105, 0.55), 0 0 0 6px rgba(5, 150, 105, 0.1);
}

/* Downloading the guide: the icon becomes a spinner while the PDF arrives,
   then a tick with "Downloaded" for a moment. The width is held so the
   button does not jump between the three labels. */
.tp-btn.is-loading,
.tp-btn.is-done {
    pointer-events: none;
}

.tp-btn.is-loading svg,
.tp-btn.is-done svg {
    display: none;
}

.tp-btn.is-loading::before {
    content: '';
    width: 18px;
    height: 18px;
    flex: 0 0 auto;
    border-radius: 50%;
    border: 2.5px solid rgba(5, 150, 105, 0.22);
    border-top-color: var(--tp-green);
    animation: tp-spin 0.8s linear infinite;
}

.tp-btn.is-done {
    color: var(--tp-green-ink);
    border-color: var(--tp-green);
    background: var(--tp-green-soft);
    box-shadow: 0 16px 30px -18px rgba(5, 150, 105, 0.6), 0 0 0 6px rgba(5, 150, 105, 0.1);
}

.tp-btn.is-done::before {
    content: '';
    width: 20px;
    height: 20px;
    flex: 0 0 auto;
    border-radius: 50%;
    background:
        url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>") center/12px no-repeat,
        linear-gradient(150deg, #10b981 0%, #059669 100%);
    animation: tp-pop 0.35s var(--tp-ease);
}

@keyframes tp-spin {
    to { transform: rotate(360deg); }
}

@keyframes tp-pop {
    0% { transform: scale(0.4); opacity: 0; }
    100% { transform: scale(1); opacity: 1; }
}

/* Hero metrics: four glass tiles */
.tp-hero__metrics {
    margin: calc(44px * var(--tp-scale)) 0 0;
}

.tp-hero__metrics-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: calc(18px * var(--tp-scale));
}

.tp-hero__metric {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: calc(20px * var(--tp-scale)) calc(22px * var(--tp-scale));
    background: var(--tp-glass);
    -webkit-backdrop-filter: blur(24px) saturate(150%);
    backdrop-filter: blur(24px) saturate(150%);
    border: 1px solid rgba(255, 255, 255, 0.95);
    border-radius: var(--tp-radius-lg);
    box-shadow: var(--tp-shadow-card), 0 0 0 1px var(--tp-line);
}

.tp-hero__metric-icon {
    display: inline-grid;
    place-items: center;
    width: calc(46px * var(--tp-scale));
    height: calc(46px * var(--tp-scale));
    flex: 0 0 auto;
    border-radius: 14px;
    background: linear-gradient(150deg, #e8faf1 0%, #ffffff 100%);
    border: 1px solid rgba(5, 150, 105, 0.18);
    box-shadow: inset 0 1px 0 #ffffff, 0 8px 18px -14px rgba(6, 78, 59, 0.7);
    color: var(--tp-green-deep);
}

.tp-hero__metric-icon svg {
    width: calc(22px * var(--tp-scale));
    height: calc(22px * var(--tp-scale));
}

.tp-hero__metric-data {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

.tp-hero__metric-num {
    font-family: var(--tp-font-display);
    font-size: calc(24px * var(--tp-scale));
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: var(--tp-ink);
}

.tp-hero__metric-label {
    font-size: calc(14px * var(--tp-scale));
    font-weight: 600;
    line-height: 1.3;
    color: var(--tp-ink-3);
}

/* Section heads */

.tp-benefits__header,
.tp-how__header,
.tp-pay__header,
.tp-pricing__header {
    max-width: calc(760px * var(--tp-scale));
    margin: 0 auto calc(44px * var(--tp-scale));
    text-align: center;
}

.tp-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin: 0;
    padding: 8px 15px 8px 13px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.85);
    border: 1px solid rgba(255, 255, 255, 0.95);
    box-shadow: 0 0 0 1px var(--tp-line), 0 10px 24px -18px rgba(6, 78, 59, 0.6);
    color: var(--tp-green-ink);
    font-size: calc(13.5px * var(--tp-scale));
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    line-height: 1.2;
}

.tp-eyebrow::before {
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--tp-green);
    box-shadow: 0 0 0 3px rgba(5, 150, 105, 0.18);
    flex: 0 0 auto;
}

.tp .tp-title {
    font-family: var(--tp-font-display);
    font-size: clamp(28px, 4.2vw, calc(40px * var(--tp-scale)));
    font-weight: 800;
    line-height: 1.12;
    letter-spacing: -0.03em;
    color: var(--tp-ink);
    margin: calc(24px * var(--tp-scale)) 0 0;
    text-wrap: balance;
}

.tp-subtitle {
    margin: calc(20px * var(--tp-scale)) auto 0;
    font-size: calc(17.5px * var(--tp-scale));
    font-weight: 500;
    line-height: 1.65;
    color: var(--tp-ink-2);
    text-wrap: pretty;
}

/* Glass card, shared by every block below */
.tp-bcard,
.tp-hcard,
.tp-pay__card,
.tp-tier,
.tp-pay__sec-card {
    position: relative;
    background: var(--tp-glass);
    -webkit-backdrop-filter: blur(24px) saturate(150%);
    backdrop-filter: blur(24px) saturate(150%);
    border: 1px solid rgba(255, 255, 255, 0.95);
    border-radius: var(--tp-radius-card);
    box-shadow: var(--tp-shadow-card), 0 0 0 1px var(--tp-line);
    transition: transform 0.25s var(--tp-ease), box-shadow 0.25s var(--tp-ease);
}

.tp-bcard:hover,
.tp-hcard:hover,
.tp-tier:hover {
    transform: translateY(-3px);
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04), 0 34px 70px -34px rgba(6, 78, 59, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.9), 0 0 0 1px var(--tp-line);
}

/* Benefits: two wide cards, then four */

.tp-benefits__grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: calc(22px * var(--tp-scale));
}

.tp-bcard {
    display: flex;
    flex-direction: column;
    padding: calc(28px * var(--tp-scale));
}

.tp-bcard--featured {
    grid-column: span 6;
}

.tp-bcard--compact {
    grid-column: span 3;
}

.tp-bcard__icon {
    display: inline-grid;
    place-items: center;
    width: calc(52px * var(--tp-scale));
    height: calc(52px * var(--tp-scale));
    margin: 0 0 calc(20px * var(--tp-scale));
    border-radius: 16px;
    background: linear-gradient(150deg, #e8faf1 0%, #ffffff 100%);
    border: 1px solid rgba(5, 150, 105, 0.18);
    box-shadow: inset 0 1px 0 #ffffff, 0 8px 18px -14px rgba(6, 78, 59, 0.7);
    color: var(--tp-green-deep);
}

.tp-bcard__icon svg {
    width: calc(24px * var(--tp-scale));
    height: calc(24px * var(--tp-scale));
}

.tp-bcard--gold .tp-bcard__icon {
    background: linear-gradient(150deg, #fff4dc 0%, #ffffff 100%);
    border-color: rgba(217, 119, 6, 0.22);
    color: var(--tp-gold-deep);
}

.tp-bcard--orange .tp-bcard__icon {
    background: linear-gradient(150deg, #ffe9da 0%, #ffffff 100%);
    border-color: rgba(234, 88, 12, 0.22);
    color: var(--tp-orange);
}

.tp-bcard--amber .tp-bcard__icon {
    background: linear-gradient(150deg, #fff6d6 0%, #ffffff 100%);
    border-color: rgba(180, 83, 9, 0.22);
    color: var(--tp-gold-deep);
}

.tp-bcard--blue .tp-bcard__icon {
    background: linear-gradient(150deg, #e8f0ff 0%, #ffffff 100%);
    border-color: rgba(37, 99, 235, 0.18);
    color: var(--tp-blue-deep);
}

.tp-bcard--violet .tp-bcard__icon {
    background: linear-gradient(150deg, #f1ecff 0%, #ffffff 100%);
    border-color: rgba(109, 40, 217, 0.18);
    color: #5b21b6;
}

/* The full catalog platforms explain four discounts in the fifth card, so
   the three short compact cards share one row and the savings card takes
   the full width with its paragraph in two columns. No card towers over
   its neighbours. */
.tp--catalog .tp-benefits__grid {
    grid-auto-flow: dense;
}

.tp--catalog .tp-bcard--compact {
    grid-column: span 4;
}

.tp--catalog .tp-bcard:nth-child(5) {
    grid-column: 1 / -1;
}

.tp--catalog .tp-bcard:nth-child(5) .tp-bcard__text {
    column-count: 2;
    column-gap: calc(36px * var(--tp-scale));
}

@media (max-width: 1100px) {
    .tp--catalog .tp-bcard--compact {
        grid-column: span 6;
    }

    .tp--catalog .tp-bcard:nth-child(5),
    .tp--catalog .tp-bcard:nth-child(6) {
        grid-column: 1 / -1;
    }
}

@media (max-width: 900px) {
    .tp--catalog .tp-bcard:nth-child(5) .tp-bcard__text {
        column-count: 1;
    }
}

.tp .tp-bcard__title {
    font-family: var(--tp-font-display);
    font-size: calc(21px * var(--tp-scale));
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: -0.02em;
    color: var(--tp-ink);
    margin: 0 0 12px;
}

.tp-bcard--featured .tp-bcard__title {
    font-size: calc(24px * var(--tp-scale));
}

.tp-bcard__text {
    margin: 0;
    font-size: calc(16px * var(--tp-scale));
    font-weight: 500;
    line-height: 1.65;
    color: var(--tp-ink-2);
}

.tp-bcard--featured .tp-bcard__text {
    font-size: calc(16.5px * var(--tp-scale));
}

/* How it works: the steps as a timeline, one per row, the number on the
   left. Five steps read better top to bottom than five narrow columns. */

.tp-how__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: calc(16px * var(--tp-scale));
}

.tp-hcard {
    display: grid;
    grid-template-columns: calc(52px * var(--tp-scale)) minmax(0, 1fr);
    column-gap: calc(22px * var(--tp-scale));
    align-items: start;
    padding: calc(26px * var(--tp-scale)) calc(28px * var(--tp-scale));
}

.tp-hcard__top {
    grid-row: 1 / span 2;
    display: flex;
    align-items: center;
    margin: 0;
}

.tp-hcard__num {
    display: inline-grid;
    place-items: center;
    width: calc(52px * var(--tp-scale));
    height: calc(52px * var(--tp-scale));
    border-radius: 16px;
    background: linear-gradient(150deg, #047857 0%, #059669 60%, #10b981 100%);
    box-shadow: 0 14px 26px -14px rgba(5, 150, 105, 0.9), inset 0 1px 0 rgba(255, 255, 255, 0.28);
    color: #ffffff;
    font-family: var(--tp-font-display);
    font-size: calc(22px * var(--tp-scale));
    font-weight: 800;
    line-height: 1;
}

.tp .tp-hcard__title {
    font-family: var(--tp-font-display);
    font-size: calc(20px * var(--tp-scale));
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: -0.02em;
    color: var(--tp-ink);
    margin: calc(13px * var(--tp-scale)) 0 10px;
}

.tp-hcard__text {
    margin: 0;
    font-size: calc(16px * var(--tp-scale));
    font-weight: 500;
    line-height: 1.65;
    color: var(--tp-ink-2);
}

.tp-hcard__text strong {
    font-weight: 700;
    color: var(--tp-ink);
}

.tp-how__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px 28px;
    flex-wrap: wrap;
    margin: calc(28px * var(--tp-scale)) 0 0;
    padding: calc(24px * var(--tp-scale)) calc(28px * var(--tp-scale));
    border-radius: var(--tp-radius-card);
    background: linear-gradient(180deg, #eefbf4 0%, #e6f7ee 100%);
    border: 1px solid rgba(5, 150, 105, 0.16);
    box-shadow: 0 20px 40px -32px rgba(6, 78, 59, 0.5);
}

.tp-how__footer-text {
    flex: 1 1 360px;
    margin: 0;
    font-size: calc(16.5px * var(--tp-scale));
    font-weight: 500;
    line-height: 1.6;
    color: var(--tp-ink-2);
}

.tp-how__footer-text strong,
.tp-pay__banner-text strong,
.tp-pricing__note strong,
.tp-pay__card-note strong,
.tp-pay__flash-text strong {
    font-weight: 700;
    color: var(--tp-ink);
}

/* Payment options: the recommended card first */

.tp-pay__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: calc(22px * var(--tp-scale));
    align-items: start;
}

.tp-pay__card {
    display: flex;
    flex-direction: column;
    padding: calc(30px * var(--tp-scale));
}

.tp-pay__card--primary {
    box-shadow: var(--tp-shadow-card), 0 0 0 2px rgba(5, 150, 105, 0.45);
}

.tp-pay__card-top {
    margin: 0 0 calc(22px * var(--tp-scale));
}

.tp-pay__badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 16px;
    padding: 7px 13px 7px 11px;
    border-radius: 999px;
    font-size: calc(12.5px * var(--tp-scale));
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    line-height: 1.2;
}

.tp-pay__badge-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: currentColor;
    flex: 0 0 auto;
}

.tp-pay__badge--green {
    background: var(--tp-green-soft);
    color: var(--tp-green-ink);
    border: 1px solid rgba(5, 150, 105, 0.2);
}

.tp-pay__badge--neutral {
    background: #f1f5f9;
    color: var(--tp-ink-3);
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.tp .tp-pay__card-title {
    font-family: var(--tp-font-display);
    font-size: calc(25px * var(--tp-scale));
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: var(--tp-ink);
    margin: 0 0 12px;
}

.tp-pay__card-desc {
    margin: 0;
    font-size: calc(16px * var(--tp-scale));
    font-weight: 500;
    line-height: 1.65;
    color: var(--tp-ink-2);
}

.tp-pay__methods {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0 0 calc(20px * var(--tp-scale));
}

.tp-pay__pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 44px;
    padding: 0 16px;
    border-radius: 12px;
    background: #ffffff;
    border: 1px solid var(--tp-line);
    box-shadow: 0 8px 18px -14px rgba(6, 78, 59, 0.6);
}

.tp-pay__logo {
    display: block;
    height: 20px;
    width: auto;
}

.tp-pay__logo--visa { height: 16px; }
.tp-pay__logo--mc { height: 22px; }
.tp-pay__logo--apple { height: 20px; }
.tp-pay__logo--google { height: 20px; }

.tp-pay__flash {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin: 0 0 calc(20px * var(--tp-scale));
    padding: calc(16px * var(--tp-scale)) calc(18px * var(--tp-scale));
    border-radius: var(--tp-radius-lg);
    background: var(--tp-green-soft);
    border: 1px solid rgba(5, 150, 105, 0.16);
}

.tp-pay__flash-icon {
    display: inline-grid;
    place-items: center;
    width: 40px;
    height: 40px;
    flex: 0 0 auto;
    border-radius: 12px;
    background: #ffffff;
    color: var(--tp-green-deep);
    box-shadow: 0 8px 18px -14px rgba(6, 78, 59, 0.7);
}

.tp-pay__flash-icon svg {
    width: 20px;
    height: 20px;
}

.tp-pay__flash-text {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
    font-size: calc(15.5px * var(--tp-scale));
    font-weight: 500;
    line-height: 1.55;
    color: var(--tp-ink-2);
}

.tp-pay__flash-text strong {
    font-family: var(--tp-font-display);
    font-size: calc(16.5px * var(--tp-scale));
}

.tp-pay__timing {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin: 0 0 calc(20px * var(--tp-scale));
    padding: calc(16px * var(--tp-scale)) calc(18px * var(--tp-scale));
    border-radius: var(--tp-radius-lg);
    background: var(--tp-gold-soft);
    border: 1px solid rgba(217, 119, 6, 0.18);
    font-size: calc(15.5px * var(--tp-scale));
    font-weight: 500;
    line-height: 1.6;
    color: var(--tp-ink-2);
}

.tp-pay__timing svg {
    width: 22px;
    height: 22px;
    flex: 0 0 auto;
    margin-top: 2px;
    color: var(--tp-gold-deep);
}

.tp-pay__list {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.tp-pay__list li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: calc(13px * var(--tp-scale)) 0;
    border-top: 1px solid var(--tp-line);
    font-size: calc(16px * var(--tp-scale));
    font-weight: 500;
    line-height: 1.55;
    color: var(--tp-ink-2);
}

.tp-pay__list li:first-child {
    border-top: 0;
    padding-top: 0;
}

.tp-pay__list svg {
    width: 22px;
    height: 22px;
    flex: 0 0 auto;
    padding: 4px;
    border-radius: 50%;
    background: var(--tp-green-soft);
    color: var(--tp-green-deep);
    margin-top: 1px;
}

.tp-pay__card-note {
    margin: calc(18px * var(--tp-scale)) 0 0;
    font-size: calc(15px * var(--tp-scale));
    font-weight: 500;
    line-height: 1.6;
    color: var(--tp-ink-3);
}

.tp-pay__btn {
    width: 100%;
    margin-top: calc(24px * var(--tp-scale));
}

/* The invoice button is a link styled like the outline button */
.tp-pay__btn--outline {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: calc(56px * var(--tp-scale));
    padding: 0 calc(26px * var(--tp-scale));
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.85);
    border: 1px solid var(--tp-line-strong);
    box-shadow: 0 10px 24px -18px rgba(6, 78, 59, 0.5);
    color: var(--tp-ink);
    font-family: var(--tp-font-display);
    font-size: calc(16px * var(--tp-scale));
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
    transition: transform 0.2s var(--tp-ease), border-color 0.2s var(--tp-ease), color 0.2s var(--tp-ease), background-color 0.2s var(--tp-ease), box-shadow 0.2s var(--tp-ease);
}

.tp-pay__btn--outline svg {
    width: 18px;
    height: 18px;
    color: var(--tp-green-deep);
    transition: transform 0.25s var(--tp-ease);
}

.tp-pay__btn--outline:hover {
    transform: translateY(-3px);
    color: var(--tp-green-ink);
    border-color: var(--tp-green);
    background: #ffffff;
    box-shadow: 0 20px 34px -18px rgba(5, 150, 105, 0.55), 0 0 0 6px rgba(5, 150, 105, 0.1);
    text-decoration: none;
}

.tp-pay__btn--outline:hover svg {
    transform: translateY(-2px);
}

.tp-pay__btn--outline:active {
    transform: translateY(-1px) scale(0.99);
}

.tp-pay__btn--outline:focus-visible {
    outline: none;
    box-shadow: var(--tp-ring);
}

/* The secondary card keeps its last line at the bottom on desktop */
.tp-pay__card--secondary .tp-pay__btn--outline {
    margin-top: auto;
}

/* Security row and the one dark plate of the page */
.tp-pay__footer {
    margin: calc(28px * var(--tp-scale)) 0 0;
}

.tp-pay__security {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: calc(16px * var(--tp-scale));
}

.tp-pay__sec-card {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: calc(18px * var(--tp-scale)) calc(20px * var(--tp-scale));
    border-radius: var(--tp-radius-lg);
}

.tp-pay__sec-icon {
    display: inline-grid;
    place-items: center;
    width: 44px;
    height: 44px;
    flex: 0 0 auto;
    border-radius: 13px;
    background: linear-gradient(150deg, #e8faf1 0%, #ffffff 100%);
    border: 1px solid rgba(5, 150, 105, 0.18);
    color: var(--tp-green-deep);
}

.tp-pay__sec-icon svg {
    width: 20px;
    height: 20px;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.tp-pay__sec-text {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

.tp .tp-pay__sec-title {
    font-family: var(--tp-font-display);
    font-size: calc(16px * var(--tp-scale));
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: -0.01em;
    color: var(--tp-ink);
    margin: 0;
}

.tp-pay__sec-desc {
    margin: 0;
    font-size: calc(14px * var(--tp-scale));
    font-weight: 500;
    line-height: 1.4;
    color: var(--tp-ink-3);
}

.tp-pay__banner {
    margin: calc(22px * var(--tp-scale)) 0 0;
    padding: calc(24px * var(--tp-scale)) calc(30px * var(--tp-scale));
    border-radius: var(--tp-radius-card);
    text-align: center;
    color: #ffffff;
    background:
        radial-gradient(420px 220px at 12% 0%, rgba(52, 211, 153, 0.35), rgba(52, 211, 153, 0) 100%),
        radial-gradient(380px 220px at 92% 100%, rgba(251, 191, 36, 0.28), rgba(251, 191, 36, 0) 100%),
        linear-gradient(135deg, #0f1f4b 0%, #0f3d3e 55%, #065f46 100%);
    box-shadow: 0 30px 60px -30px rgba(6, 78, 59, 0.7), inset 0 1px 0 rgba(255, 255, 255, 0.16);
    position: relative;
    overflow: hidden;
}

/* The Irish signature on the one deep plate of the page: the approved gold
   leaf, small, bottom right, a quarter clipped. Irish platforms only (the
   document language carries the market); the UK page prints nothing. */
html[lang="en-IE"] .tp-pay__banner::after {
    content: "";
    position: absolute;
    right: -34px;
    bottom: -46px;
    width: 190px;
    height: 190px;
    background: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><g fill='%23f8e7ab'><path d='M50 46C41 38 33 34 33 25 33 17 41 14 46 18 48 20 49 22 50 26 51 22 52 20 54 18 59 14 67 17 67 25 67 34 59 38 50 46Z'/><path d='M50 46C41 38 33 34 33 25 33 17 41 14 46 18 48 20 49 22 50 26 51 22 52 20 54 18 59 14 67 17 67 25 67 34 59 38 50 46Z' transform='rotate(90 50 50)'/><path d='M50 46C41 38 33 34 33 25 33 17 41 14 46 18 48 20 49 22 50 26 51 22 52 20 54 18 59 14 67 17 67 25 67 34 59 38 50 46Z' transform='rotate(270 50 50)'/><path d='M50 50C52 62 50 70 58 80 51 76 46 68 47 55Z'/></g></svg>") no-repeat center / contain;
    opacity: 0.07;
    transform: rotate(-14deg);
    pointer-events: none;
}

.tp-pay__banner > * {
    position: relative;
    z-index: 1;
}

.tp-pay__banner-text {
    margin: 0;
    font-size: calc(16.5px * var(--tp-scale));
    font-weight: 500;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.88);
}

.tp-pay__banner-text strong {
    color: #ffffff;
}

/* Star deal (full catalog platforms): the one warm plate above the tiers */
.tp-stardeal {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: calc(20px * var(--tp-scale)) calc(26px * var(--tp-scale));
    margin: 0 0 calc(32px * var(--tp-scale));
    padding: calc(24px * var(--tp-scale)) calc(30px * var(--tp-scale));
    border-radius: var(--tp-radius-card);
    background: linear-gradient(135deg, #fff7ed 0%, #fffbeb 55%, #fff4dc 100%);
    border: 1px solid rgba(217, 119, 6, 0.22);
    box-shadow: 0 24px 50px -34px rgba(180, 83, 9, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.tp-stardeal__badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    align-self: start;
    padding: 9px 14px 9px 12px;
    border-radius: 999px;
    background: linear-gradient(135deg, #f59e0b 0%, #d97706 60%, #b45309 100%);
    color: #ffffff;
    font-family: var(--tp-font-display);
    font-size: calc(12.5px * var(--tp-scale));
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    line-height: 1.2;
    white-space: nowrap;
    box-shadow: 0 12px 24px -14px rgba(180, 83, 9, 0.8);
}

.tp-stardeal__badge svg {
    width: 14px;
    height: 14px;
    flex: 0 0 auto;
}

.tp-stardeal__body {
    min-width: 0;
}

.tp .tp-stardeal__title {
    font-family: var(--tp-font-display);
    font-size: calc(22px * var(--tp-scale));
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: -0.02em;
    color: var(--tp-ink);
    margin: 0 0 8px;
}

.tp-stardeal__text {
    margin: 0;
    font-size: calc(15.5px * var(--tp-scale));
    font-weight: 500;
    line-height: 1.6;
    color: var(--tp-ink-2);
}

.tp-stardeal__price {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 4px;
    padding-left: calc(26px * var(--tp-scale));
    border-left: 1px solid rgba(217, 119, 6, 0.22);
    text-align: right;
    white-space: nowrap;
}

.tp-stardeal__amount {
    font-family: var(--tp-font-display);
    font-size: calc(38px * var(--tp-scale));
    font-weight: 800;
    line-height: 1;
    letter-spacing: -0.03em;
    color: var(--tp-gold-deep);
}

.tp-stardeal__per {
    font-size: calc(14px * var(--tp-scale));
    font-weight: 600;
    line-height: 1.3;
    color: var(--tp-ink-3);
}

/* Pricing tiers */

.tp-pricing__tiers {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: calc(22px * var(--tp-scale));
    align-items: stretch;
}

.tp-tier {
    display: flex;
    flex-direction: column;
    padding: calc(30px * var(--tp-scale));
}

.tp-tier--popular {
    box-shadow: var(--tp-shadow-card), 0 0 0 2px rgba(5, 150, 105, 0.45);
}

.tp-tier__label {
    position: absolute;
    top: -15px;
    left: 50%;
    transform: translateX(-50%);
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 7px 14px;
    border-radius: 999px;
    background: linear-gradient(135deg, #047857 0%, #059669 60%, #10b981 100%);
    color: #ffffff;
    font-family: var(--tp-font-display);
    font-size: calc(12.5px * var(--tp-scale));
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    line-height: 1.2;
    white-space: nowrap;
    box-shadow: 0 12px 24px -14px rgba(5, 150, 105, 0.9);
}

.tp-tier__icon {
    display: inline-grid;
    place-items: center;
    width: calc(52px * var(--tp-scale));
    height: calc(52px * var(--tp-scale));
    margin: 0 0 calc(20px * var(--tp-scale));
    border-radius: 16px;
    background: linear-gradient(150deg, #e8faf1 0%, #ffffff 100%);
    border: 1px solid rgba(5, 150, 105, 0.18);
    box-shadow: inset 0 1px 0 #ffffff, 0 8px 18px -14px rgba(6, 78, 59, 0.7);
    color: var(--tp-green-deep);
}

.tp-tier--enterprise .tp-tier__icon {
    background: linear-gradient(150deg, #fff4dc 0%, #ffffff 100%);
    border-color: rgba(217, 119, 6, 0.22);
    color: var(--tp-gold-deep);
}

.tp-tier__icon svg {
    width: calc(24px * var(--tp-scale));
    height: calc(24px * var(--tp-scale));
}

.tp-tier__body {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.tp-tier__name {
    font-size: calc(12.5px * var(--tp-scale));
    font-weight: 700;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    color: var(--tp-green-ink);
}

.tp .tp-tier__range {
    font-family: var(--tp-font-display);
    font-size: calc(27px * var(--tp-scale));
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -0.025em;
    color: var(--tp-ink);
    margin: 0;
}

.tp-tier__desc {
    margin: 6px 0 0;
    font-size: calc(15.5px * var(--tp-scale));
    font-weight: 500;
    line-height: 1.55;
    color: var(--tp-ink-2);
}

.tp-tier__save {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    margin: calc(18px * var(--tp-scale)) 0 0;
    padding: 8px 14px;
    border-radius: 999px;
    background: #f1f5f9;
    color: var(--tp-ink-2);
    font-family: var(--tp-font-display);
    font-size: calc(14px * var(--tp-scale));
    font-weight: 800;
    line-height: 1.2;
}

.tp-tier--popular .tp-tier__save,
.tp-tier--enterprise .tp-tier__save {
    background: var(--tp-green-soft);
    color: var(--tp-green-ink);
    border: 1px solid rgba(5, 150, 105, 0.2);
}

.tp-tier--enterprise .tp-tier__save {
    background: var(--tp-gold-soft);
    color: var(--tp-gold-deep);
    border-color: rgba(217, 119, 6, 0.24);
}

.tp-tier__features {
    display: flex;
    flex-direction: column;
    margin: calc(20px * var(--tp-scale)) 0 0;
    padding: calc(6px * var(--tp-scale)) 0 0;
    list-style: none;
    border-top: 1px solid var(--tp-line);
}

.tp-tier__features li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: calc(12px * var(--tp-scale)) 0;
    font-size: calc(15.5px * var(--tp-scale));
    font-weight: 500;
    line-height: 1.5;
    color: var(--tp-ink-2);
}

.tp-tier__features svg {
    width: 22px;
    height: 22px;
    flex: 0 0 auto;
    padding: 4px;
    border-radius: 50%;
    background: var(--tp-green-soft);
    color: var(--tp-green-deep);
    fill: none;
    stroke: currentColor;
    stroke-width: 2.6;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.tp-pricing__note {
    max-width: calc(720px * var(--tp-scale));
    margin: calc(32px * var(--tp-scale)) auto 0;
    text-align: center;
    font-size: calc(16px * var(--tp-scale));
    font-weight: 500;
    line-height: 1.6;
    color: var(--tp-ink-3);
}

/* Content protection flash, kept from the previous sheet */
.content-protection-active::after {
    content: '';
    position: fixed;
    inset: 0;
    background: rgba(16, 185, 129, 0.03);
    pointer-events: none;
    z-index: 99999;
    animation: tp-protection 0.3s ease-out forwards;
}

@keyframes tp-protection {
    0% { background: rgba(16, 185, 129, 0.12); }
    100% { background: rgba(16, 185, 129, 0); }
}

/* Motion */
@media (prefers-reduced-motion: reduce) {
    .tp-reveal {
        opacity: 1;
        transform: none;
        transition: none;
    }

    .tp-btn,
    .tp-pay__btn--outline,
    .tp-bcard,
    .tp-hcard,
    .tp-tier {
        transition: none;
    }

    .tp-btn--primary::after,
    .tp-hero__badge-dot {
        animation: none;
    }
}

/* Laptops and tablets */
@media (max-width: 1100px) {
    .tp-bcard--compact {
        grid-column: span 6;
    }

    .tp-hero__metrics-grid,
    .tp-pay__security {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 860px) {
    .tp-pay__grid,
    .tp-pricing__tiers {
        grid-template-columns: minmax(0, 1fr);
    }

    .tp-tier--popular {
        order: -1;
    }

    .tp-tier__label {
        top: -14px;
    }

    .tp-pricing__tiers {
        padding-top: 14px;
    }
}

/* Phones */
@media (max-width: 640px) {
    .tp-hero,
    .tp-benefits,
    .tp-how,
    .tp-pay,
    .tp-pricing {
        padding: 44px 0;
    }

    .tp-hero {
        padding-top: 36px;
    }

    .tp-wrap {
        padding: 0 12px;
    }

    .tp-hero__badge-full {
        display: none;
    }

    .tp-hero__badge-short {
        display: inline;
    }

    .tp-hero__shamrock {
        top: -30px;
        right: -40px;
        width: 200px;
        height: 200px;
        opacity: 0.07;
    }

    .tp-hero__desc,
    .tp-subtitle {
        font-size: 16.5px;
    }

    .tp-hero__actions {
        flex-direction: column;
        align-items: stretch;
    }

    .tp-btn,
    .tp-pay__btn--outline {
        width: 100%;
        min-height: 54px;
        padding: 0 20px;
        white-space: normal;
        text-align: center;
    }

    .tp-hero__metrics {
        margin-top: 36px;
    }

    .tp-hero__metrics-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 12px;
    }

    .tp-benefits__header,
    .tp-how__header,
    .tp-pay__header,
    .tp-pricing__header {
        margin-bottom: 28px;
    }

    .tp-benefits__grid,
    .tp-how__grid,
    .tp-pay__grid,
    .tp-pricing__tiers,
    .tp-pay__security {
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
    }

    .tp-bcard--featured,
    .tp-bcard--compact {
        grid-column: 1 / -1;
    }

    .tp-bcard,
    .tp-hcard,
    .tp-pay__card,
    .tp-tier {
        padding: 22px 18px;
        border-radius: 22px;
    }

    .tp-hcard {
        grid-template-columns: 44px minmax(0, 1fr);
        column-gap: 14px;
    }

    .tp-hcard__num {
        width: 44px;
        height: 44px;
        font-size: 19px;
        border-radius: 13px;
    }

    .tp .tp-bcard__title,
    .tp .tp-bcard--featured .tp-bcard__title,
    .tp .tp-hcard__title {
        font-size: 20px;
    }

    .tp .tp-hcard__title {
        margin-top: 9px;
    }

    .tp .tp-pay__card-title {
        font-size: 22px;
    }

    .tp .tp-tier__range {
        font-size: 24px;
    }

    .tp-how__footer {
        flex-direction: column;
        align-items: stretch;
        padding: 20px 18px;
        border-radius: 22px;
    }

    .tp-pay__banner {
        padding: 20px 18px;
        border-radius: 22px;
    }

    .tp-stardeal {
        grid-template-columns: minmax(0, 1fr);
        gap: 14px;
        padding: 20px 18px;
        border-radius: 22px;
    }

    .tp-stardeal__price {
        flex-direction: row;
        align-items: baseline;
        justify-content: flex-start;
        gap: 10px;
        padding: 14px 0 0;
        border-left: 0;
        border-top: 1px solid rgba(217, 119, 6, 0.22);
        text-align: left;
        white-space: normal;
    }

    .tp-stardeal__amount {
        font-size: 30px;
    }

    /* Icon plus text plates: the icon sits on the first line, text wraps under it */
    .tp-pay__flash,
    .tp-pay__timing {
        display: block;
    }

    .tp-pay__flash-icon,
    .tp-pay__timing svg {
        float: left;
        margin: 1px 12px 4px 0;
    }

    .tp-pay__flash-icon {
        width: 34px;
        height: 34px;
    }

    .tp-pay__flash-icon svg {
        width: 18px;
        height: 18px;
    }
}
