* {
    box-sizing: border-box;
}

html, body {
    margin: 0;
    padding: 0;
    min-height: 100%;
    background: #03264d;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body {
    overflow-x: hidden;
}

.approved-home {
    margin: 0;
    width: 100%;
    background: #03264d;
}

.approved-hero {
    position: relative;
    width: 100%;
    min-height: 100vh;
    display: grid;
    place-items: center;
    overflow: hidden;
    background: #03264d;
}

.approved-hero-image {
    display: block;
    width: 100%;
    height: 100vh;
    object-fit: contain;
    object-position: center top;
    background: #03264d;
}

/* Transparent click areas over the approved artwork */
.hero-hotspot {
    position: absolute;
    z-index: 10;
    display: block;
    background: transparent;
    border: 0;
    text-decoration: none;
}

/* top navigation */
.hs-how {
    left: 50.3%;
    top: 2.2%;
    width: 7.2%;
    height: 5.5%;
}

.hs-pricing {
    left: 59.2%;
    top: 2.2%;
    width: 5.1%;
    height: 5.5%;
}

.hs-industries {
    left: 65.0%;
    top: 2.2%;
    width: 6.4%;
    height: 5.5%;
}

.hs-resources {
    left: 71.7%;
    top: 2.2%;
    width: 7.1%;
    height: 5.5%;
}

.hs-login {
    left: 79.0%;
    top: 2.2%;
    width: 5.2%;
    height: 5.5%;
}

.hs-start-top {
    left: 83.2%;
    top: 1.3%;
    width: 13.5%;
    height: 6.5%;
}

/* main trial CTA */
.hs-start-main {
    left: 3.6%;
    top: 54.1%;
    width: 32.2%;
    height: 6.8%;
}

/* logical page anchors */
.hero-anchor {
    position: absolute;
    width: 1px;
    height: 1px;
    pointer-events: none;
}

#pricing {
    left: 4%;
    top: 41%;
}

#industries {
    right: 3%;
    top: 31%;
}

#workflow {
    left: 50%;
    top: 68%;
}

/* accessible semantic copy, visually hidden */
.sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* On narrow screens preserve the complete artwork rather than crop it. */
@media (max-width: 899px) {
    .approved-hero {
        min-height: auto;
        align-items: start;
    }

    .approved-hero-image {
        width: 100%;
        height: auto;
        min-height: 0;
        object-fit: contain;
    }

    /* Disable desktop-positioned hotspots on small screens.
       Mobile will get a dedicated layout later. */
    .hero-hotspot {
        display: none;
    }
}

/* RAP_APPROVED_SCREENFIT_V1 */

/* Fill desktop viewport while preserving the approved artwork proportions. */
@media (min-width:900px) {
    html,
    body,
    .approved-home,
    .approved-hero {
        width:100%;
        min-height:100%;
        background:#03264d;
    }

    .approved-hero {
        min-height:100vh;
        overflow:hidden;
        display:block;
    }

    .approved-hero-image {
        display:block;
        width:100vw;
        height:auto;
        max-width:none;
        object-fit:contain;
        object-position:top center;
    }
}

/* If the viewport is unusually tall, keep the artwork centered rather than stretched. */
@media (min-width:900px) and (min-aspect-ratio:16/10) {
    .approved-hero {
        display:flex;
        align-items:flex-start;
        justify-content:center;
    }

    .approved-hero-image {
        width:100vw;
        height:auto;
    }
}

/* Preserve mobile behavior. */
@media (max-width:899px) {
    .approved-hero-image {
        width:100%;
        height:auto;
    }
}

/* RAP_APPROVED_HEIGHTFIT_V2 */

@media (min-width:900px) {
    html,
    body {
        width:100%;
        height:100%;
        margin:0;
        overflow:hidden;
        background:#03264d;
    }

    .approved-home,
    .approved-hero {
        width:100%;
        height:100vh;
        margin:0;
        padding:0;
        overflow:hidden;
        background:#03264d;
    }

    .approved-hero {
        display:flex;
        align-items:center;
        justify-content:center;
    }

    .approved-hero-image {
        display:block;
        width:auto;
        height:100vh;
        max-width:none;
        max-height:none;
        object-fit:contain;
        margin:0;
    }
}

/* RAP_APPROVED_SCREENFIT_V3 */

@media (min-width:900px) {
    html,
    body,
    .approved-home {
        margin:0 !important;
        padding:0 !important;
        width:100% !important;
        min-width:100% !important;
        background:#03264d !important;
    }

    body {
        overflow-x:hidden !important;
    }

    .approved-hero {
        position:relative !important;
        display:block !important;
        width:100vw !important;
        height:auto !important;
        min-height:0 !important;
        margin:0 !important;
        padding:0 !important;
        overflow:hidden !important;
    }

    .approved-hero-image {
        display:block !important;
        width:100vw !important;
        height:auto !important;
        max-width:none !important;
        max-height:none !important;
        margin:0 !important;
        padding:0 !important;
        object-fit:unset !important;
    }
}

/* RAP_APPROVED_SCREENFIT_V4 */

@media (min-width:900px) {
    html,
    body {
        margin:0 !important;
        padding:0 !important;
        width:100% !important;
        height:100% !important;
        overflow:hidden !important;
        background:#03264d !important;
    }

    .approved-home,
    .approved-hero {
        width:100% !important;
        height:100vh !important;
        min-height:0 !important;
        margin:0 !important;
        padding:0 !important;
        background:#03264d !important;
    }

    .approved-hero {
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        overflow:hidden !important;
    }

    .approved-hero-image {
        display:block !important;
        width:auto !important;
        height:calc(100vh - 34px) !important;
        max-width:100vw !important;
        max-height:calc(100vh - 34px) !important;
        object-fit:contain !important;
        object-position:center center !important;
        margin:0 auto !important;
    }
}

/* RAP_APPROVED_SCREENFIT_V5 — largest complete fit */

@media (min-width:900px) {
    html,
    body,
    .approved-home,
    .approved-hero {
        margin:0 !important;
        padding:0 !important;
        width:100% !important;
        height:100vh !important;
        min-height:0 !important;
        overflow:hidden !important;
        background:#03264d !important;
    }

    .approved-hero {
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
    }

    .approved-hero-image {
        display:block !important;

        /* Original image ratio = 1672 / 941.
           Use whichever limit — width or height — is reached first. */
        width:min(100vw, calc(100vh * 1.776833)) !important;
        height:auto !important;

        max-width:100vw !important;
        max-height:100vh !important;

        margin:0 auto !important;
        padding:0 !important;
        object-fit:contain !important;
    }
}

/* RAP_APPROVED_SCREENFIT_V6 */

@media (min-width:900px) {
    html,
    body,
    .approved-home,
    .approved-hero {
        margin:0 !important;
        padding:0 !important;
        width:100% !important;
        height:100vh !important;
        min-height:0 !important;
        overflow:hidden !important;
        background:#03264d !important;
    }

    .approved-hero {
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
    }

    .approved-hero-image {
        display:block !important;

        /* Slightly larger than V5 */
        height:98vh !important;
        width:auto !important;

        max-width:108vw !important;
        max-height:98vh !important;

        object-fit:contain !important;
        object-position:center center !important;

        margin:0 auto !important;
        padding:0 !important;
    }
}

/* RAP_APPROVED_FINAL_FILL_V1 */

@media (min-width:900px) {
    html,
    body,
    .approved-home,
    .approved-hero {
        margin:0 !important;
        padding:0 !important;
        width:100% !important;
        height:100vh !important;
        min-height:0 !important;
        overflow:hidden !important;
        background:#03264d !important;
    }

    .approved-hero {
        position:relative !important;
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
    }

    .approved-hero-image {
        display:block !important;

        /* Fill the browser much more strongly */
        width:96vw !important;
        height:auto !important;

        max-width:none !important;
        max-height:96vh !important;

        object-fit:contain !important;
        object-position:center center !important;

        margin:0 auto !important;
        padding:0 !important;
    }
}

/* RAP_TRUEFIT_V1
   Final artwork is 1602 x 981 = ratio 1.633028
*/

@media (min-width:900px) {
    html,
    body {
        margin:0 !important;
        padding:0 !important;
        width:100% !important;
        height:100% !important;
        background:#03264d !important;
        overflow:hidden !important;
    }

    .approved-home,
    .approved-hero {
        margin:0 !important;
        padding:0 !important;
        width:100vw !important;
        height:100vh !important;
        min-height:0 !important;
        background:#03264d !important;
        overflow:hidden !important;
    }

    .approved-hero {
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
    }

    .approved-hero-image {
        display:block !important;

        /* use the actual 1602:981 image ratio */
        width:min(100vw, calc(100vh * 1.633028)) !important;
        height:auto !important;

        max-width:none !important;
        max-height:100vh !important;

        margin:0 auto !important;
        object-fit:contain !important;
        object-position:center center !important;
    }
}

/* tablet */
@media (min-width:700px) and (max-width:899px) {
    .approved-hero-image {
        width:100% !important;
        height:auto !important;
    }
}

/* phone */
@media (max-width:699px) {
    .approved-hero {
        height:auto !important;
        min-height:0 !important;
        overflow:visible !important;
    }

    .approved-hero-image {
        width:100% !important;
        height:auto !important;
        max-width:none !important;
    }
}

/* RAP_RESPONSIVE_FINAL
   Approved artwork stays undistorted.
   Desktop fills width; complete artwork remains available by normal scrolling.
*/

html,
body {
    margin:0 !important;
    padding:0 !important;
    width:100% !important;
    min-height:100% !important;
    background:#03264d !important;
}

body {
    overflow-x:hidden !important;
    overflow-y:auto !important;
}

.approved-home {
    width:100% !important;
    min-height:100vh !important;
    margin:0 !important;
    padding:0 !important;
    background:#03264d !important;
}

.approved-hero {
    position:relative !important;
    display:block !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    overflow:visible !important;
    background:#03264d !important;
}

.approved-hero-image {
    display:block !important;
    width:100% !important;
    height:auto !important;
    max-width:none !important;
    max-height:none !important;
    margin:0 !important;
    padding:0 !important;
    object-fit:initial !important;
}

/* desktop click areas remain positioned against artwork */
@media (min-width:1200px) {
    .approved-hero-image {
        width:100vw !important;
    }
}

/* tablet */
@media (min-width:700px) and (max-width:1199px) {
    .approved-hero-image {
        width:100% !important;
        height:auto !important;
    }
}

/* phone: temporary safe scaling.
   We will make the dedicated mobile composition next. */
@media (max-width:699px) {
    .approved-hero-image {
        width:100% !important;
        height:auto !important;
    }

    .hero-hotspot {
        display:none !important;
    }
}

/* RAP_FINAL_DEPTH_TUNE */

@media (min-width:900px) {
    .approved-hero-image {
        width:97vw !important;
        height:auto !important;
        margin:0 auto !important;
    }
}

/* RAP_VERTICAL_FIT_FINAL */

@media (min-width:900px) {
    .approved-hero {
        width:100vw !important;
        height:100vh !important;
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        overflow:hidden !important;
    }

    .approved-hero-image {
        width:97vw !important;

        /* Keep the strong horizontal size but reduce vertical depth */
        height:calc(97vw * 0.5625) !important;

        max-width:97vw !important;
        max-height:96vh !important;

        object-fit:fill !important;
        object-position:center center !important;

        margin:0 auto !important;
    }
}

/* RAP_FITLOCK_V1 */

@media (min-width:900px) {
    html,
    body,
    .approved-home,
    .approved-hero {
        margin:0 !important;
        padding:0 !important;
        width:100vw !important;
        height:100vh !important;
        overflow:hidden !important;
        background:#03264d !important;
    }

    .approved-hero {
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
    }

    .approved-hero-image {
        display:block !important;

        /* Preserve the strong size you liked */
        width:97vw !important;

        /* Slight vertical compression so the complete footer is visible */
        height:94vh !important;

        max-width:none !important;
        max-height:none !important;

        object-fit:fill !important;
        object-position:center center !important;

        margin:0 auto !important;
    }
}

/* tablet */
@media (min-width:700px) and (max-width:899px) {
    .approved-hero-image {
        width:100% !important;
        height:auto !important;
        object-fit:contain !important;
    }
}

/* phone */
@media (max-width:699px) {
    .approved-hero {
        height:auto !important;
        overflow:visible !important;
    }

    .approved-hero-image {
        width:100% !important;
        height:auto !important;
        object-fit:contain !important;
    }
}

/* RAP_FITLOCK_V2 */

@media (min-width:900px) {
    .approved-hero {
        align-items:flex-start !important;
    }

    .approved-hero-image {
        width:97vw !important;
        height:98vh !important;
        max-width:none !important;
        max-height:none !important;
        object-fit:fill !important;
        margin:0 auto !important;
    }
}

/* RAP_FITLOCK_V3 — final desktop fill */

@media (min-width:900px) {
    .approved-hero-image {
        width:97vw !important;
        height:100vh !important;
        max-width:none !important;
        max-height:none !important;
        object-fit:fill !important;
        margin:0 auto !important;
    }
}

/* RAP_FITLOCK_V4 — remove side gaps */

@media (min-width:900px) {
    .approved-hero-image {
        width:100vw !important;
        height:100vh !important;
        margin:0 !important;
        max-width:none !important;
        max-height:none !important;
        object-fit:fill !important;
    }
}

/* RAP_TABLET_PHONE_RESPONSIVE_V1 */

/* Mobile layout stays completely separate from locked desktop artwork. */
.rap-mobile-home {
    display:none;
}

/* TABLET */
@media (min-width:700px) and (max-width:899px) {
    html,
    body,
    .approved-home,
    .approved-hero {
        width:100% !important;
        height:auto !important;
        min-height:100% !important;
        overflow-x:hidden !important;
        overflow-y:auto !important;
        background:#03264d !important;
    }

    .approved-hero {
        display:block !important;
    }

    .approved-hero-image {
        display:block !important;
        width:100% !important;
        height:auto !important;
        max-width:none !important;
        max-height:none !important;
        object-fit:contain !important;
        margin:0 !important;
    }

    .hero-hotspot {
        display:block !important;
    }

    .rap-mobile-home {
        display:none !important;
    }
}

/* PHONE */
@media (max-width:699px) {
    html,
    body {
        margin:0 !important;
        padding:0 !important;
        width:100% !important;
        background:#03264d !important;
        overflow-x:hidden !important;
        overflow-y:auto !important;
    }

    .approved-home,
    .approved-hero {
        width:100% !important;
        height:auto !important;
        min-height:0 !important;
        overflow:visible !important;
        background:#03264d !important;
    }

    .approved-hero-image,
    .hero-hotspot,
    .hero-anchor {
        display:none !important;
    }

    .rap-mobile-home {
        display:block !important;
        width:100%;
        min-height:100vh;
        padding:16px 17px 0;
        color:#fff;
        background:
            radial-gradient(circle at 55% 30%, rgba(17,83,152,.42), transparent 34%),
            linear-gradient(160deg,#062d59 0%,#03264d 56%,#021d3c 100%);
    }

    .rap-mobile-nav {
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:10px;
        margin-bottom:26px;
    }

    .rap-mobile-brand {
        display:flex;
        align-items:center;
        gap:7px;
        font-size:1.18rem;
        font-weight:900;
        white-space:nowrap;
    }

    .rap-mobile-brand > span:last-child > span {
        color:#ff7417;
    }

    .rap-mobile-mark {
        display:grid;
        place-items:center;
        width:31px;
        height:31px;
        border-radius:7px;
        background:#ff7417;
        color:#fff;
        font-size:1rem;
        font-weight:1000;
    }

    .rap-mobile-top-cta {
        padding:9px 12px;
        border-radius:12px;
        background:linear-gradient(135deg,#ff6711,#ff8429);
        color:#fff;
        text-decoration:none;
        font-size:.73rem;
        font-weight:850;
        white-space:nowrap;
        box-shadow:0 8px 18px rgba(0,0,0,.23);
    }

    .rap-mobile-hero-copy h1 {
        margin:0;
        font-size:2.45rem;
        line-height:.98;
        letter-spacing:-.045em;
    }

    .rap-mobile-hero-copy h1 span,
    .rap-mobile-hero-copy h1 strong {
        display:block;
    }

    .rap-mobile-hero-copy h1 strong {
        margin-top:7px;
        color:#ff7417;
    }

    .rap-mobile-hero-copy > p {
        margin:17px 0;
        color:#e6edf6;
        font-size:.97rem;
        line-height:1.48;
    }

    .rap-mobile-price {
        margin:18px 0 10px;
        padding:14px 17px;
        border-radius:18px;
        background:linear-gradient(135deg,#ff6510,#ff892d);
        box-shadow:0 14px 24px rgba(0,0,0,.23);
    }

    .rap-mobile-price > div {
        display:flex;
        align-items:flex-end;
        gap:6px;
    }

    .rap-mobile-price b {
        font-size:2.75rem;
        line-height:.95;
        letter-spacing:-.04em;
    }

    .rap-mobile-price span {
        margin-bottom:4px;
        font-weight:800;
    }

    .rap-mobile-price small {
        display:block;
        margin-top:7px;
        font-size:.83rem;
        font-weight:800;
    }

    .rap-mobile-main-cta {
        display:flex;
        justify-content:center;
        align-items:center;
        gap:10px;
        width:100%;
        min-height:53px;
        border-radius:17px;
        background:#fff;
        color:#082d58;
        text-decoration:none;
        font-weight:950;
        font-size:1.06rem;
        box-shadow:0 12px 22px rgba(0,0,0,.22);
    }

    .rap-mobile-main-cta span {
        color:#ff7417;
        font-size:1.45rem;
    }

    .rap-mobile-tagline {
        margin:10px 0 18px;
        text-align:center;
        font-size:.75rem;
        font-weight:800;
        color:#eef4fa;
    }

    .rap-mobile-devices {
        width:calc(100% + 34px);
        margin-left:-17px;
        overflow:hidden;
    }

    .rap-mobile-devices img {
        display:block;
        width:181%;
        height:auto;
        margin-left:-73%;
        transform:translateY(-3%);
        filter:drop-shadow(0 17px 18px rgba(0,0,0,.22));
    }

    .rap-mobile-handnote {
        margin:-10px 3px 21px auto;
        width:max-content;
        max-width:90%;
        color:#ff7417;
        font-family:"Segoe Print","Bradley Hand","Comic Sans MS",cursive;
        font-size:1.18rem;
        line-height:1.23;
        transform:rotate(-3deg);
    }

    .rap-mobile-handnote i {
        display:block;
        width:115px;
        height:15px;
        margin-left:20px;
        border-bottom:4px solid #ff7417;
        border-radius:50%;
        transform:rotate(-7deg);
    }

    .rap-mobile-benefits {
        display:grid;
        gap:9px;
        margin:4px 0 28px;
    }

    .rap-mobile-benefits > div {
        display:grid;
        grid-template-columns:38px 1fr;
        align-items:center;
        gap:9px;
        min-height:44px;
    }

    .rap-mobile-benefits b {
        display:grid;
        place-items:center;
        color:#ff7417;
        font-size:1.3rem;
    }

    .rap-mobile-benefits span {
        font-size:.94rem;
        line-height:1.25;
    }

    .rap-mobile-steps {
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:22px 14px;
        margin:8px 0 28px;
    }

    .rap-mobile-steps > div {
        position:relative;
        text-align:center;
    }

    .rap-mobile-num {
        position:absolute;
        top:-7px;
        left:calc(50% - 39px);
        z-index:2;
        display:grid;
        place-items:center;
        width:29px;
        height:29px;
        border-radius:50%;
        background:#ff7417;
        color:#fff;
        font-weight:900;
    }

    .rap-mobile-step-icon,
    .rap-mobile-stars {
        display:grid;
        place-items:center;
        width:74px;
        height:74px;
        margin:0 auto 10px;
        border-radius:50%;
        background:#fff;
        color:#0b315d;
        font-size:1.65rem;
        font-weight:900;
        box-shadow:0 10px 18px rgba(0,0,0,.18);
    }

    .rap-mobile-orange {
        color:#ff7417;
    }

    .rap-mobile-stars {
        color:#ff7417;
        font-size:.78rem;
        letter-spacing:0;
    }

    .rap-mobile-steps strong,
    .rap-mobile-steps small {
        display:block;
    }

    .rap-mobile-steps strong {
        font-size:.88rem;
        margin-bottom:4px;
    }

    .rap-mobile-steps small {
        color:#e2ebf4;
        font-size:.73rem;
        line-height:1.32;
    }

    .rap-mobile-trust {
        width:calc(100% + 34px);
        margin-left:-17px;
        padding:17px;
        background:#fff;
        color:#0b315d;
    }

    .rap-mobile-square {
        display:grid;
        grid-template-columns:auto 1fr;
        gap:5px 10px;
        align-items:center;
        margin-bottom:14px;
    }

    .rap-mobile-square > span {
        grid-column:1 / -1;
        font-size:.66rem;
        font-weight:850;
    }

    .rap-mobile-square strong {
        font-size:1.2rem;
    }

    .rap-mobile-square small {
        color:#61718a;
        font-size:.7rem;
    }

    .rap-mobile-trust-list {
        display:grid;
        gap:7px;
        margin:11px 0;
        font-size:.76rem;
        font-weight:750;
    }

    .rap-mobile-trust-list span::first-letter {
        color:#ff7417;
    }

    .rap-mobile-trust p {
        margin:12px 0 0;
        color:#718096;
        font-size:.61rem;
        line-height:1.35;
    }
}

/* RAP_MOBILE_FIX2 */

@media (max-width:699px) {

    /* Remove the accidental desktop-poster crop from the phone layout */
    .rap-mobile-devices {
        position:relative !important;
        width:100% !important;
        height:310px !important;
        margin:10px 0 8px !important;
        overflow:hidden !important;
        border-radius:0 !important;
        background:
            radial-gradient(circle at 55% 58%, rgba(25,94,181,.58), transparent 42%),
            transparent !important;
    }

    .rap-mobile-devices img {
        position:absolute !important;
        display:block !important;

        /* Use the approved artwork only as the source for the device composition */
        width:760px !important;
        height:auto !important;
        max-width:none !important;

        /* Crop to the laptop/phone region */
        left:50% !important;
        top:-34px !important;
        margin:0 !important;
        transform:translateX(-57%) !important;

        object-fit:initial !important;
        filter:drop-shadow(0 18px 20px rgba(0,0,0,.28)) !important;
    }

    .rap-mobile-handnote {
        margin:4px 0 24px auto !important;
        width:245px !important;
        max-width:88% !important;
        font-size:1.16rem !important;
        color:#ff7417 !important;
        line-height:1.22 !important;
    }

    .rap-mobile-benefits {
        margin-top:0 !important;
        padding:0 4px !important;
    }

    .rap-mobile-benefits > div {
        min-height:49px !important;
        grid-template-columns:45px 1fr !important;
    }

    .rap-mobile-benefits b {
        width:39px !important;
        height:39px !important;
        display:grid !important;
        place-items:center !important;
        border:2px solid #ff7417 !important;
        border-radius:50% !important;
        color:#ff7417 !important;
        font-size:1.15rem !important;
    }

    .rap-mobile-steps {
        margin-top:31px !important;
    }

    .rap-mobile-trust {
        margin-top:8px !important;
    }
}

/* slightly narrower phones */
@media (max-width:380px) {
    .rap-mobile-devices {
        height:285px !important;
    }

    .rap-mobile-devices img {
        width:690px !important;
        top:-23px !important;
        transform:translateX(-57%) !important;
    }

    .rap-mobile-hero-copy h1 {
        font-size:2.18rem !important;
    }
}

/* RAP_MOBILE_FIX3 — clean device crop only */

@media (max-width:699px) {

    .rap-mobile-devices {
        position:relative !important;
        width:100% !important;
        height:245px !important;
        margin:10px 0 10px !important;
        overflow:hidden !important;
        background:
            radial-gradient(circle at 54% 60%, rgba(31,111,210,.52), transparent 45%) !important;
    }

    .rap-mobile-devices img {
        position:absolute !important;
        width:760px !important;
        max-width:none !important;
        height:auto !important;

        /* Shift much further right so only phone/laptop area is visible */
        left:50% !important;
        top:-28px !important;
        transform:translateX(-68%) !important;

        margin:0 !important;
        object-fit:initial !important;
    }

    .rap-mobile-handnote {
        margin:7px 3px 23px auto !important;
    }
}

@media (max-width:380px) {
    .rap-mobile-devices {
        height:225px !important;
    }

    .rap-mobile-devices img {
        width:700px !important;
        top:-22px !important;
        transform:translateX(-68%) !important;
    }
}

/* RAP_MOBILE_FIX4 — isolate phone + laptop */

@media (max-width:699px) {

    .rap-mobile-devices {
        position:relative !important;
        width:100% !important;
        height:285px !important;
        margin:12px 0 10px !important;
        overflow:hidden !important;
        background:
            radial-gradient(circle at 50% 62%, rgba(30,105,205,.58), transparent 48%) !important;
    }

    .rap-mobile-devices img {
        position:absolute !important;
        display:block !important;

        width:920px !important;
        height:auto !important;
        max-width:none !important;

        left:50% !important;
        top:-38px !important;

        /* Move source window right: removes headline on left
           and tighter scale removes most of desktop benefit column */
        transform:translateX(-72.5%) !important;

        margin:0 !important;
        object-fit:initial !important;
    }

    .rap-mobile-handnote {
        position:relative !important;
        margin:8px 5px 25px auto !important;
        z-index:2 !important;
    }
}

@media (max-width:380px) {
    .rap-mobile-devices {
        height:260px !important;
    }

    .rap-mobile-devices img {
        width:850px !important;
        top:-29px !important;
        transform:translateX(-72.5%) !important;
    }
}

/* RAP_MOBILE_CLEAN_ASSET_V1 */

@media (max-width:699px) {

    .rap-mobile-devices {
        position:relative !important;
        width:100% !important;
        height:auto !important;
        min-height:0 !important;
        margin:14px 0 12px !important;
        overflow:visible !important;
        background:transparent !important;
    }

    .rap-mobile-devices img {
        position:static !important;
        display:block !important;
        width:100% !important;
        height:auto !important;
        max-width:100% !important;
        margin:0 auto !important;
        transform:none !important;
        object-fit:contain !important;
        filter:drop-shadow(0 18px 18px rgba(0,0,0,.25)) !important;
    }

    .rap-mobile-handnote {
        margin:4px 5px 24px auto !important;
    }
}

/* RAP_MOBILE_CLEAN2 */

@media (max-width:699px) {
    .rap-mobile-devices {
        width:100% !important;
        height:auto !important;
        margin:14px 0 10px !important;
        overflow:visible !important;
        background:transparent !important;
    }

    .rap-mobile-devices img {
        position:static !important;
        display:block !important;
        width:100% !important;
        height:auto !important;
        max-width:100% !important;
        margin:0 auto !important;
        transform:none !important;
        object-fit:contain !important;
    }
}

/* RAP_MOBILE_LOGO_MARK_FIX */

@media (max-width:699px) {
    .rap-mobile-logo-icon img {
        width:48px !important;
        height:48px !important;
        display:block !important;
        object-fit:contain !important;
    }
}

/* RAP_MOBILE_DESCRIPTIVE_ICONS_V1 */

@media (max-width:699px) {

    .rap-icon-wrap {
        width:42px !important;
        height:42px !important;
        padding:0 !important;
        border:0 !important;
        border-radius:0 !important;
    }

    .rap-icon-wrap svg {
        width:39px !important;
        height:39px !important;
        fill:none !important;
        stroke:#ff7417 !important;
        stroke-width:2.8 !important;
        stroke-linecap:round !important;
        stroke-linejoin:round !important;
    }

    .rap-mobile-step-icon svg {
        width:48px !important;
        height:48px !important;
        fill:none !important;
        stroke:#0a315e !important;
        stroke-width:3 !important;
        stroke-linecap:round !important;
        stroke-linejoin:round !important;
    }

    .rap-mobile-logo-icon img {
        width:53px !important;
        height:53px !important;
        object-fit:contain !important;
    }

    .rap-orange-fill {
        fill:#ff7417 !important;
        stroke:#ff7417 !important;
    }

    .rap-white-stroke {
        stroke:#fff !important;
        stroke-width:2.2 !important;
    }

    .rap-star-icon svg {
        width:64px !important;
        height:38px !important;
        fill:#ff7417 !important;
        stroke:none !important;
    }
}

/* RAP_MASTER_LOGO_MARK_V1 */

@media (max-width:699px) {
    .rap-master-mark {
        width:34px !important;
        height:34px !important;
        padding:0 !important;
        background:transparent !important;
        border-radius:0 !important;
        overflow:visible !important;
    }

    .rap-master-mark img {
        width:34px !important;
        height:34px !important;
        display:block !important;
        object-fit:contain !important;
    }

    .rap-mobile-logo-icon img {
        width:54px !important;
        height:54px !important;
        display:block !important;
        object-fit:contain !important;
    }
}

/* RAP_STEP2_LOGO_TUNE */

@media (max-width:699px) {
    .rap-mobile-logo-icon img {
        width:42px !important;
        height:42px !important;
    }
}

/* RAP_STEP2_SMALL_V1 */

@media (max-width:699px) {
    .rap-mobile-logo-icon img {
        width:34px !important;
        height:34px !important;
        max-width:34px !important;
        max-height:34px !important;
    }
}

/* RAP_TABLET_FIX_V1
   Tablet only — remove artificial navy depth below artwork.
*/

@media (min-width:700px) and (max-width:899px) {

    html,
    body {
        margin:0 !important;
        padding:0 !important;
        width:100% !important;
        height:auto !important;
        min-height:0 !important;
        overflow-x:hidden !important;
        overflow-y:auto !important;
        background:#fff !important;
    }

    .approved-home,
    .approved-hero {
        display:block !important;
        width:100% !important;
        height:auto !important;
        min-height:0 !important;
        max-height:none !important;
        margin:0 !important;
        padding:0 !important;
        overflow:visible !important;
        background:transparent !important;
    }

    .approved-hero-image {
        position:static !important;
        display:block !important;
        width:100% !important;
        height:auto !important;
        max-width:100% !important;
        max-height:none !important;
        margin:0 !important;
        padding:0 !important;
        object-fit:contain !important;
        transform:none !important;
    }

    .rap-mobile-home {
        display:none !important;
    }
}

/* RAP_TABLET_STACK_V1
   Portrait tablets use the responsive stacked homepage.
   Locked desktop/laptop remains untouched.
*/

@media (min-width:700px) and (max-width:899px) {

    html,
    body {
        margin:0 !important;
        padding:0 !important;
        width:100% !important;
        min-height:100% !important;
        background:#03264d !important;
        overflow-x:hidden !important;
        overflow-y:auto !important;
    }

    .approved-hero-image,
    .hero-hotspot,
    .hero-anchor {
        display:none !important;
    }

    .approved-home,
    .approved-hero {
        width:100% !important;
        height:auto !important;
        min-height:0 !important;
        margin:0 !important;
        padding:0 !important;
        background:#03264d !important;
        overflow:visible !important;
    }

    .rap-mobile-home {
        display:block !important;
        width:min(100%, 700px) !important;
        min-height:100vh !important;
        margin:0 auto !important;
        padding:28px 42px 0 !important;
        color:#fff !important;
        background:
            radial-gradient(circle at 55% 30%, rgba(17,83,152,.42), transparent 34%),
            linear-gradient(160deg,#062d59 0%,#03264d 56%,#021d3c 100%) !important;
    }

    .rap-mobile-nav {
        display:flex !important;
        align-items:center !important;
        justify-content:space-between !important;
        margin-bottom:34px !important;
    }

    .rap-mobile-brand {
        display:flex !important;
        align-items:center !important;
        gap:10px !important;
        font-size:1.55rem !important;
        font-weight:900 !important;
    }

    .rap-mobile-top-cta {
        padding:12px 20px !important;
        border-radius:14px !important;
        background:#ff7417 !important;
        color:#fff !important;
        text-decoration:none !important;
        font-weight:850 !important;
    }

    .rap-mobile-hero-copy h1 {
        margin:0 !important;
        font-size:3.5rem !important;
        line-height:.98 !important;
    }

    .rap-mobile-hero-copy h1 span,
    .rap-mobile-hero-copy h1 strong {
        display:block !important;
    }

    .rap-mobile-hero-copy h1 strong {
        color:#ff7417 !important;
        margin-top:8px !important;
    }

    .rap-mobile-hero-copy > p {
        font-size:1.14rem !important;
        line-height:1.5 !important;
        color:#e6edf6 !important;
    }

    .rap-mobile-price {
        padding:18px 24px !important;
        border-radius:20px !important;
        background:linear-gradient(135deg,#ff6510,#ff892d) !important;
    }

    .rap-mobile-price b {
        font-size:3.4rem !important;
    }

    .rap-mobile-main-cta {
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        min-height:62px !important;
        border-radius:18px !important;
        background:#fff !important;
        color:#082d58 !important;
        text-decoration:none !important;
        font-size:1.25rem !important;
        font-weight:950 !important;
    }

    .rap-mobile-tagline {
        text-align:center !important;
        margin:12px 0 22px !important;
    }

    .rap-mobile-devices {
        width:100% !important;
        height:auto !important;
        margin:20px auto !important;
    }

    .rap-mobile-devices img {
        position:static !important;
        display:block !important;
        width:100% !important;
        height:auto !important;
        max-width:100% !important;
        transform:none !important;
        object-fit:contain !important;
    }

    .rap-mobile-handnote {
        margin:8px 0 28px auto !important;
        color:#ff7417 !important;
        font-size:1.45rem !important;
    }

    .rap-mobile-benefits {
        display:grid !important;
        gap:14px !important;
        margin-bottom:38px !important;
    }

    .rap-mobile-benefits > div {
        display:grid !important;
        grid-template-columns:52px 1fr !important;
        align-items:center !important;
        gap:13px !important;
        font-size:1.08rem !important;
    }

    .rap-mobile-steps {
        display:grid !important;
        grid-template-columns:1fr 1fr !important;
        gap:34px 28px !important;
        margin:24px 0 40px !important;
    }

    .rap-mobile-step-icon {
        width:92px !important;
        height:92px !important;
        margin:0 auto 12px !important;
    }

    .rap-mobile-logo-icon img {
        width:42px !important;
        height:42px !important;
    }

    .rap-mobile-steps strong {
        font-size:1.05rem !important;
    }

    .rap-mobile-steps small {
        font-size:.87rem !important;
        line-height:1.4 !important;
    }

    .rap-mobile-trust {
        width:calc(100% + 84px) !important;
        margin-left:-42px !important;
        padding:24px 42px !important;
        background:#fff !important;
        color:#0b315d !important;
    }
}

/* RAP_TABLET_ICON_FIX_V1 */

@media (min-width:700px) and (max-width:899px) {

    .rap-icon-wrap {
        width:46px !important;
        height:46px !important;
        padding:0 !important;
        border:0 !important;
        background:transparent !important;
    }

    .rap-icon-wrap svg {
        width:43px !important;
        height:43px !important;
        fill:none !important;
        stroke:#ff7417 !important;
        stroke-width:2.8 !important;
        stroke-linecap:round !important;
        stroke-linejoin:round !important;
    }

    .rap-mobile-step-icon {
        display:grid !important;
        place-items:center !important;
        width:92px !important;
        height:92px !important;
        border-radius:50% !important;
        background:#fff !important;
        color:#0a315e !important;
    }

    .rap-mobile-step-icon svg {
        width:52px !important;
        height:52px !important;
        fill:none !important;
        stroke:#0a315e !important;
        stroke-width:3 !important;
        stroke-linecap:round !important;
        stroke-linejoin:round !important;
    }

    .rap-orange-fill {
        fill:#ff7417 !important;
        stroke:#ff7417 !important;
    }

    .rap-white-stroke {
        stroke:#fff !important;
    }

    .rap-mobile-logo-icon img {
        width:42px !important;
        height:42px !important;
        object-fit:contain !important;
    }

    .rap-star-icon svg {
        width:68px !important;
        height:40px !important;
        fill:#ff7417 !important;
        stroke:none !important;
    }

    .rap-mobile-num {
        background:#ff7417 !important;
        color:#fff !important;
    }
}

/* RAP_DEFINITIVE_WORKFLOW_ICONS_V1
   PHONE + TABLET ONLY
*/

@media (max-width:899px) {

    /* Keep every workflow circle visually identical. */
    .rap-mobile-step-icon {
        display:grid !important;
        place-items:center !important;
        width:88px !important;
        height:88px !important;
        margin:0 auto 12px !important;
        border-radius:50% !important;
        background:#fff !important;
        overflow:visible !important;
    }

    /* Icons occupy roughly 58% of the white badge. */
    .rap-payment-icon svg,
    .rap-phone-icon svg {
        width:54px !important;
        height:54px !important;
        overflow:visible !important;
    }

    .rap-navy-stroke {
        fill:none !important;
        stroke:#123a6b !important;
        stroke-width:3.5 !important;
        stroke-linecap:round !important;
        stroke-linejoin:round !important;
    }

    /* Step 1 confirmation badge */
    .rap-confirm-badge {
        fill:#fff !important;
        stroke:#123a6b !important;
        stroke-width:3.3 !important;
    }

    .rap-confirm-tick {
        fill:none !important;
        stroke:#123a6b !important;
        stroke-width:3.8 !important;
        stroke-linecap:round !important;
        stroke-linejoin:round !important;
    }

    /* Step 3 smartphone detail */
    .rap-phone-home {
        fill:#123a6b !important;
        stroke:none !important;
    }

    .rap-message-bubble {
        fill:#ff7417 !important;
        stroke:#ff7417 !important;
        stroke-width:2.5 !important;
        stroke-linejoin:round !important;
    }

    .rap-message-lines {
        fill:none !important;
        stroke:#fff !important;
        stroke-width:2.3 !important;
        stroke-linecap:round !important;
    }

    /* Step 4: clear outlined orange stars */
    .rap-star-icon svg {
        width:76px !important;
        height:40px !important;
        overflow:visible !important;
        fill:none !important;
    }

    .rap-outline-star {
        fill:none !important;
        stroke:#ff7417 !important;
        stroke-width:2.6 !important;
        stroke-linejoin:round !important;
    }

    /* Keep the approved RAP master mark restrained in Step 2. */
    .rap-mobile-logo-icon img {
        width:34px !important;
        height:34px !important;
        max-width:34px !important;
        max-height:34px !important;
        object-fit:contain !important;
    }

    /* Orange numbered badges stay consistent. */
    .rap-mobile-num {
        width:31px !important;
        height:31px !important;
        border-radius:50% !important;
        background:#ff7417 !important;
        color:#fff !important;
        font-weight:900 !important;
        display:grid !important;
        place-items:center !important;
    }
}

/* Slightly larger tablet badges */
@media (min-width:700px) and (max-width:899px) {
    .rap-mobile-step-icon {
        width:94px !important;
        height:94px !important;
    }

    .rap-payment-icon svg,
    .rap-phone-icon svg {
        width:58px !important;
        height:58px !important;
    }

    .rap-star-icon svg {
        width:82px !important;
        height:42px !important;
    }
}

/* RAP_ICON_COLOUR_FIX1
   phone + tablet only
*/
@media (max-width:899px) {

  /* Step 1: payment card orange */
  .rap-payment-icon .rap-navy-stroke {
    stroke:#ff7417 !important;
  }

  .rap-payment-icon .rap-confirm-badge {
    fill:#ffffff !important;
    stroke:#ff7417 !important;
    stroke-width:3.3 !important;
  }

  .rap-payment-icon .rap-confirm-tick {
    stroke:#ff7417 !important;
    stroke-width:3.8 !important;
  }

  .rap-payment-icon .rap-phone-home {
    fill:#ff7417 !important;
  }

  /* Step 4: stars solid orange */
  .rap-star-icon .rap-outline-star {
    fill:#ff7417 !important;
    stroke:#ff7417 !important;
    stroke-width:1.8 !important;
  }
}

.rap-global-address-footer {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9999;
    box-sizing: border-box;
    padding: 5px 12px;
    text-align: center;
    background: #f7f7f5;
    color: #24364d;
    font-size: 11px;
    line-height: 1.2;
}

/* RAP_DESKTOP_ASPECT_FIX_V1 */
@media (min-width:900px) {
    .approved-hero-image {
        width:100vw !important;
        height:auto !important;
        object-fit:contain !important;
        margin:0 !important;
    }
}

/* RAP_DESKTOP_WIDTH_TUNE_V1 */
@media (min-width:900px) {
    .approved-hero-image {
        width:94vw !important;
        height:auto !important;
        object-fit:contain !important;
        margin:0 auto !important;
    }
}

/* RAP_DESKTOP_FINAL_PROPORTIONS_V1 */
@media (min-width:900px) {
    html, body {
        height:auto !important;
        min-height:100% !important;
        overflow-y:auto !important;
    }

    .approved-home,
    .approved-hero {
        width:100% !important;
        height:auto !important;
        min-height:0 !important;
        overflow:visible !important;
    }

    .approved-hero-image {
        display:block !important;
        width:100% !important;
        height:auto !important;
        aspect-ratio:1602 / 981 !important;
        object-fit:contain !important;
        object-position:center top !important;
        margin:0 auto !important;
        transform:none !important;
    }

    .rap-global-address-footer {
        position:static !important;
        width:100% !important;
        box-sizing:border-box !important;
        margin:0 !important;
        padding:7px 12px 9px !important;
        text-align:center !important;
    }
}

/* RAP_FINAL_DISCLAIMER_ADDRESS_V1 */
.rap-global-disclaimer {
    max-width:1200px;
    margin:0 auto 4px;
    font-size:10px;
    line-height:1.35;
    font-weight:400;
}

.rap-global-business-address {
    font-size:11px;
    line-height:1.35;
}

/* RAP_DESKTOP_CORRECT_16_9_FINAL_V1 */
@media (min-width:900px) {
    .approved-home,
    .approved-hero {
        width:100% !important;
        height:auto !important;
        min-height:0 !important;
        overflow:visible !important;
    }

    .approved-hero-image {
        display:block !important;
        width:100vw !important;
        height:auto !important;
        aspect-ratio:1672 / 941 !important;
        object-fit:contain !important;
        object-position:center top !important;
        max-width:none !important;
        max-height:none !important;
        margin:0 auto !important;
        transform:none !important;
    }
}

/* RAP_DESKTOP_CORRECT_16_9_FINAL_V1 */
@media (min-width:900px) {
    .approved-home,
    .approved-hero {
        width:100% !important;
        height:auto !important;
        min-height:0 !important;
        overflow:visible !important;
    }

    .approved-hero-image {
        display:block !important;
        width:100vw !important;
        height:auto !important;
        aspect-ratio:1672 / 941 !important;
        object-fit:contain !important;
        object-position:center top !important;
        max-width:none !important;
        max-height:none !important;
        margin:0 auto !important;
        transform:none !important;
    }
}

/* RAP_DESKTOP_ONE_SCREEN_FINAL_V1 */
@media (min-width:900px) {
    html,
    body {
        margin:0 !important;
        padding:0 !important;
        width:100% !important;
        height:100% !important;
        overflow:hidden !important;
        background:#03264d !important;
    }

    .approved-home {
        width:100% !important;
        height:auto !important;
        margin:0 !important;
        padding:0 !important;
        background:#03264d !important;
    }

    .approved-hero {
        width:100% !important;
        height:calc(100vh - 58px) !important;
        min-height:0 !important;
        margin:0 !important;
        padding:0 !important;
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        overflow:hidden !important;
        background:#03264d !important;
    }

    .approved-hero-image {
        display:block !important;
        width:auto !important;
        height:100% !important;
        max-width:100vw !important;
        max-height:calc(100vh - 58px) !important;
        aspect-ratio:1672 / 941 !important;
        object-fit:contain !important;
        object-position:center center !important;
        margin:0 auto !important;
        transform:none !important;
    }

    .rap-global-disclaimer,
    .rap-global-address-footer {
        position:static !important;
        box-sizing:border-box !important;
        width:100% !important;
        margin:0 !important;
    }
}

/* RAP_CENTER_LIVE_FOOTER_V1 */
@media (min-width:900px) {
    .rap-global-disclaimer,
    .rap-global-address-footer {
        width:min(100%, 1672px) !important;
        max-width:1672px !important;
        margin-left:auto !important;
        margin-right:auto !important;
        text-align:center !important;
        box-sizing:border-box !important;
    }
}

/* RAP_DESKTOP_FOOTER_ALIGNMENT_FINAL */
@media (min-width:900px) {

    /* Crop only the old baked-in disclaimer at the very bottom */
    .approved-hero {
        width:100% !important;
        aspect-ratio:1672 / 915 !important;
        height:auto !important;
        min-height:0 !important;
        overflow:hidden !important;
        margin:0 auto !important;
    }

    .approved-hero-image {
        display:block !important;
        width:100% !important;
        height:auto !important;
        aspect-ratio:1672 / 941 !important;
        object-fit:contain !important;
        object-position:center top !important;
        margin:0 !important;
        transform:none !important;
    }

    /* Sharp replacement disclaimer/address */
    .rap-global-address-footer {
        position:static !important;
        width:100% !important;
        max-width:none !important;
        margin:0 auto !important;
        padding:6px 18px 7px !important;
        box-sizing:border-box !important;
        background:#f7f7f5 !important;
        text-align:center !important;
        border:0 !important;
    }

    .rap-global-disclaimer,
    .rap-global-business-address {
        width:100% !important;
        max-width:none !important;
        margin-left:auto !important;
        margin-right:auto !important;
        text-align:center !important;
    }
}

/* RAP_DESKTOP_CONSOLIDATED_FINAL_V1 */
@media (min-width:900px) {

    html,
    body {
        margin:0 !important;
        padding:0 !important;
        width:100% !important;
        height:100vh !important;
        min-height:100vh !important;
        overflow:hidden !important;
        background:#03264d !important;
    }

    body {
        display:grid !important;
        grid-template-rows:minmax(0, 1fr) auto !important;
    }

    .approved-home {
        width:100% !important;
        height:100% !important;
        min-height:0 !important;
        margin:0 !important;
        padding:0 !important;
        overflow:hidden !important;
        background:#03264d !important;
    }

    .approved-hero {
        width:100% !important;
        height:100% !important;
        min-height:0 !important;
        aspect-ratio:auto !important;
        margin:0 !important;
        padding:0 !important;
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        overflow:hidden !important;
        background:#03264d !important;
    }

    .approved-hero-image {
        display:block !important;
        width:auto !important;
        height:100% !important;
        max-width:100% !important;
        max-height:100% !important;
        aspect-ratio:1672 / 941 !important;
        object-fit:contain !important;
        object-position:center center !important;
        margin:0 auto !important;
        padding:0 !important;
        transform:none !important;
    }

    .rap-global-address-footer {
        position:static !important;
        width:100% !important;
        max-width:none !important;
        margin:0 !important;
        padding:5px 16px 6px !important;
        box-sizing:border-box !important;
        background:#f7f7f5 !important;
        color:#24364d !important;
        text-align:center !important;
        border:0 !important;
        transform:none !important;
    }

    .rap-global-disclaimer {
        width:100% !important;
        max-width:none !important;
        margin:0 0 2px !important;
        padding:0 !important;
        text-align:center !important;
        font-size:10px !important;
        line-height:1.25 !important;
    }

    .rap-global-business-address {
        width:100% !important;
        max-width:none !important;
        margin:0 !important;
        padding:0 !important;
        text-align:center !important;
        font-size:11px !important;
        line-height:1.25 !important;
    }
}

/* RAP_APPROVED_MASTER_DESKTOP_SCALE_FINAL */
@media (min-width:900px) {
    html,
    body,
    .approved-home {
        width:100% !important;
        margin:0 !important;
        padding:0 !important;
        overflow-x:hidden !important;
    }

    .approved-hero {
        display:block !important;
        width:100vw !important;
        height:auto !important;
        min-height:0 !important;
        margin:0 !important;
        padding:0 !important;
        overflow:visible !important;
    }

    .approved-hero-image {
        position:static !important;
        display:block !important;
        width:100vw !important;
        height:auto !important;
        max-width:none !important;
        max-height:none !important;
        margin:0 !important;
        padding:0 !important;
        object-fit:contain !important;
        object-position:center top !important;
        transform:none !important;
    }
}

/* RAP_APPROVED_MASTER_VIEWPORT_FIT_V1 */
@media (min-width:900px) {
    html,
    body {
        margin:0 !important;
        padding:0 !important;
        width:100% !important;
        height:100% !important;
        overflow:hidden !important;
        background:#03264d !important;
    }

    .approved-home,
    .approved-hero {
        width:100vw !important;
        height:100vh !important;
        min-height:0 !important;
        margin:0 !important;
        padding:0 !important;
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        overflow:hidden !important;
        background:#03264d !important;
    }

    .approved-hero-image {
        display:block !important;
        width:100vw !important;
        height:100vh !important;
        max-width:100vw !important;
        max-height:100vh !important;
        object-fit:contain !important;
        object-position:center center !important;
        margin:0 !important;
        transform:none !important;
    }
}

/* RAP_DESKTOP_EDGE_FIT_FINAL_V1 */
@media (min-width:900px) {
    html,
    body {
        margin:0 !important;
        padding:0 !important;
        width:100% !important;
        height:100% !important;
        overflow:hidden !important;
        background:#03264d !important;
    }

    .approved-home,
    .approved-hero {
        position:relative !important;
        width:100vw !important;
        height:100vh !important;
        min-height:0 !important;
        margin:0 !important;
        padding:0 !important;
        overflow:hidden !important;
        background:#03264d !important;
    }

    .approved-hero-image {
        position:absolute !important;
        left:50% !important;
        top:50% !important;

        width:100vw !important;
        height:auto !important;

        max-width:none !important;
        max-height:none !important;

        object-fit:contain !important;
        object-position:center center !important;

        transform:translate(-50%,-50%) !important;
        margin:0 !important;
    }
}

/* RAP_DESKTOP_FINAL_VISIBLE_MASTER_V2 */
@media (min-width:900px) {
    .approved-home,
    .approved-hero {
        width:100vw !important;
        height:100vh !important;
        min-height:0 !important;
        overflow:hidden !important;
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
    }

    .approved-hero-image {
        position:static !important;
        display:block !important;
        width:100vw !important;
        height:auto !important;
        max-width:100vw !important;
        max-height:100vh !important;
        object-fit:contain !important;
        object-position:center center !important;
        transform:none !important;
        margin:auto !important;
    }
}

/* RAP_DESKTOP_FINAL_VISIBLE_MASTER_V2 */
@media (min-width:900px) {
    .approved-home,
    .approved-hero {
        width:100vw !important;
        height:100vh !important;
        min-height:0 !important;
        overflow:hidden !important;
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
    }

    .approved-hero-image {
        position:static !important;
        display:block !important;
        width:100vw !important;
        height:auto !important;
        max-width:100vw !important;
        max-height:100vh !important;
        object-fit:contain !important;
        object-position:center center !important;
        transform:none !important;
        margin:auto !important;
    }
}

/* RAP_DESKTOP_FINAL_VISIBLE_MASTER_V2 */
@media (min-width:900px) {
    .approved-home,
    .approved-hero {
        width:100vw !important;
        height:100vh !important;
        min-height:0 !important;
        overflow:hidden !important;
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
    }

    .approved-hero-image {
        position:static !important;
        display:block !important;
        width:100vw !important;
        height:auto !important;
        max-width:100vw !important;
        max-height:100vh !important;
        object-fit:contain !important;
        object-position:center center !important;
        transform:none !important;
        margin:auto !important;
    }
}

/* RAP_DESKTOP_DIMENSION_FIX_FINAL */
@media (min-width:900px) {
    html,
    body {
        margin:0 !important;
        padding:0 !important;
        width:100% !important;
        height:100% !important;
        overflow:hidden !important;
        background:#03264d !important;
    }

    .approved-home,
    .approved-hero {
        position:relative !important;
        width:100vw !important;
        height:100vh !important;
        min-height:0 !important;
        margin:0 !important;
        padding:0 !important;
        overflow:hidden !important;
        background:#03264d !important;
    }

    .approved-hero-image {
        position:absolute !important;
        inset:0 !important;

        width:100% !important;
        height:100% !important;

        max-width:none !important;
        max-height:none !important;

        object-fit:fill !important;
        object-position:center center !important;

        margin:0 !important;
        padding:0 !important;
        transform:none !important;
    }
}

/* Final mobile device-art crop: hides baked-in workflow fragments at bottom edge */
@media (max-width: 900px) {
    .rap-mobile-devices {
        overflow: hidden;
        aspect-ratio: 680 / 489;
    }

    .rap-mobile-devices img {
        width: 100%;
        height: auto;
        display: block;
    }
}

/* Definitive mobile artwork bottom crop */
@media (max-width: 900px) {
    .rap-mobile-devices img {
        clip-path: inset(0 0 4% 0);
        margin-bottom: -4%;
    }
}

/* TIMEFORSTARS FINAL MOBILE LOCK 2026-09-19 */
/*
   Desktop >= 900px remains untouched.
   This final block intentionally wins over historical mobile overrides.
*/
@media (max-width: 899px) {

    html, body {
        width: 100%;
        max-width: 100%;
        margin: 0;
        overflow-x: hidden;
        background: #062b58;
    }

    /*
       Never shrink the approved desktop master into a phone viewport.
       Hide any picture/image carrying that desktop-only artwork.
    */
    img[src*="timeforstars-approved-desktop-master"] {
        display: none !important;
    }

    picture:has(img[src*="timeforstars-approved-desktop-master"]) {
        display: none !important;
    }

    /*
       Dedicated mobile homepage is the canonical phone/tablet experience.
    */
    .rap-mobile-home {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-height: 100vh;
        box-sizing: border-box;
        padding: 18px 18px 30px !important;
        margin: 0 !important;
        background:
            radial-gradient(circle at 72% 22%, rgba(15,89,164,.34), transparent 34%),
            linear-gradient(180deg, #031d3d 0%, #062f60 62%, #07396d 100%) !important;
        color: #fff !important;
    }

    .rap-mobile-nav {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 10px !important;
        margin: 0 0 26px !important;
    }

    .rap-mobile-brand {
        min-width: 0;
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        font-size: clamp(18px, 5.7vw, 26px) !important;
        line-height: 1 !important;
    }

    .rap-mobile-mark {
        flex: 0 0 auto;
    }

    .rap-mobile-top-cta {
        flex: 0 0 auto;
        padding: 10px 12px !important;
        border-radius: 7px !important;
        font-size: 13px !important;
        line-height: 1.1 !important;
        white-space: nowrap !important;
    }

    .rap-mobile-hero-copy {
        margin: 0 !important;
        padding: 0 !important;
    }

    .rap-mobile-hero-copy h1 {
        max-width: 100% !important;
        margin: 0 0 16px !important;
        font-size: clamp(36px, 11.2vw, 56px) !important;
        line-height: .98 !important;
        letter-spacing: -1.8px !important;
        text-wrap: balance;
    }

    .rap-mobile-hero-copy > p {
        max-width: 36rem !important;
        margin: 0 0 20px !important;
        font-size: clamp(17px, 4.6vw, 21px) !important;
        line-height: 1.42 !important;
    }

    /*
       Price is a primary sales message.
    */
    .rap-mobile-price {
        display: block !important;
        width: 100% !important;
        max-width: 520px !important;
        box-sizing: border-box !important;
        margin: 22px 0 12px !important;
        padding: 18px 18px 16px !important;
        border-radius: 12px !important;
        background: linear-gradient(135deg, #ff8327, #ff5b18) !important;
        box-shadow: 0 12px 28px rgba(0,0,0,.20) !important;
        color: #fff !important;
    }

    .rap-mobile-price > div {
        display: flex !important;
        align-items: baseline !important;
        gap: 9px !important;
        flex-wrap: wrap !important;
    }

    .rap-mobile-price b {
        font-size: clamp(54px, 16vw, 76px) !important;
        line-height: .92 !important;
        letter-spacing: -2px !important;
        color: #fff !important;
    }

    .rap-mobile-price span {
        font-size: clamp(18px, 5vw, 25px) !important;
        font-weight: 800 !important;
        color: #fff !important;
    }

    .rap-mobile-price small {
        display: block !important;
        margin-top: 8px !important;
        font-size: 15px !important;
        line-height: 1.3 !important;
        color: #fff !important;
    }

    .rap-mobile-main-cta {
        display: flex !important;
        width: 100% !important;
        max-width: 520px !important;
        min-height: 58px !important;
        box-sizing: border-box !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 10px !important;
        margin: 0 0 22px !important;
        padding: 14px 16px !important;
        border-radius: 10px !important;
        font-size: 20px !important;
        font-weight: 800 !important;
    }

    .rap-mobile-tagline {
        margin: 12px 0 14px !important;
        font-size: clamp(20px, 5.8vw, 28px) !important;
        line-height: 1.12 !important;
        text-align: center !important;
    }

    .rap-mobile-devices {
        width: 100% !important;
        max-width: 560px !important;
        margin: 12px auto 16px !important;
        position: relative !important;
        overflow: visible !important;
    }

    .rap-mobile-devices img {
        display: block !important;
        width: 100% !important;
        height: auto !important;
        max-width: 100% !important;
        object-fit: contain !important;
        margin: 0 auto !important;
        transform: none !important;
    }

    .rap-mobile-handnote {
        position: static !important;
        width: auto !important;
        max-width: 470px !important;
        margin: 4px auto 20px !important;
        transform: none !important;
        text-align: center !important;
        font-size: clamp(19px, 5.2vw, 25px) !important;
        line-height: 1.14 !important;
    }

    .rap-mobile-benefits {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        margin: 20px 0 24px !important;
    }

    .rap-mobile-benefits > div {
        display: flex !important;
        align-items: center !important;
        gap: 12px !important;
        padding: 12px 14px !important;
        border: 1px solid rgba(255,255,255,.12) !important;
        border-radius: 10px !important;
        background: rgba(255,255,255,.045) !important;
    }

    .rap-mobile-benefits span {
        font-size: 17px !important;
        line-height: 1.25 !important;
    }

    .rap-mobile-steps {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0,1fr)) !important;
        gap: 14px !important;
        margin: 22px 0 28px !important;
    }

    .rap-mobile-steps > div {
        min-width: 0 !important;
        padding: 14px 9px !important;
        text-align: center !important;
        border: 1px solid rgba(255,255,255,.10) !important;
        border-radius: 10px !important;
        background: rgba(0,20,48,.20) !important;
    }

    .rap-mobile-step-icon {
        margin: 0 auto 8px !important;
    }

    .rap-mobile-steps strong {
        display: block !important;
        font-size: 16px !important;
        line-height: 1.18 !important;
    }

    .rap-mobile-steps small {
        display: block !important;
        margin-top: 3px !important;
        font-size: 13px !important;
        line-height: 1.2 !important;
    }

    .rap-mobile-trust {
        margin: 26px -18px -30px !important;
        padding: 24px 18px 28px !important;
        background: rgba(0,20,48,.25) !important;
        border-top: 1px solid rgba(255,255,255,.14) !important;
    }

    .rap-mobile-square,
    .rap-mobile-trust-list {
        font-size: 14px !important;
        line-height: 1.4 !important;
    }

    .rap-mobile-trust p {
        max-width: 46rem !important;
        margin: 16px auto 0 !important;
        font-size: 12px !important;
        line-height: 1.5 !important;
        text-align: center !important;
        color: rgba(255,255,255,.9) !important;
    }
}

@media (max-width: 420px) {
    .rap-mobile-home {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    .rap-mobile-top-cta {
        font-size: 12px !important;
        padding: 9px 10px !important;
    }

    .rap-mobile-steps {
        grid-template-columns: 1fr !important;
    }

    .rap-mobile-trust {
        margin-left: -14px !important;
        margin-right: -14px !important;
    }
}

/* TIMEFORSTARS OFFICIAL SQUARE DESKTOP BADGE 2026-09-19 */
.tfs-square-desktop-trust {
    display: none;
}

@media (min-width: 900px) {
    .tfs-square-desktop-trust {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        box-sizing: border-box;
        margin: 0;
        padding: 8px 16px 10px;
        background: #062b58;
    }

    .tfs-square-desktop-trust img {
        display: block;
        width: min(210px, 14vw);
        height: auto;
        object-fit: contain;
    }
}

