/* Importing Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&family=Montserrat:wght@500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
/* Section rhythm (vienodas padding top/bottom visur) */
.section{
    padding-block: var(--rs-section-y) ;
}

/* ===== Report problem modal ===== */
.rs-bug-modal-dialog {
    max-width: 520px;
}
.rs-bug-modal-title-icon {
    margin-right: 8px;
    vertical-align: -3px;
}
.rs-bug-honeypot {
    display: none !important;
}
.section{
}

@media (min-width: 768px){
    :root{ --rs-section-y: 72px; }
}
@media (min-width: 1200px){
    :root{ --rs-section-y: 88px; }
}

.modal-auth h1 {
    font-family: "Open Sans", Arial, sans-serif;
}
.modal-auth a {
    color: #314760;
}
.form-control {
    border: 1px solid #ced4da;
    border-radius: 6px;
    transition: border-color 0.3s ease; /* Smooth transition for focus */
}
.form-control:focus {
    border-color: #192d43; /* Highlight input on focus */
    box-shadow: none !important;
}
.floating-label-group {
    position: relative;
}
.form-container h2 {
    color: #1f3147;
    margin-bottom: 15px;
}
.form-control.form-input {
    width: 100%;
    padding: 14px;
    border: 1px solid #ccc;
    border-radius: 14px;
    font-size: 16px;
    height: 50px;
}
.form-control.form-input.form-input-textarea {
    height: 150px;
}
.form-label.form-label-textarea {
    margin-top: -53px;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
    transition: background-color 5000s ease-in-out 0s;
    -webkit-text-fill-color: #1f3147 !important;
    background-color: #ffffff !important;
}

.form-control.form-input:focus {
    outline: none;
    border-color: #1f3147;
    box-shadow: none;
    color: #1f3147;
}

.form-control.form-input:focus::placeholder {
    opacity: 0; /* Hide placeholder on focus */
}
.form-container input[type="file"] {
    padding: 0;
}
.form-container input[type="file"] {
    position: relative;
}

.form-container input[type="file"]::file-selector-button {
    width: 136px;
    color: transparent;
}

/* Faked label styles and icon */
.form-container input[type="file"]::before {
    position: absolute;
    pointer-events: none;
    top: 10px;
    left: 16px;
    height: 20px;
    width: 20px;
    content: "";
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%230964B0'%3E%3Cpath d='M18 15v3H6v-3H4v3c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2v-3h-2zM7 9l1.41 1.41L11 7.83V16h2V7.83l2.59 2.58L17 9l-5-5-5 5z'/%3E%3C/svg%3E");
}

.form-container input[type="file"]::after {
    position: absolute;
    pointer-events: none;
    top: 8px;
    left: 40px;
    color: #1f3147;
    content: "Upload File";
}

/* =========================
   RelyShield Services (3 cards) – 2026
   Namespace: .rs-services
   Mobile-first, solid, no fluffy shadows
   ========================= */

/* Optional local tokens (won't break if your global :root is messy) */
.rs-services{
    --rs-svc-bg: var(--rs-bg, #fff);
    --rs-svc-surface: var(--rs-surface, #fff);
    --rs-svc-text: var(--rs-text, #0B2236);
    --rs-svc-muted: var(--rs-muted, rgba(11,34,54,.68));
    --rs-svc-line: var(--rs-line, rgba(11,34,54,.10));
    --rs-svc-accent: var(--rs-accent, #2E7B7A);

    --rs-svc-radius: var(--rs-radius, 16px);
    --rs-svc-pad-x: clamp(16px, 4vw, 22px);
    --rs-svc-pad-y: clamp(18px, 4vw, 24px);

    position: relative;
    background: var(--rs-svc-bg);
    overflow: hidden;
}

/* Subtle background wash (calm, not decoration) */
.rs-services::before{
    content:"";
    position:absolute;
    inset: 0;
    background:
            radial-gradient(720px 260px at 18% 0%, rgba(46,123,122,.07), transparent 62%),
            radial-gradient(680px 240px at 82% 16%, rgba(11,34,54,.05), transparent 62%);
    pointer-events:none;
    z-index:0;
}

.rs-services__inner{
    position: relative;
    z-index: 1;
}

/* Header */
.rs-services__header{
    text-align: center;
    display: grid;
    gap: 10px;
    margin-bottom: clamp(18px, 3vw, 26px);
}

.rs-services__title{
    margin: 0;
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.08;
    font-size: clamp(26px, 6.4vw, 40px);
    color: var(--rs-svc-text);
}

.rs-services__subtitle{
    margin: 0 auto;
    max-width: 68ch;
    font-size: clamp(14px, 3.6vw, 16px);
    line-height: 1.6;
    color: var(--rs-svc-muted);
}

/* Grid list reset */
.rs-services__grid{
    list-style: none;
    padding: 0;
    margin: 0;

    display: grid !important;
    grid-template-columns: 1fr;
    gap: 14px;
    visibility: visible !important;
}

/* Desktop columns */
@media (min-width: 900px){
    .rs-services__grid{
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 18px;
        align-items: stretch;
    }
}

.rs-services__item{ margin: 0; }

/* Card */
.rs-services__card{
    border-radius: var(--rs-svc-radius);
    border: 1px solid var(--rs-svc-line, rgba(11,34,54,.10));
    background: var(--rs-svc-surface, #fff);
    box-shadow: none; /* no “vaikiški” shadows */
    overflow: hidden;

    display: flex !important;
    flex-direction: column;
    min-height: 100%;
    visibility: visible !important;

    /* subtle internal rhythm */
    will-change: border-color;
}

/* Accent line: thin and premium */
.rs-services__card::before{
    content:"";
    display: block;
    height: 3px;
    background: linear-gradient(90deg, rgba(46,123,122,.92), rgba(46,123,122,0));
}

/* Body */
.rs-services__body{
    padding: var(--rs-svc-pad-y) var(--rs-svc-pad-x) 12px;
}

/* H3 */
.rs-services__cardTitle{
    margin: 0 0 12px;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--rs-svc-text);
    font-size: clamp(20px, 4.8vw, 22px);
    line-height: 1.15;
    text-align: center;
}

/* Feature list */
.rs-services__list{
    list-style: none;
    padding: 0;
    margin: 0;

    display: grid;
    gap: 10px;
}

.rs-services__list li{
    position: relative;
    padding-left: 30px;

    color: rgba(11,34,54,.76) !important;
    font-size: 15px;
    line-height: 1.5;
    text-align: left;
}

/* Check icon: smaller, crisp */
.rs-services__list li::before{
    content: "✓";
    position: absolute;
    left: 0;
    top: 0;

    width: 22px;
    height: 22px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    font-weight: 900;
    border-radius: 999px;

    background: rgba(46,123,122,.10);
    color: rgba(46,123,122,.95);

    transform: translateY(1px);
}

/* Actions */
.rs-services__actions{
    margin-top: auto;
    padding: 0 var(--rs-svc-pad-x) var(--rs-svc-pad-y);
}

/* CTA link should look like a button, no underline ever */
.rs-services__cta{
    width: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;

    text-decoration: none !important;
    -webkit-tap-highlight-color: transparent;
}

/* Remove underline on hover/focus just in case global a{} adds it */
.rs-services__cta:hover,
.rs-services__cta:focus,
.rs-services__cta:active{
    text-decoration: none !important;
    color: white;
}

/* Mobile comfort: bigger tap targets */
@media (max-width: 768px){
    .rs-services__grid{ gap: 12px; }
    .rs-services__list li{ font-size: 15px; }
    .rs-services__actions .rs-btn{ height: 46px; }
}

/* Desktop typography spacing */
@media (min-width: 900px){
    .rs-services__list li{ font-size: 15px; }
}

/* Accessibility: focus ring that matches brand, no animation */
.rs-services__cta:focus-visible{
    outline: none;
    box-shadow: 0 0 0 4px rgba(46,123,122,.18);
    border-radius: 14px; /* matches your button radius */
}

/* Optional: super subtle hover ONLY on hover-capable devices (no shadows) */
@media (hover:hover){
    .rs-services__card:hover{
        border-color: rgba(46,123,122,.22);
    }
}

@media (max-width: 768px){
    .rs-services{
        /* jeigu .section jau duoda padding, šitas bus subtilus papildymas */
        /*padding-top: 6px;*/
    }

    .rs-services__header{
        margin-bottom: 18px; /* mažiau “prilipęs” header prie kortelių */
    }

    .rs-services__grid{
        gap: 14px; /* tarp kortelių */
    }

    /* Kortelė: daugiau vidaus padding, kad neatrodytų suspausta */
    .rs-services__body{
        padding: 22px 18px 16px; /* buvo per mažai apačioj */
    }

    .rs-services__cardTitle{
        margin-bottom: 14px;
        font-size: 22px; /* šiek tiek didesnis, bet ne “banneris” */
        line-height: 1.18;
    }

    /* List: daugiau tarpo tarp eilučių ir truputį “lengvesnė” tipografija */
    .rs-services__list{
        gap: 12px;
    }

    .rs-services__list li{
        font-size: 15.5px;
        line-height: 1.55;
    }

    /* Mygtukas: atskiriam nuo list, kad nebūtų “prilipęs” */
    .rs-services__actions{
        padding: 0 18px 18px;
        margin-top: 0; /* paliekam flex logiką, bet ne “lipdymą” */
    }

    .rs-services__actions::before{
        content:"";
        display:block;
        height: 10px; /* realus tarpas tarp list ir CTA */
    }

    /* CTA tap target + vizualinis komfortas */
    .rs-services__actions .rs-btn{
        height: 48px;
    }
}

/* Labai siauri telefonai: dar truputį oro, kad neatrodytų kaip “suspausta dėžė” */
@media (max-width: 420px){
    .rs-services__body{
        padding: 22px 16px 16px;
    }
    .rs-services__actions{
        padding: 0 16px 18px;
    }
    .rs-services__actions::before{
        height: 12px;
    }
}
/* -------- END OF SERVICES --------*/


/* =========================
   RelyShield Process – 2026
   Namespace: .rs-process
   Matches header rhythm of .rs-services
   ========================= */

.rs-process{
    --rs-proc-bg: var(--rs-section, rgba(11,34,54,.02));
    --rs-proc-surface: var(--rs-surface, #fff);
    --rs-proc-text: var(--rs-text, #0B2236);
    --rs-proc-muted: var(--rs-muted, rgba(11,34,54,.68));
    --rs-proc-line: var(--rs-line, rgba(11,34,54,.10));
    --rs-proc-soft: var(--rs-soft, rgba(11,34,54,.04));
    --rs-proc-accent: var(--rs-accent, #2E7B7A);

    position: relative;
    background: var(--rs-proc-bg);
    overflow: hidden;
}

.rs-process::before{
    content:"";
    position:absolute;
    inset: 0;
    background:
            radial-gradient(720px 260px at 18% 0%, rgba(46,123,122,.06), transparent 62%),
            radial-gradient(680px 240px at 82% 16%, rgba(11,34,54,.04), transparent 62%);
    pointer-events:none;
    z-index:0;
}

.rs-process__inner{
    position: relative;
    z-index: 1;
}

/* Header – same as services */
.rs-process__header{
    text-align: center;
    display: grid;
    gap: 10px;
    margin-bottom: clamp(18px, 3vw, 26px);
}

.rs-process__title{
    margin: 0;
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.08;
    font-size: clamp(26px, 6.4vw, 40px);
    color: var(--rs-proc-text);
}

.rs-process__subtitle{
    margin: 0 auto;
    max-width: 68ch;
    font-size: clamp(14px, 3.6vw, 16px);
    line-height: 1.6;
    color: var(--rs-proc-muted);
}

/* Steps */
.rs-process__steps{
    list-style: none;
    padding: 0;
    margin: 0;

    display: grid !important;
    gap: 12px;
    visibility: visible !important;
}

.rs-process__step{
    display: grid !important;
    grid-template-columns: 40px 1fr;
    gap: 12px;

    padding: 16px 16px;
    border-radius: var(--rs-radius, 16px);
    border: 1px solid var(--rs-proc-line, rgba(11,34,54,.10));
    background: rgba(255,255,255,.96);
    visibility: visible !important;
}

.rs-process__num{
    width: 40px;
    height: 40px;
    border-radius: 999px;
    display: grid;
    place-items: center;

    font-weight: 900;
    color: rgba(46,123,122,.95);
    background: rgba(46,123,122,.10);
}

.rs-process__stepTitle{
    font-weight: 800;
    letter-spacing: -0.01em;
    color: var(--rs-proc-text);
    font-size: 16px;
    line-height: 1.25;
    margin: 2px 0 6px;
}

.rs-process__stepText{
    margin: 0;
    color: rgba(11,34,54,.72);
    font-size: 14.8px;
    line-height: 1.55;
}

/* Note */
.rs-process__aside{
    margin-top: 14px;
}

.rs-process__note{
    margin: 0;
    padding: 14px 16px;

    border-radius: var(--rs-radius, 16px);
    border: 1px solid rgba(11,34,54,.10);
    background: rgba(255,255,255,.86);

    color: rgba(11,34,54,.72);
    font-size: 13.5px;
    line-height: 1.55;
}

.rs-process__note strong{ color: var(--rs-proc-text); }

/* Desktop */
@media (min-width: 900px){
    .rs-process__steps{
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
    }
}

/* Tight phones */
@media (max-width: 420px){
    .rs-process__step{
        grid-template-columns: 36px 1fr;
        padding: 14px 14px;
    }
    .rs-process__num{
        width: 36px;
        height: 36px;
        font-size: 14px;
    }
}


/* =========================
   RelyShield Pricing (Subscriptions)
   Namespace: .rs-pricing
   Mobile-first, clean, pro
   ========================= */

.rs-pricing{
    position: relative;
    background: var(--rs-section, #fff);
}

/* subtle divider line between sections */
.rs-pricing::before{
    content:"";
    position:absolute;
    left:50%;
    top:0;
    transform:translateX(-50%);
    width:min(820px, 92vw);
    height:1px;
    background:linear-gradient(90deg, transparent, rgba(11,34,54,.18), transparent);
    pointer-events:none;
}

/* Keep header centered, but don't leak into cards */
.rs-pricing__inner{
    max-width: var(--rs-container, 1200px);
    margin: 0 auto;
}

/* Header */
.rs-pricing__header{
    text-align: center;
    display:grid;
    gap: 10px;
    margin-bottom: 18px;
}

.rs-pricing__title{
    margin:0;
    font-family: var(--rs-font-heading);
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.08;
    font-size: clamp(26px, 3.2vw, 40px);
    color: var(--rs-text);
}

.rs-pricing__subtitle{
    margin:0 auto;
    max-width: 78ch;
    color: var(--rs-muted);
    line-height: 1.6;
    font-size: 15px;
}

/* Grid */
.rs-pricing__grid{
    display:grid;
    grid-template-columns: 1fr;
    gap: 14px;
    margin-top: 18px;
}

@media (min-width: 980px){
    .rs-pricing__grid{
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 18px;
        align-items: stretch;
    }
}

/* Plan card */
.rs-pricing__plan{
    border: 1px solid var(--rs-line);
    border-radius: var(--rs-radius-lg);
    background: var(--rs-surface-solid);
    box-shadow: var(--rs-shadow-xs);
    overflow:hidden;

    display:flex;
    flex-direction: column;
    text-align:left;
    transition: transform var(--rs-transition-fast), box-shadow var(--rs-transition-fast), border-color var(--rs-transition-fast);
}
.rs-pricing__plan:hover{
    transform: translateY(-2px);
    box-shadow: var(--rs-shadow-soft);
    border-color: var(--rs-line-strong);
}

/* brand accent line */
.rs-pricing__plan::before{
    content:"";
    height: 3px;
    background: var(--rs-accent, #2E7B7A);
}

/* top area */
.rs-pricing__planTop{
    padding: 18px 16px 10px;
}

.rs-pricing__planTitle{
    margin: 4px 0 6px;
    font-family: var(--rs-font-heading);
    font-weight: 900;
    letter-spacing: -0.02em;
    color: var(--rs-text);
    font-size: 22px;
    line-height: 1.15;
}

.rs-pricing__planTag{
    margin: 0 0 10px;
    color: rgba(11,34,54,.62);
    font-size: 13px;
}

.rs-pricing__desc{
    margin: 0 0 12px;
    color: var(--rs-muted);
    line-height: 1.55;
    font-size: 14px;
}

.rs-pricing__price{
    margin: 0;
    font-weight: 900;
    color: var(--rs-text);
    font-size: 28px;
    letter-spacing: -0.02em;
}

.rs-pricing__period{
    font-weight: 600;
    font-size: 14px;
    color: rgba(11,34,54,.60);
}

/* Features list */
.rs-pricing__features{
    list-style:none;
    padding: 0 16px;
    margin: 8px 0 0;
    margin-bottom: 0;
    padding-bottom: 10px;
}

/* Feature row: stable alignment on mobile */
.rs-pricing__feat{
    display:grid;
    grid-template-columns: 18px 1fr 28px; /* mobile-first: tighter */
    align-items: start;                  /* better with multiline */
    column-gap: 10px;

    padding: 12px 0;
    border-top: 1px solid rgba(11,34,54,.08);
    position: relative;
}

@media (min-width: 420px){
    .rs-pricing__feat{
        grid-template-columns: 18px 1fr 32px;
    }
}

.rs-pricing__check{
    width: 18px;
    height: 18px;
    border-radius: 999px;
    background: rgba(46,123,122,.14);
    position: relative;
    transform: translateY(2px); /* optiškai sulygina su tekstu */
}

.rs-pricing__check::after{
    content:"✓";
    position:absolute;
    inset:0;
    display:grid;
    place-items:center;
    font-weight: 900;
    font-size: 12px;
    color: rgba(46,123,122,.98);
}

.rs-pricing__featText{
    color: rgba(11,34,54,.82);
    line-height: 1.35;
    font-size: 14.5px;
    padding-right: 6px;
}

/* Info button: never leaks outside */
.rs-pricing__info{
    width: 26px;
    height: 26px;
    display: grid;
    place-items: center;
    padding: 0;
    margin: 0;
    justify-self: end;

    border-radius: 999px;
    background: rgba(11,34,54,.05);
    border: 1px solid rgba(11,34,54,.10);
    color: rgba(11,34,54,.70);
    font-weight: 800;
    cursor: pointer;

    /* prevent ugly tap highlight / accidental selection on mobile */
    -webkit-tap-highlight-color: transparent;
    user-select: none;
}

.rs-pricing__info:focus-visible{
    outline: none;
    box-shadow: 0 0 0 3px rgba(46,123,122,.18);
}

/* Tooltip panel */
.rs-pricing__tip{
    grid-column: 1 / -1;
    margin-top: 10px;
    padding: 12px 12px;

    border-radius: 14px;
    background: rgba(11,34,54,.035);
    border: 1px solid rgba(11,34,54,.08);

    color: rgba(11,34,54,.75);
    font-size: 13px;
    line-height: 1.45;

    display:none;
}

.rs-pricing__feat.is-open .rs-pricing__tip{
    display:block;
}

/* CTA */
.rs-pricing__cta{
    margin: 16px 16px 16px;
    width: calc(100% - 32px);
    border-radius: 16px !important;
    text-decoration: none !important;
    margin-top: auto;
}
.rs-pricing__cta--disabled {
    opacity: 0.7;
    cursor: not-allowed;
    pointer-events: none;
}

/* Note + legal */
.rs-pricing__note{
    margin: 12px 16px 0;
    color: rgba(11,34,54,.60);
    font-size: 12.5px;
    margin-top: 12px;
    margin-bottom: 5px;
}

.rs-pricing__legal{
    margin-top: 14px;
    text-align:center;
    font-size: 13px;
    color: rgba(11,34,54,.60);
}

/* Variants */
.rs-pricing__plan--sos::before{ background: #2E7B7A; }
.rs-pricing__plan--protect::before{ background: #314760; }
.rs-pricing__plan--vip::before{ background: #805d10; }

@media (min-width: 980px){
    .rs-pricing__plan{
        height: 100%;
    }
}

@media (max-width: 420px){
    .rs-pricing__feat{
        grid-template-columns: 18px 1fr 28px; /* siauresnis stulpelis ? */
        column-gap: 8px;
    }
    .rs-pricing__info{
        width: 24px;
        height: 24px;
        font-size: 13px;
    }
}

.rs-pricing__plan{
    min-height: 100%;
}

@media (min-width: 980px){
    .rs-pricing__plan{
        min-height: 560px; /* parinkta vizualiai, pakoreguosi 520-600 */
    }
}

/* --------- MEMBERSHIP INTRO --------- */
.rs-membership-intro {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
    margin-bottom: 36px;
}
@media (min-width: 980px) {
    .rs-membership-intro {
        grid-template-columns: repeat(3, 1fr);
        gap: 20px;
        margin-bottom: 44px;
    }
}
.rs-membership-intro__card {
    background: var(--rs-surface-solid);
    border: 1px solid var(--rs-line);
    border-radius: var(--rs-radius);
    padding: 24px 22px;
    box-shadow: var(--rs-shadow-xs);
}
.rs-membership-intro__card--accent {
    background: rgba(46,123,122,.10);
    border-color: rgba(46,123,122,.25);
}
.rs-membership-intro__title {
    font-size: 15px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--rs-primary, #2E7B7A);
    margin: 0 0 10px;
}
.rs-membership-intro__text {
    font-size: 15px;
    line-height: 1.55;
    color: rgba(11,34,54,.80);
    margin: 0;
}
.rs-membership-intro__text--large {
    font-size: 17px;
    font-weight: 600;
    line-height: 1.45;
    color: var(--rs-text, #0b2236);
}
.rs-membership-intro__list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.rs-membership-intro__list li {
    position: relative;
    padding-left: 20px;
    font-size: 15px;
    line-height: 1.55;
    color: rgba(11,34,54,.80);
    margin-bottom: 6px;
}
.rs-membership-intro__list li::before {
    content: "→";
    position: absolute;
    left: 0;
    color: var(--rs-primary, #2E7B7A);
    font-weight: 600;
}

/* --------- COMPARISON TABLE --------- */
.rs-compare {
    margin-top: 40px;
    margin-bottom: 10px;
}
.rs-compare__title {
    font-size: 20px;
    font-weight: 700;
    text-align: center;
    margin: 0 0 20px;
    color: var(--rs-text, #0b2236);
}
.rs-compare__table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
    display: none;
}
@media (min-width: 980px) {
    .rs-compare__table { display: table; }
    .rs-compare__mobile { display: none; }
}
.rs-compare__table th,
.rs-compare__table td {
    padding: 12px 14px;
    text-align: center;
    border-bottom: 1px solid rgba(11,34,54,.08);
    color: var(--rs-text, #0b2236);
}
.rs-compare__table th {
    font-weight: 700;
    font-size: 15px;
    padding-bottom: 14px;
    border-bottom: 2px solid rgba(11,34,54,.12);
}
.rs-compare__table th:first-child,
.rs-compare__table td.rs-compare__label {
    text-align: left;
    font-weight: 600;
    color: rgba(11,34,54,.65);
    width: 28%;
}
.rs-compare__row--highlight td {
    font-size: 13px;
    color: rgba(11,34,54,.60);
    font-style: italic;
}
.rs-compare__row--cta td {
    border-bottom: none;
    vertical-align: middle;
    padding-top: 16px;
}
.rs-compare__cell--cta {
    text-align: center;
}
.rs-compare__btn {
    width: 100%;
    max-width: 200px;
    box-sizing: border-box;
    white-space: normal;
    line-height: 1.25;
    min-height: 44px;
    padding: 10px 12px;
}
.rs-compare__btn--block {
    max-width: none;
}
.rs-compare__mobile-cta {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 12px;
    padding-top: 8px;
    border-top: 1px solid rgba(11,34,54,.10);
}

/* Mobile accordion fallback */
.rs-compare__mobile {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
@media (min-width: 980px) {
    .rs-compare__mobile { display: none; }
}
.rs-compare__accordion {
    border: 1px solid rgba(11,34,54,.10);
    border-radius: 10px;
    overflow: hidden;
}
.rs-compare__accordion-q {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 14px 16px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    color: var(--rs-text, #0b2236);
    list-style: none;
}
.rs-compare__accordion-q::-webkit-details-marker { display: none; }
.rs-compare__accordion-icon::after {
    content: "+";
    font-size: 18px;
    font-weight: 400;
    color: var(--rs-primary, #2E7B7A);
}
.rs-compare__accordion[open] .rs-compare__accordion-icon::after {
    content: "−";
}
.rs-compare__accordion-a {
    padding: 6px 16px 16px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.rs-compare__accordion-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 12px;
    font-size: 14px;
}
.rs-compare__accordion-plan {
    font-weight: 600;
    color: var(--rs-primary, #2E7B7A);
    flex-shrink: 0;
    min-width: 80px;
}
.rs-compare__accordion-val {
    color: var(--rs-text, #0b2236);
    text-align: right;
    word-break: break-word;
    flex: 1;
    min-width: 0;
}

/* --------- INCIDENT PATTERNS --------- */
.rs-incidents {
    background: rgba(11,34,54,.02);
}
.rs-incidents__inner { text-align: center; }
.rs-incidents__header { margin-bottom: 28px; }
.rs-incidents__title {
    font-size: clamp(22px, 3vw, 30px);
    font-weight: 800;
    color: var(--rs-text, #0b2236);
    margin: 0 0 8px;
}
.rs-incidents__subtitle {
    font-size: 15px;
    color: rgba(11,34,54,.60);
    margin: 0;
}
.rs-incidents__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
    list-style: none;
    padding: 0;
    margin: 0;
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
}
@media (min-width: 768px) {
    .rs-incidents__grid {
        grid-template-columns: repeat(3, 1fr);
        max-width: 900px;
        gap: 14px;
    }
}
.rs-incidents__item {
    background: #fff;
    border: 1px solid rgba(11,34,54,.08);
    border-radius: 12px;
    padding: 18px 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    transition: border-color .2s;
}
.rs-incidents__item:hover {
    border-color: var(--rs-primary, #2E7B7A);
}
.rs-incidents__text {
    font-size: 14px;
    font-weight: 500;
    color: var(--rs-text, #0b2236);
    line-height: 1.4;
}
.rs-incidents--compact {
    background: transparent;
    padding: 28px 0;
}
.rs-incidents--compact .rs-incidents__title {
    font-size: clamp(18px, 2.5vw, 24px);
}

/* --------- MINI TESTIMONIALS --------- */
.rs-mini-testimonials {
    margin-top: 32px;
    margin-bottom: 16px;
}
.rs-mini-testimonials__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
    max-width: 760px;
    margin: 0 auto;
}
@media (min-width: 640px) {
    .rs-mini-testimonials__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
.rs-mini-testimonials__card {
    background: #fff;
    border: 1px solid rgba(11,34,54,.08);
    border-radius: 12px;
    padding: 20px;
    margin: 0;
    position: relative;
}
.rs-mini-testimonials__card::before {
    content: "\201C";
    position: absolute;
    top: 10px;
    left: 14px;
    font-size: 36px;
    line-height: 1;
    color: var(--rs-primary, #2E7B7A);
    opacity: .25;
    font-family: Georgia, serif;
}
.rs-mini-testimonials__text {
    font-size: 14px;
    line-height: 1.6;
    color: var(--rs-text, #0b2236);
    margin: 0 0 10px;
    font-style: italic;
}
.rs-mini-testimonials__author {
    font-size: 13px;
    font-weight: 600;
    color: rgba(11,34,54,.55);
}

/* --------- END OF SUBSCRIPTIONS ------ */


/* ------- From Step 1 ------- */

/* file upload button */
.form-container input[type="file"]::file-selector-button {
    border-radius: 4px;
    padding: 0 16px;
    height: 40px;
    cursor: pointer;
    background-color: white;
    border: 1px solid rgba(0, 0, 0, 0.16);
    box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.05);
    margin-right: 10px;
    transition: background-color 200ms;
}

/* file upload button hover state */
.form-container input[type="file"]::file-selector-button:hover {
    background-color: #f3f4f6;
}

/* file upload button active state */
.form-container input[type="file"]::file-selector-button:active {
    background-color: #e5e7eb;
}



.form-label {
    font-family: 'Open Sans', Arial, sans-serif;
    position: absolute;
    left: 12px; /* Align with the input field */
    top: 50%;
    transform: translateY(-50%);
    transition: all 0.3s ease;
    background-color: #fff; /* Match the input field's background color */
    padding: 0 5px; /* Add some padding on the sides */
    margin-top: -1px; /* This ensures the label covers the border */
    pointer-events: none;
    opacity: 0; /* Hide label */
}

.form-control.form-input.error {
    border: 1px solid red;
}

.form-label.error {
    color: red;
}

.form-control.form-input.error::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
    color: red;
    opacity: 1; /* Firefox */
}

.form-control.form-input.error:-ms-input-placeholder { /* Internet Explorer 10-11 */
    color: red;
}

.form-control.form-input.error::-ms-input-placeholder { /* Microsoft Edge */
    color: red;
}


.form-control.form-input:focus + .form-label,
.form-control.form-input:not(:placeholder-shown) + .form-label {
    opacity: 1; /* Show label when input is focused or filled */
    transform: translateY(-194%); /* Move label to top */
    font-size: 12px; /* Smaller font size for the floating label */
    border-radius: 25px;
}

.form-control.form-input:focus + .form-label {
    opacity: 1; /* Show label when input is focused */
    transform: translateY(-194%); /* Move label to top */
    font-size: 12px; /* Smaller font size for the floating label */
    background-color: #fff; /* Ensure the background covers the border */
    padding: 0 5px; /* Maintain padding */
    z-index: 10; /* Ensure the label is above all */
    border-radius: 25px;
}


/* Responsive Styles */
@media screen and (max-width: 576px) {
    form {
        padding: 0;
    }
    input,
    textarea,
    select {
        padding: 10px;
    }
    button {
        padding: 10px 15px;
    }
}
@media only screen and (max-width: 767px) {
    .container {
        flex-direction: column;
        align-items: flex-start;
    }

    nav {
        margin-top: 10px;
    }

    nav ul {
        flex-direction: column;
        align-items: flex-start;
    }

    nav li {
        margin: 0;
        margin-bottom: 10px;
    }

}

@media screen and (min-width: 577px) and (max-width: 768px) {
    form {
        padding: 20px;
    }
}

@media screen and (min-width: 769px) and (max-width: 992px) {
    form {
        padding: 25px;
    }

}

@media screen and (min-width: 993px) and (max-width: 1204px) {
    form {
        padding: 30px;
    }
}



.gsi-material-button {
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    -webkit-appearance: none;
    background-color: WHITE;
    background-image: none;
    border: 1px solid #747775;
    -webkit-border-radius: 4px;
    border-radius: 4px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    color: #1f1f1f;
    cursor: pointer;
    font-family: "Open Sans", Arial, sans-serif;
    font-size: 14px;
    height: 40px;
    letter-spacing: 0.25px;
    outline: none;
    overflow: hidden;
    padding: 0 12px;
    position: relative;
    text-align: center;
    -webkit-transition: background-color .218s, border-color .218s, box-shadow .218s;
    transition: background-color .218s, border-color .218s, box-shadow .218s;
    vertical-align: middle;
    white-space: nowrap;
    width: auto;
    min-width: min-content;
}

.gsi-material-button .gsi-material-button-icon {
    height: 20px;
    margin-right: 12px;
    min-width: 20px;
    width: 20px;
}

.gsi-material-button .gsi-material-button-content-wrapper {
    -webkit-align-items: center;
    align-items: center;
    display: flex;
    -webkit-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
    height: 100%;
    justify-content: space-between;
    position: relative;
    width: 100%;
}

.gsi-material-button .gsi-material-button-contents {
    -webkit-flex-grow: 1;
    flex-grow: 1;
    font-family: "Open Sans", Arial, sans-serif;
    font-weight: 500;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: top;
}

.gsi-material-button .gsi-material-button-state {
    -webkit-transition: opacity .218s;
    transition: opacity .218s;
    bottom: 0;
    left: 0;
    opacity: 0;
    position: absolute;
    right: 0;
    top: 0;
}

.gsi-material-button:disabled {
    cursor: default;
    background-color: #ffffff61;
    border-color: #1f1f1f1f;
}

.gsi-material-button:disabled .gsi-material-button-contents {
    opacity: 38%;
}

.gsi-material-button:disabled .gsi-material-button-icon {
    opacity: 38%;
}

.gsi-material-button:not(:disabled):active .gsi-material-button-state,
.gsi-material-button:not(:disabled):focus .gsi-material-button-state {
    background-color: #303030;
    opacity: 12%;
}

.gsi-material-button:not(:disabled):hover {
    -webkit-box-shadow: 0 1px 2px 0 rgba(60, 64, 67, .30), 0 1px 3px 1px rgba(60, 64, 67, .15);
    box-shadow: 0 1px 2px 0 rgba(60, 64, 67, .30), 0 1px 3px 1px rgba(60, 64, 67, .15);
}

.gsi-material-button:not(:disabled):hover .gsi-material-button-state {
    background-color: #303030;
    opacity: 8%;
}


.or-separator {
    text-align: center;
    margin: 20px 0;
    position: relative;
    margin-bottom: 0;
}

.or-separator::before, .or-separator::after {
    content: '';
    position: absolute;
    top: 50%;
    width: 40%;
    height: 1px;
    background: #ced4da;
}

.or-separator::before {
    left: 0;
}

.or-separator::after {
    right: 0;
}
.google-btn-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;

}



@media (max-width: 768px) {
    .modal-dialog {
        width: 90%; /* Adjust width for small screens */
        max-width: none;
    }
}

@media (max-width: 576px) {
    .modal-dialog {
        width: 96%; /* Full width on extra small screens */
    }
}
.modal-content {
    padding: 10px; /* Adjust padding inside the modal */
}

.modal-header, .modal-body, .modal-footer {
    padding: 10px; /* Consistent padding for all modal parts */
}

@media (max-width: 768px) {
    .modal-title {
        font-size: 1.5rem; /* Smaller font size for modal titles */
    }

    .modal-body {
        font-size: 0.9rem; /* Smaller font size for modal body */
    }
}
.modal-footer {
    justify-content: flex-start;
    border: none;
}
@media (max-width: 900px) {
    .gsi-material-button {
        width: 100%;
    }
}
.google-btn-wrapper {
    width: 100%;
}





.swiper-pagination {
    margin-bottom: 32px;
}

/* Testimonials Section */
.testimonials-section {
    background: #ffffff;
    padding: 50px 0;
    border-top: none; /* A colored top border for brand consistency */
    border-bottom: none; /* Same colored bottom border */
    position: relative;
    box-shadow: inset 0 -1px 2px rgba(0,0,0,0.1); /* Inner shadow for a subtle separator */
    padding-top: 30px;
    padding-bottom: 100px;

}
.testimonials-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 0px;
    background-image: linear-gradient(to right, #192d43, #95a8b8);
    /*background-image: linear-gradient(to right, #4f5bd5, #d62976); *//* Full gradient border */
    /*background-image: linear-gradient(to right, #4f5bd5 50%, #d62976 50%);*/
}
.testimonials-section::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 0;
    background-image: linear-gradient(to right, #192d43, #95a8b8); /* Full gradient border */
    /*background-image: linear-gradient(to right, #4f5bd5 50%, #d62976 50%);*/
}

.testimonials-section .swiper-container {
    max-width: 100%;
    padding: 0 15px; /* Add padding to match the main content container if necessary */
}
.testimonials-section .swiper-slide {
    width: auto;
}

body, button, input, textarea {
    font-family: "Open Sans", Arial, sans-serif;
}

h2.box-title {
    font-family: "Open Sans", Arial, sans-serif; /* More distinctive font for titles */
    margin-bottom: 1rem;
    font-size: 2.2rem;
    color: #192d43; /* Primary color for titles */
    opacity: 1;
}





/* Modal Base Styles */
.modal {
    display: none; /* Hidden by default */
    position: fixed; /* Stay in place */
    z-index: 1000; /* Sit on top */
    left: 0;
    top: 0;
    width: 100%; /* Full width */
    height: 100%; /* Full height */
    overflow: auto; /* Enable scroll if needed */
    background-color: rgb(0, 0, 0); /* Fallback color */
    background-color: rgba(0, 0, 0, 0.4); /* Black w/ opacity */
}

/* Modal Content Box */
.modal-dialog {
    max-width: 600px; /* Adjust modal width */
    width: 90%; /* Responsive width */
    margin: 5% auto; /* Center the modal with some top margin */
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); /* Add some shadow for depth */
}

.modal-content {
    position: relative; /* For positioning the close button */
    background-color: #fff; /* White background */
    border: none; /* Remove border */
    border-radius: 8px; /* Rounded corners for the modal */
}

/* The Close Button */
.close-modal {
    position: absolute;
    top: 10px;
    right: 15px;
    background: transparent;
    border: none; /* Remove button border */
    font-size: 1.5rem;
}

.close-modal:hover,
.close-modal:focus {
    color: black;
    text-decoration: none;
    cursor: pointer;
}

.modal-header {
    border-bottom: none; /* Remove the border */
    padding: 10px 20px; /* Adjust padding */
}

.modal-body {
    padding: 20px; /* Adjust padding */
}






.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}


.testimonial-modal {
    /* Custom styles for testimonial modals */
    /* max-width: 90%;  Example: Limit the width of the modal */
    /* max-height: 80vh; Example: Limit the height and ensure it's within the viewport */
    overflow-y: auto; /* Allows scrolling within the modal if necessary */
}

body.rs-modal-open {
    overflow: hidden;
}

/* When the modal is active, we'll use this class to show it */
.modal.is-active {
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Add more styles for hover effects, responsiveness, etc., as needed. */

@media (max-width: 576px) {
    .modal-dialog {
        margin: 10% auto;
    }
}



.modal-backdrop {
    z-index: -1;
}

/* =========================
   RelyShield FAQ – 2026
   Namespace: .rs-faq
   Mobile-first, solid, minimalist
   ========================= */

.rs-faq{
    --rs-faq-bg: var(--rs-bg, #fff);
    --rs-faq-surface: var(--rs-surface, #fff);
    --rs-faq-text: var(--rs-text, #0B2236);
    --rs-faq-muted: var(--rs-muted, rgba(11,34,54,.68));
    --rs-faq-line: var(--rs-line, rgba(11,34,54,.10));

    background: var(--rs-faq-bg);
    position: relative;
}

.rs-faq__header{
    text-align: center;
    display: grid;
    gap: 10px;
    margin-bottom: clamp(18px, 3vw, 26px);
}

.rs-faq__title{
    margin: 0;
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.08;
    font-size: clamp(26px, 6.4vw, 40px); /* same as services */
    color: var(--rs-faq-text);
}

.rs-faq__subtitle{
    margin: 0 auto;
    max-width: 68ch;
    font-size: clamp(14px, 3.6vw, 16px); /* same as services */
    line-height: 1.6;
    color: var(--rs-faq-muted);
}

.rs-faq__grid{
    display: grid;
    gap: 12px;
}

.rs-faq__item{
    border: 1px solid var(--rs-faq-line);
    border-radius: var(--rs-radius, 16px);
    background: rgba(255,255,255,.96);
    overflow: hidden;
}

.rs-faq__q{
    list-style: none;
    cursor: pointer;
    padding: 16px 16px;
    display: grid;
    grid-template-columns: 1fr 18px;
    gap: 12px;
    align-items: center;

    color: var(--rs-faq-text);
    font-weight: 750;
    line-height: 1.25;
    font-size: 15.5px;
    -webkit-tap-highlight-color: transparent;
}

.rs-faq__q::-webkit-details-marker{ display:none; }
.rs-faq__q::marker{ content:""; }

.rs-faq__icon{
    width: 18px;
    height: 18px;
    border-radius: 999px;
    position: relative;
    justify-self: end;
    background: rgba(46,123,122,.10);
    border: 1px solid rgba(46,123,122,.18);
}

.rs-faq__icon::before,
.rs-faq__icon::after{
    content:"";
    position:absolute;
    left:50%;
    top:50%;
    width: 10px;
    height: 2px;
    background: rgba(46,123,122,.95);
    transform: translate(-50%, -50%);
    border-radius: 2px;
}
.rs-faq__icon::after{ transform: translate(-50%, -50%) rotate(90deg); }
.rs-faq__item[open] .rs-faq__icon::after{ display:none; }

.rs-faq__a{
    padding: 0 16px 16px;
    color: rgba(11,34,54,.74);
    font-size: 14.8px;
    line-height: 1.6;
}

.rs-faq__a p{ margin: 0; }
.rs-faq__a p + p{ margin-top: 10px; }

.rs-faq__a ul{
    margin: 0;
    padding-left: 18px;
}
.rs-faq__a li{ margin: 8px 0; }

.rs-faq__a strong{ color: var(--rs-faq-text); }

.rs-faq__q:focus-visible{
    outline: none;
    box-shadow: var(--rs-shadow-focus, 0 0 0 4px rgba(46,123,122,.18));
    border-radius: 14px;
}

@media (min-width: 900px){
    .rs-faq__grid{
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
        align-items: start;
    }
}

.rs-faq__foot{
    margin: 16px auto 0;
    max-width: 72ch;
    text-align: center;
    color: var(--rs-faq-muted);
    font-size: 14px;
    line-height: 1.6;
}




/* =========================
   RelyShield Contact (Video BG)
   Namespace: .rs-contact
   Mobile-first, pro, stable
   ========================= */

.rs-contact{
    position: relative;
    overflow: hidden;
    color: #fff;
    background: #0b1220; /* fallback jei video neužsikrauna */
}

/* Background layer */
.rs-contact__bg{
    position: absolute;
    inset: 0;
    z-index: 0;
}

/* Video fills the section */
.rs-contact__video{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
    filter: saturate(1.05) contrast(1.05);
}

@media (max-width: 768px){
    .rs-contact__video{
        object-position: top left;   /* arba center left */
    }
}

/* Scrim overlay (readability) */
.rs-contact__bg::after{
    content:"";
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
            radial-gradient(80% 70% at 60% 35%, rgba(0,0,0,.20) 0%, rgba(0,0,0,.45) 60%, rgba(0,0,0,.62) 100%),
            linear-gradient(180deg, rgba(0,0,0,.25) 0%, rgba(0,0,0,.55) 70%, rgba(0,0,0,.70) 100%);
    pointer-events: none;
}

/* Content layer */
.rs-contact__inner{
    position: relative;
    z-index: 2;
    display: grid;
    gap: 16px;

    /* vietoj padding-top hackų: normalus section height */
    min-height: clamp(560px, 92vh, 860px);

    /* ritmas kaip kitose sekcijose */
    padding-top: clamp(48px, 7vw, 84px);
    padding-bottom: clamp(48px, 7vw, 84px);
}

/* Header */
.rs-contact__header{
    text-align: center;
    display: grid;
    gap: 10px;
    justify-items: center;
}

.rs-contact__title{
    margin: 0;
    font-family: var(--rs-font-heading);
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.08;
    font-size: clamp(26px, 5.2vw, 44px);
    color: #fff;
}

.rs-contact__subtitle{
    margin: 0;
    max-width: 70ch;
    color: rgba(255,255,255,.84);
    line-height: 1.6;
    font-size: clamp(14px, 2.2vw, 16px);
}

/* Panel that holds the form */
.rs-contact__panel{
    display: grid;
    justify-items: center;
    width: 100%;
}

/* Form card */
.rs-contact__form{
    width: min(520px, 100%);
    padding: 18px;
    border-radius: var(--rs-radius-lg);

    background: rgba(7,24,39,.40);
    border: 1px solid rgba(255,255,255,.16);
    box-shadow: 0 18px 46px rgba(0,0,0,.18);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);

    display: grid;
    gap: 12px;
}

/* Field blocks */
.rs-contact__field{
    display: grid;
    gap: 6px;
}

.rs-contact__field label{
    color: rgba(255,255,255,.90);
    font-weight: 600;
    font-size: 13px;
}

/* Inputs: rely on your global input styles, but ensure contrast on dark bg */
.rs-contact__form input,
.rs-contact__form textarea{
    background: rgba(255,255,255,.96) !important;
    border: 1px solid rgba(255,255,255,.22) !important;
    color: #0B2236 !important;
}
.rs-contact__form textarea{
    min-height: 140px;
    resize: vertical;
}

.rs-contact__message{
    display: none;
    padding: 12px 14px;
    border-radius: var(--rs-radius-sm);
    font-size: 14px;
    line-height: 1.5;
    border: 1px solid transparent;
}
.rs-contact__message.success{
    display: block !important;
    background: rgba(21, 128, 61, 0.18);
    border-color: rgba(187, 247, 208, 0.34);
    color: #f0fdf4;
}
.rs-contact__message.error{
    display: block !important;
    background: rgba(220, 38, 38, 0.20);
    border-color: rgba(254, 202, 202, 0.34);
    color: #fef2f2;
}

/* CTA: spacing so it doesn't “stick” to textarea */
.rs-contact__cta{
    margin-top: 8px;
    width: 100%;
    min-height: 48px;
    border-radius: 16px !important;
    background: linear-gradient(135deg, var(--rs-accent), var(--rs-brand-teal-hover)) !important;
    color: #fff !important;
    border-color: rgba(255,255,255,.14) !important;
}
.rs-contact__cta:hover,
.rs-contact__cta:focus-visible {
    transform: translateY(-1px);
    filter: brightness(1.04);
    box-shadow: 0 14px 30px rgba(7, 24, 39, .24);
}

/* Mobile polish: subtitle can be hidden if you insist, but better to keep it smaller */
@media (max-width: 768px){
    .rs-contact__inner{
        min-height: auto;
        padding-top: 38px;
        padding-bottom: 38px;
        gap: 14px;
    }

    .rs-contact__form{
        width: min(100%, 560px);
        padding: 14px;
        box-shadow: 0 10px 24px rgba(0,0,0,.14);
    }

    .rs-contact__subtitle{
        max-width: 34ch;
    }
}

/* Reduce-motion: don't force video on users who ask not to */
@media (prefers-reduced-motion: reduce){
    .rs-contact__video{
        display: none;
    }
    .rs-contact{
        background: #0b1220;
    }
}




/* Cookie Consent Popup Styles */
.cookie-consent {
    display: none;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: #182a3d;
    color: #fff;
    text-align: center;
    padding: 10px;
    z-index: 9999;
}

.cookie-content {
    max-width: 600px;
    margin: 0 auto;
}

.cookie-consent p {
    margin: 0;
    margin-bottom: 10px;
}

.cookie-consent a {
    color: #fff;
    text-decoration: underline;
}

.cookie-consent button {
    background-color: #182a3d;
    color: #fff;
    border: none;
    padding: 5px 15px;
    cursor: pointer;
    border: 1px solid #f2f7ff;
    justify-content: center;
}

.cookie-consent button:hover {
    background-color: #051a2d;
    border: 1px solid #fff;
}

.cookie-consent .decline-cookies {
    background-color: #314760;
    color: #dce6ec;
    border: none;
}
.cookie-consent .decline-cookies:hover {
    background-color: #051A2DFF;
    border: none;
}



/* Mobile-specific styles */
@media screen and (max-width: 768px) {

    .modal-dialog.auth-modal-dialog {
        width: 100%;
        height: 100%;
        margin: 0;
    }
    .modal-content.modal-auth {
        height: 100%;
        border-radius: 0;
    }

}



#overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.8);
    z-index: 1000;
}

#overlay div {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.form-container {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

/* You may need to adjust checkbox alignment */
.checkbox {
    margin-right: 10px; /* Add some spacing */
}


.tooltip {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.tooltip-icon {
    cursor: pointer;
    padding: 6px;
}

.tooltip .tooltiptext {
    visibility: hidden;
    font-size: 0.85rem;
    width: 260px; /* Or as much as needed */
    background-color: #4e4e4e;
    color: #ffffff;
    text-align: left;
    border-radius: 4px;
    padding: 10px;
    position: absolute;
    z-index: 1;
    left: 50%; /* Center horizontally */
    transform: translateX(-50%); /* Center horizontally */
    bottom: 100%;
    transition: visibility 0.2s ease-in-out, opacity 0.2s ease-in-out;
    opacity: 0;
    pointer-events: none;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}

.tooltip.is-open .tooltiptext {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
}

.tooltip-icon:hover + .tooltiptext,
.tooltip-icon:focus + .tooltiptext,
.tooltip-icon:active + .tooltiptext {
    visibility: visible;
    opacity: 1;
    pointer-events: auto; /* Allow pointer events so it can be interacted with */
}

.tooltip .close-btn {
    position: absolute;
    top: 0.25rem;
    right: 0.45rem;
    background-color: transparent;
    border: none;
    color: #ffffff;
    cursor: pointer;
    font-size: 20px;
}

.tooltip .tooltiptext::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -5px;
    border-width: 10px;
    border-style: solid;
    border-color: #4e4e4e transparent transparent transparent;
}

.tooltip {
    font-size: 1rem;
    line-height: 2;
}

/* Prevent text selection on tooltip trigger */
.tooltip {
    user-select: none; /* Standard syntax */
    -webkit-user-select: none; /* Safari */
    -moz-user-select: none; /* Firefox */
    -ms-user-select: none; /* IE10+/Edge */
}

.input-tooltip-group {
    position: relative;
}

.input-tooltip-group .tooltip {
    z-index: 50;             /* virš input/label */
    pointer-events: auto;
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    opacity: 1;
}

.input-tooltip-group .tooltip-icon{
    position: relative;
    z-index: 51;
    pointer-events: auto;
    color: var(--rs-accent);
}

.input-tooltip-group label{
    z-index: 1;
}

/* input paliekam žemiau tooltip'o */
.input-tooltip-group input{
    position: relative;
    z-index: 2;
}

/* kad tooltiptext visada būtų "blokas" */
.tooltip .tooltiptext{
    display: block;
    z-index: 9999;
}

/* paliekam vietos ikonai inpute */
.input-tooltip-group input {
    padding-right: 36px;
}
.form-group, .floating-label-group { overflow: visible; }

@media (max-width: 768px) {

    .tooltip .close-btn {
        right: -0.45rem;
        top: -0.45rem;
        font-size: 20px;
    }
    .tooltip .tooltiptext {
        font-size: 0.85rem;
        width: 260px;
        padding: 10px;
        padding-right: 1.2rem;
    }

}


/* =========================
   RelyShield Hero (scoped)
   ========================= */
.rs-hero{
    display: grid;
    --rs-bg: #0b1220;
    --rs-white: #ffffff;
    --rs-muted: rgba(255,255,255,.80);
    --rs-hero-muted2: rgba(255,255,255,.72);
    --rs-border: rgba(255,255,255,.14);


    --rs-radius: 18px;
    --rs-max: 1160px;

    position: relative;
    isolation: isolate;
    overflow: clip;

    color: var(--rs-white);
    background-color: var(--rs-bg);
    background-image: var(--rs-hero-bg);
    background-repeat: no-repeat;
    background-size: cover;

    /* Desktop: veidas dešinėj, tekstas kairėj */
    background-position: 72% 8%;

    /* Geresnis “hero feel” */
    min-height: clamp(520px, 70vh, 720px);

    /* Jei turi sticky header, palik šiek tiek daugiau viršaus */
    padding: clamp(56px, 6vw, 96px) 16px;
}

.rs-hero--home{
    --rs-hero-bg: url('/images/hero-bg4.png');
}

/* Kryptinis overlay: kairėje tamsiau, dešinėje šviesiau (palieka veidą matomą) */
.rs-hero__overlay{
    position: absolute;
    inset: 0;
    z-index: 0;
    background:
        /* subtilus “depth” */
            radial-gradient(900px 520px at 20% 25%, rgba(0,0,0,.55), transparent 60%),
                /* pagrindinis kairė->dešinė */
            linear-gradient(90deg,
            rgba(0,0,0,.72) 0%,
            rgba(0,0,0,.60) 38%,
            rgba(0,0,0,.30) 62%,
            rgba(0,0,0,.12) 78%,
            rgba(0,0,0,.06) 100%);
}

/* Container */
.rs-hero__container{
    position: relative;
    z-index: 1;
    max-width: var(--rs-max, 1160px);
    margin: 0 auto;
    width: 100%;
    min-height: 100%;

    display: grid;
    grid-template-rows: 1fr auto; /* content + foot */
    align-items: center;
}

/* Apačios juosta */
.rs-hero__foot{
    margin-top: 16px;
    padding-top: 12px;
    align-self: end;

    /* subtili atskirtis, bet be triukšmo */
    /*border-top: 1px solid rgba(255,255,255,.12);*/
}

/* Content: ant desktop paliekam kairėje, su max pločiu */
.rs-hero__content{
    max-width: 640px;
    display: grid;
    gap: var(--rs-stack-3);
}

.rs-hero__title{
    margin: 0 0 12px;
    max-width: 22ch;
    font-family: var(--rs-font-heading);
    font-size: clamp(30px, 4vw, 50px);
    font-weight: 750;
    line-height: 1.04;
    letter-spacing: -0.02em;
}

.rs-hero__subtitle{
    margin: 0 0 22px;
    max-width: 60ch;
    color: var(--rs-muted);
    font-family: var(--rs-font-body);
    font-size: clamp(15px, 1.5vw, 18px);
    font-weight: 450;
    line-height: 1.55;
}
.rs-hero__meta{
    display: inline-flex;
    gap: 8px;
    flex-wrap: wrap;
    font-size: 12.5px;
    line-height: 1.3;
    color: var(--rs-hero-muted2);
    letter-spacing: .02em;
    align-items: center;
    padding: 10px 14px;
    border-radius: var(--rs-radius-pill);
    border: 1px solid rgba(255,255,255,.12);
    background: rgba(255,255,255,.08);
    backdrop-filter: blur(8px);
}

/* Buttons */
.rs-hero__actions{
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}


/* =========================
   Mobile fixes (critical)
   ========================= */
@media (max-width: 680px){
    .rs-hero{
        /* Mobile: perstumiam žmogų labiau į dešinę/viršų, kad tekstas neliptų ant veido */
        background-position: 34% 18%;
        min-height: 78vh;
        padding: 52px 14px;
    }

    /* Mobile: overlay iš viršaus žemyn (tekstas aiškus), o ne iš kairės į dešinę */
    .rs-hero__overlay{
        background:
                linear-gradient(to bottom,
                rgba(0,0,0,.74) 0%,
                rgba(0,0,0,.62) 42%,
                rgba(0,0,0,.40) 68%,
                rgba(0,0,0,.22) 100%);
    }

    /* Mobile: “glass card” po tekstu (labai švaru ir profesionalu) */
    .rs-hero__content{
        max-width: 100%;
        padding: 12px 8px;
        border-radius: 16px;
        /*background: rgba(8, 14, 26, 0.42);
        border: 1px solid rgba(255,255,255,.12);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        box-shadow: 0 18px 50px rgba(0,0,0,.28);*/
    }
    .rs-hero__actions{
        gap: 12px;
    }

    .rs-hero__title{ max-width: 18ch; }

    .rs-hero__meta{
        max-width: 100%;
        padding: 9px 12px;
        font-size: 12px;
    }

    .rs-hero__actions .rs-btn{
        width: 100%;
    }
    .rs-hero__actions .rs-btn{
        width: 100%;
    }

    .rs-hero__trust{
        gap: 8px;
    }

    .rs-hero__trustItem{
        width: 100%;
        text-align: center;
    }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
    .rs-btn{ transition: none; }
}





/* Hero overlay & text clarity */
.rs-hero__overlay{
    /* stronger, more “cinematic” overlay for trust + readability */
    background:
        radial-gradient(900px 520px at 16% 20%, rgba(7, 24, 39, .30), transparent 60%),
        linear-gradient(90deg, rgba(7, 24, 39, .80) 0%, rgb(7 24 39 / 60%) 46%, rgb(255 255 255 / 10%) 100%) !important;
}

.rs-hero__title{
    font-weight: 800 !important;
    font-size: clamp(30px, 4vw, 56px) !important;
    line-height: 1.08 !important;
    color: #fff !important;
}

.rs-hero__subtitle{
    font-weight: 500 !important;
    font-size: clamp(16px, 1.6vw, 20px) !important;
    color: rgba(255,255,255,.86) !important;
    max-width: 60ch;
}

/* Meta line (tiny, useful keywords without spam) */
.rs-hero__meta{
    margin: 12px 0 0;
    font-size: 13px;
    line-height: 1.35;
    color: var(--rs-hero-muted2);
}

/* Trust row (tiny, calm) */
.rs-hero__trust{
    list-style: none;
    margin: 10px 0 0;
    padding: 0;

    display: flex;
    flex-wrap: wrap;
    gap: 8px 10px;
}

.rs-hero__trustItem{
    font-size: 13px;
    line-height: 1.2;
    color: rgba(255,255,255,.86);

    padding: 8px 10px;
    border-radius: 999px;
    background: rgba(255,255,255,.10);
    border: 1px solid rgba(255,255,255,.14);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}


/* Tooltips: premium look */
.tooltiptext{
    border: 1px solid var(--rs-border) !important;
    border-radius: 14px !important;
    box-shadow: 0 14px 38px rgba(7, 24, 39, .14) !important;
    color: white !important;
}


/* Mobile spacing polish */
@media (max-width: 768px){
    .rs-hero__actions{ gap: 12px !important; }
    .pricing-plan{ border-radius: 18px !important; }
}


/* =========================
   RelyShield Proof / Press – 2026
   Namespace: .rs-proof
   Unified with .rs-services header rhythm
   ========================= */

.rs-proof{
    --rs-proof-bg: var(--rs-section, rgba(11,34,54,.02));
    --rs-proof-surface: var(--rs-surface, #fff);
    --rs-proof-text: var(--rs-text, #0B2236);
    --rs-proof-muted: var(--rs-muted, rgba(11,34,54,.68));
    --rs-proof-line: var(--rs-line, rgba(11,34,54,.10));
    --rs-proof-soft: var(--rs-soft, rgba(11,34,54,.04));
    --rs-proof-accent: var(--rs-accent, #2E7B7A);

    position: relative;
    background: var(--rs-proof-bg);
    overflow: hidden;
}

/* Subtle wash like services (but lighter) */
.rs-proof::before{
    content:"";
    position:absolute;
    inset:0;
    background:
            radial-gradient(720px 260px at 20% 0%, rgba(46,123,122,.06), transparent 62%),
            radial-gradient(680px 240px at 80% 18%, rgba(11,34,54,.04), transparent 62%);
    pointer-events:none;
    z-index:0;
}

.rs-proof__inner{
    position: relative;
    z-index: 1;
    padding-left: clamp(16px, 4vw, 24px);
    padding-right: clamp(16px, 4vw, 24px);
}

/* Header – identical rhythm to services */
.rs-proof__header{
    text-align: center;
    display: grid;
    gap: 10px;
    margin-bottom: clamp(18px, 3vw, 26px);
}

.rs-proof__title{
    margin: 0;
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.08;
    font-size: clamp(26px, 6.4vw, 40px);
    color: var(--rs-proof-text);
}

.rs-proof__subtitle{
    margin: 0 auto;
    max-width: 68ch;
    font-size: clamp(14px, 3.6vw, 16px);
    line-height: 1.6;
    color: var(--rs-proof-muted, rgba(11,34,54,.68)) !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Grid */
.rs-proof__grid{
    display: grid !important;
    grid-template-columns: 1fr;
    gap: 14px;
    visibility: visible !important;
}

@media (min-width: 900px){
    .rs-proof__grid{
        grid-template-columns: 1fr 1fr;
        gap: 18px;
        align-items: stretch;
    }
}

/* Cards – match services feel */
.rs-proof__card{
    border-radius: var(--rs-radius, 16px);
    border: 1px solid var(--rs-proof-line, rgba(11,34,54,.10));
    background: rgba(255,255,255,.96);
    box-shadow: none;
    overflow: hidden;

    display: flex !important;
    flex-direction: column;
    min-height: 100%;
    visibility: visible !important;
}

/* Thin accent line */
.rs-proof__card::before{
    content:"";
    display:block;
    height: 3px;
    background: linear-gradient(90deg, rgba(46,123,122,.92), rgba(46,123,122,0));
}

.rs-proof__cardTop{
    padding: 16px 16px 0;
}

.rs-proof__cardLabel{
    font-size: 12px;
    letter-spacing: .10em;
    text-transform: uppercase;
    color: rgba(11,34,54,.62);
}

/* Press list */
.rs-proof__press{
    list-style: none;
    padding: 14px 16px 16px;
    margin: 0;

    display: grid;
    gap: 10px;
}

.rs-proof__pressItem{ margin: 0; }

.rs-proof__pressLink{
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 10px;

    padding: 12px 12px;
    border-radius: 12px;
    background: var(--rs-proof-soft, rgba(11,34,54,.04));
    border: 1px solid rgba(11,34,54,.08);

    color: var(--rs-proof-text, #0B2236);
    text-decoration: none !important;
    -webkit-tap-highlight-color: transparent;
}

.rs-proof__pressBrand{
    font-weight: 800;
    letter-spacing: -0.01em;
}

.rs-proof__pressHint{
    font-size: 12.5px;
    color: rgba(11,34,54,.62);
    line-height: 1.3;
}

.rs-proof__pressArrow{
    color: rgba(11,34,54,.55);
    font-size: 14px;
}

@media (hover:hover){
    .rs-proof__pressLink:hover{
        border-color: rgba(46,123,122,.22);
        background: rgba(46,123,122,.06);
    }
}

/* Bullets */
.rs-proof__bullets{
    list-style: none;
    padding: 14px 16px 0;
    margin: 0;

    display: grid;
    gap: 12px;
}

.rs-proof__bullets li{
    position: relative;
    padding-left: 28px;

    color: rgba(11,34,54,.76) !important;
    font-size: 14.8px;
    line-height: 1.55;
}

.rs-proof__bullets li::before{
    content: "✓";
    position: absolute;
    left: 0;
    top: 0;

    width: 20px;
    height: 20px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: 999px;
    font-weight: 900;

    background: rgba(46,123,122,.10);
    color: rgba(46,123,122,.95);

    transform: translateY(1px);
}

/* Note */
.rs-proof__note{
    margin: 12px 16px 16px;
    padding-top: 12px;
    border-top: 1px solid rgba(11,34,54,.10);

    color: rgba(11,34,54,.64);
    font-size: 13px;
    line-height: 1.5;
}

.rs-proof__note strong{ color: var(--rs-proof-text); }

/* Mobile comfort */
@media (max-width: 420px){
    .rs-proof__cardTop{ padding: 16px 14px 0; }
    .rs-proof__press{ padding: 14px 14px 16px; }
    .rs-proof__bullets{ padding: 14px 14px 0; }
    .rs-proof__note{ margin: 12px 14px 16px; }
}







/* Wrapper: input + ? icon */
.field-with-help{
    display: grid;
    grid-template-columns: 1fr 44px;  /* input | help */
    /*gap: 10px;*/
    align-items: center;
    position: relative;              /* tooltip will anchor to this */
}

/* Make input slightly narrower visually (optional).
   If you want "not full width", do it here. */
.field-with-help .form-input{
    width: 100%;
}

/* The help button area on the right */
.field-help-btn{

    display: grid;
    place-items: center;
    cursor: pointer;

    background: transparent;
    border: 0;
    padding: 0;
}

/* Question icon: a bit transparent, but clear */
.field-help-btn .tooltip-icon{
    font-size: 18px;
    opacity: 0.55;
    transition: opacity 0.15s ease, transform 0.15s ease;
}

.field-help-btn:hover .tooltip-icon,
.field-help-btn:focus .tooltip-icon{
    opacity: 0.9;
    transform: scale(1.05);
}

.field-help-btn:focus{
    outline: none;
}

/* Tooltip bubble: centered over the input field, not over the icon */
.field-with-help .tooltiptext{
    display: none;
    position: absolute;
    z-index: 9999;

    /* Center over the input column (not including the help column) */
    left: calc((100% - 44px - 10px) / 2); /* half of input column */

    transform: translate(-50%, -55%);     /* place above center a bit */

    /* Styling to match your current look */
    background: rgba(0, 0, 0, 0.85);
    color: #fff;
    padding: 12px 14px;
    border-radius: 12px;
    line-height: 1.35;
    font-size: 14px;

    width: min(340px, calc(100% - 70px)); /* fit on mobile; avoid icon area */
    box-shadow: 0 10px 30px rgba(0,0,0,0.25);
}

.field-with-help .tooltiptext {
    font-size: 0.85rem;
    width: 260px;
    background-color: #4e4e4e;
    color: #ffffff;
    text-align: left;
    border-radius: 4px;
    padding: 10px;
    position: absolute;
    z-index: 1;
    left: 50%;
    transform: translateX(-50%);
    bottom: 100%;
    transition: visibility 0.2s ease-in-out, opacity 0.2s ease-in-out;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}

.field-with-help .tooltiptext::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -5px;
    border-width: 10px;
    border-style: solid;
    border-color: #4e4e4e transparent transparent transparent;
}

/* Open state */
.field-with-help.is-open .tooltiptext{
    display: block;
}

/* Close button inside tooltip */
.field-with-help .tooltiptext .close-btn{
    position: absolute;
    top: 6px;
    right: 8px;

    background: transparent;
    border: 0;
    color: #fff;
    font-size: 18px;
    cursor: pointer;
    opacity: 0.9;
}

/* Optional: ensure textarea + icon aligns to top nicely */
.field-with-help.is-textarea{
    align-items: start;
}
.field-with-help.is-textarea .field-help-btn{
    margin-top: 6px;
}














/* FOOTER */
.site-footer{
    background:
        radial-gradient(820px 220px at 50% 0%, rgba(46,123,122,.12), transparent 60%),
        linear-gradient(180deg, rgba(7,24,39,.98), rgba(7,24,39,1));
    border-top: 1px solid rgba(255,255,255,.10);
    color: rgba(255,255,255,.86);
}

.footer-inner{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:20px;
    padding: 28px 0;
}

.footer-left .logo-img{
    height: 28px;
    width:auto;
    display:block;
}

.footer-center{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    justify-content:center;
    align-items:flex-start;
}
.footer-links-services,
.footer-links-legal{
    display:flex;
    gap:6px;
    flex-wrap:wrap;
    align-items:center;
}
.footer-links-services::after{
    content:'';
    width:1px;
    height:16px;
    background:rgba(255,255,255,.2);
    margin:0 4px;
}
@media (max-width:820px){
    .footer-links-services::after{ display:none; }
}

.footer-link{
    color: rgba(255,255,255,.82);
    text-decoration:none;
    font-size:13.5px;
    padding: 9px 11px;
    border-radius: var(--rs-radius-sm);
    transition: background .15s ease, transform .15s ease, color .15s ease;
}

.footer-link:hover{
    background: rgba(255,255,255,.08);
    color:#fff;
    transform: translateY(-1px);
    text-decoration: none;
}

.footer-link:focus-visible{
    outline:none;
    box-shadow: 0 0 0 4px rgba(42,163,155,.25);
}

.footer-link-btn{
    background: transparent;
    border: 0;
    cursor: pointer;
}

.footer-right{
    font-size:13px;
    color: rgba(255,255,255,.72);
    text-align:right;
}
@media (max-width:820px){
    .footer-inner{
        flex-direction: column;
        align-items: stretch;
        text-align: left;
    }
    .footer-center{
        justify-content: flex-start;
    }
    .footer-right{
        text-align: left;
    }
}

/* COOKIE (izoliuota, be full-width background) */
.cookie-consent{
    position: fixed;
    left: 0;
    right: 0;
    bottom: 18px;
    z-index: 9999;

    display: flex;
    justify-content: center;
    padding: 0 14px;

    background: transparent !important; /* kad tikrai nebūtų juostos */
}

.cookie-card{
    width: min(920px, 100%);
    background: rgba(13, 26, 36, .86);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: calc(var(--rs-radius) + 2px);
    box-shadow: 0 18px 60px rgba(0,0,0,.25);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    color: rgba(255,255,255,.92);
    padding: 14px;
}

.cookie-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:10px;
    margin-bottom: 8px;
}

.cookie-title{
    font-weight: 700;
    font-size: 14.5px;
}

.cookie-x{
    width: 36px;
    height: 36px;
    border-radius: var(--rs-radius);
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(255,255,255,.06);
    color: rgba(255,255,255,.92);
    cursor: pointer;
    display:grid;
    place-items:center;
}
.cookie-x:hover{ background: rgba(255,255,255,.10); }

.cookie-text{
    margin: 0 0 12px 0;
    font-size: 13.5px;
    color: rgba(255,255,255,.78);
    line-height: 1.45;
}
.cookie-link{
    color: rgba(255,255,255,.92);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.cookie-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}

.cbtn{
    border-radius: var(--rs-radius);
    padding: 10px 14px;
    font-size: 13.5px;
    font-weight: 650;
    cursor:pointer;
    border: 1px solid transparent;
    transition: transform .15s ease, background .15s ease;
}
.cbtn:hover{ transform: translateY(-1px); }

.cbtn-primary{
    background: linear-gradient(135deg, var(--rs-teal), var(--rs-teal-2));
    color:#fff;
}

.cbtn-secondary{
    background: rgba(255,255,255,.08);
    border-color: rgba(255,255,255,.14);
    color: rgba(255,255,255,.92);
}

.cbtn-ghost{
    background: rgba(255,255,255,.02);
    border-color: rgba(255,255,255,.14);
    color: rgba(255,255,255,.86);
}

.cookie-settings{ margin-top: 12px; }
.cookie-divider{
    height:1px;
    background: rgba(255,255,255,.12);
    margin: 10px 0;
}

.cookie-row{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:14px;
    padding: 8px 0;
}

.cookie-row small{ color: rgba(255,255,255,.68); }

.cookie-actions-bottom{ margin-top: 8px; }

@media (max-width: 560px){
    .cookie-actions .cbtn{ width: 100%; }
}

.footer-link,
.footer-link-btn{
    font-size: 13px;
    line-height: 1.2;
    padding: 5px 0;
    margin: 0;
    border: 0;
    background: transparent;
    color: rgba(255,255,255,.82);
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
.footer-link-btn{ cursor: pointer; }

/* MOBILE footer: compact two-column layout */
@media (max-width: 820px){
    .footer-inner{
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px;
        padding: 14px 16px;
    }

    .footer-left{
        display: flex;
        align-items: center;
        justify-content: flex-start;
    }
    .footer-left .logo-img{ height: 22px; }

    .footer-center{
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0 16px;
        justify-content: start;
        align-items: start;
    }

    .footer-link,
    .footer-link-btn{
        width: 100%;
        padding: 4px 0;
        font-size: 12.5px;
        border-radius: 0;
        text-align: left;
    }

    .footer-link:hover,
    .footer-link-btn:hover{
        color: #fff;
        background: transparent;
        transform: none;
        text-decoration: none;
    }

    .footer-right{
        text-align: left;
        padding-top: 6px;
        border-top: 1px solid rgba(255,255,255,.08);
        font-size: 11px;
    }
}

/* Very small screens -> still 2 columns, just tighter */
@media (max-width: 420px){
    .footer-inner{ padding: 12px 14px; gap: 8px; }
    .footer-link,
    .footer-link-btn{ font-size: 12px; padding: 3px 0; }
}

@media (max-width: 700px){
    .footer-center{
        grid-template-columns: 1fr;
        gap: 6px;
    }

    .footer-links-services,
    .footer-links-legal{
        display: grid;
        gap: 2px;
        align-items: start;
    }

    .footer-right{
        margin-top: 2px;
    }
}







/* ===== Policy pages (Cookies / Privacy / Terms) ===== */
.policy {
    padding: 36px 15px 64px;
}

.policy .policy-wrap {
    max-width: 860px;
}

.policy .policy-title {
    margin: 0 0 8px;
    letter-spacing: -0.2px;
}

.policy .policy-lead {
    margin: 0;
    opacity: 0.85;
    line-height: 1.6;
}

.policy .policy-actions {
    margin-top: 14px;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.policy .policy-meta {
    margin: 12px 0 0;
    font-size: 13.5px;
    opacity: 0.7;
}
.policy .policy-text-top {
    margin-top: 10px;
}
.policy .policy-text-intro {
    margin-bottom: 12px;
}
.policy .policy-note-spaced {
    margin-top: 12px;
}
.policy .policy-list-top {
    margin-top: 10px;
}

.policy .policy-section {
    margin-top: 22px;
}

.policy .policy-section.policy-section--first {
    margin-top: 28px;
}

.policy .policy-section h2 {
    margin: 0 0 10px;
}

.policy p {
    margin: 0 0 10px;
    line-height: 1.65;
}

.policy p:last-child {
    margin-bottom: 0;
}

.policy ul {
    margin: 0;
    padding-left: 18px;
    line-height: 1.7;
}

.policy .policy-cards {
    display: grid;
    gap: 12px;
}

.policy .policy-card {
    padding: 14px;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.7);
}

.policy .policy-card p {
    margin: 6px 0 0;
    line-height: 1.6;
    opacity: 0.9;
}

.policy .policy-note strong {
    display: inline-block;
    margin-bottom: 6px;
}

.policy .policy-note .policy-note-text {
    line-height: 1.6;
    opacity: 0.9;
}

/* Table wrapper */
/* Desktop: scrollable table wrapper */
.policy .policy-table-wrap {
    overflow-x: auto;
    overflow-y: visible;
    max-width: 100%;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.75);
    -webkit-overflow-scrolling: touch;
}

.policy .policy-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 760px;
}

.policy .policy-table thead tr {
    text-align: left;
    background: rgba(0, 0, 0, 0.03);
}

.policy .policy-table th {
    padding: 12px;
    font-size: 13px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.policy .policy-table td {
    padding: 12px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
    font-size: 14px;
    vertical-align: top;
}

.policy .policy-table tbody tr:last-child td {
    border-bottom: 0;
}

/* Mobile: card layout — each row becomes a standalone card */
@media (max-width: 640px) {
    .policy .policy-table-wrap {
        border: none;
        background: transparent;
        overflow: visible;
    }

    .policy .policy-table,
    .policy .policy-table tbody,
    .policy .policy-table tr,
    .policy .policy-table td {
        display: block;
        width: 100%;
    }

    .policy .policy-table thead {
        display: none;
    }

    .policy .policy-table tbody tr {
        margin-bottom: 12px;
        border: 1px solid rgba(0, 0, 0, 0.09);
        border-radius: 12px;
        background: rgba(255, 255, 255, 0.82);
        overflow: hidden;
        box-shadow: 0 1px 4px rgba(0,0,0,.05);
    }

    .policy .policy-table td {
        padding: 10px 14px;
        border-bottom: 1px solid rgba(0, 0, 0, 0.05);
        font-size: 13px;
    }

    .policy .policy-table tbody tr td:last-child {
        border-bottom: none;
    }

    /* Label above value from data-label attribute */
    .policy .policy-table td::before {
        content: attr(data-label);
        display: block;
        font-size: 10px;
        font-weight: 700;
        letter-spacing: 0.6px;
        text-transform: uppercase;
        color: rgba(0, 0, 0, 0.38);
        margin-bottom: 3px;
    }
}

/* Optional: if your buttons need consistent rounding on these pages */
.policy .btn {
    border-radius: 14px;
}

.policy a.btn {
    text-decoration: none;
    display: inline-flex;
    align-items: center;
}

/* Small helper */
.policy .muted {
    opacity: 0.9;
}
.recovery-muted-intro {
    margin: 0 0 12px;
}


/* ABOUT PAGE – modernus, mobile-first, 2026 */

.about {
    padding: 28px 0 70px;
}

/* HERO */
.about-hero {
    position: relative;
    border-radius: var(--rs-radius-lg);
    overflow: hidden;
    padding: 22px;
    background: var(--rs-surface);
    border: 1px solid var(--rs-line);
    box-shadow: var(--rs-shadow-soft);
}

.about-hero__bg {
    position: absolute;
    inset: 0;
    background:
            radial-gradient(1200px 600px at 10% 15%, rgba(0,140,130,.22), transparent 60%),
            radial-gradient(900px 500px at 95% 10%, rgba(0,0,0,.10), transparent 55%),
            linear-gradient(180deg, rgba(255,255,255,.80), rgba(255,255,255,.55));
    pointer-events: none;
}

.about-hero__content {
    position: relative;
    display: grid;
    grid-template-columns: 1.25fr 0.9fr;
    gap: 16px;
}

.about-hero__copy {
    padding: 10px 10px 8px;
}

.about-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 10px;
}

.about-badge {
    font-size: 12.5px;
    padding: 7px 10px;
    border-radius: 999px;
    border: 1px solid rgba(0,0,0,.08);
    background: rgba(255,255,255,.7);
    color: rgba(0,0,0,.75);
}

.about-title {
    margin: 0 0 10px;
    font-size: clamp(28px, 3.2vw, 44px);
    line-height: 1.06;
    letter-spacing: -0.6px;
    font-family: var(--rs-font-heading);
}

.about-title .accent {
    color: rgba(0,120,112,1);
}

.about-lead {
    margin: 0;
    font-size: 15.5px;
    line-height: 1.7;
    opacity: .92;
    max-width: 62ch;
}

.about-hero__cta {
    margin-top: 14px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.about-note {
    margin: 14px 0 0;
    font-size: 13.5px;
    line-height: 1.6;
    opacity: .75;
    max-width: 70ch;
}

.about-hero__card {
    position: relative;
    background: rgba(255,255,255,.80);
    border: 1px solid var(--rs-line);
    border-radius: var(--rs-radius);
    padding: 14px;
    box-shadow: var(--rs-shadow-xs);
    backdrop-filter: blur(10px);
}

.about-kpi {
    display: grid;
    gap: 10px;
    grid-template-columns: 1fr;
    margin-bottom: 12px;
}

.kpi {
    padding: 12px;
    border-radius: 16px;
    border: 1px solid rgba(0,0,0,.06);
    background: rgba(0,120,112,.06);
}

.kpi__num {
    font-size: 18px;
    font-weight: 800;
    letter-spacing: -0.2px;
}

.kpi__label {
    margin-top: 2px;
    font-size: 12.8px;
    opacity: .75;
}

.about-mini__title {
    font-weight: 800;
    margin: 2px 0 8px;
}

.about-mini__list {
    margin: 0;
    padding-left: 18px;
    line-height: 1.65;
    opacity: .86;
    font-size: 13.8px;
}

/* STRIP */
.about-strip {
    margin-top: 14px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}

.about-strip__item {
    padding: 14px;
    border-radius: 18px;
    border: 1px solid rgba(0,0,0,.06);
    background: rgba(255,255,255,.72);
    box-shadow: 0 14px 30px rgba(0,0,0,.05);
}

.strip__title {
    font-weight: 850;
    letter-spacing: -0.2px;
    margin-bottom: 4px;
}

.strip__text {
    opacity: .75;
    line-height: 1.6;
    font-size: 13.8px;
}

/* GRID */
.about-grid {
    margin-top: 16px;
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    gap: 14px;
}

.about-card {
    padding: 18px;
    border-radius: var(--rs-radius-lg);
    border: 1px solid var(--rs-line);
    background: rgba(255,255,255,.82);
    box-shadow: var(--rs-shadow-xs);
}

.about-card h2 {
    margin: 0 0 10px;
    letter-spacing: -0.3px;
}

.about-card p {
    margin: 0 0 10px;
    line-height: 1.75;
    opacity: .9;
}

.about-callout {
    margin-top: 10px;
    display: flex;
    gap: 10px;
    align-items: flex-start;
    padding: 12px;
    border-radius: 18px;
    background: rgba(0,120,112,.06);
    border: 1px solid rgba(0,0,0,.05);
}

.about-callout__icon {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    background: rgba(0,120,112,.12);
}

.about-callout__text {
    line-height: 1.6;
    opacity: .9;
}

/* PROFILE */
.about-card--profile .profile {
    display: grid;
    grid-template-columns: 62px 1fr;
    gap: 12px;
    align-items: center;
}

.profile__avatar {
    width: 62px;
    height: 62px;
    border-radius: 18px;
    overflow: hidden;
    border: 1px solid rgba(0,0,0,.07);
    background: rgba(0,0,0,.04);
    display: grid;
    place-items: center;
}

.profile__placeholder {
    font-weight: 900;
    letter-spacing: -0.4px;
    opacity: .75;
}

.profile__avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.profile__name {
    font-weight: 900;
    letter-spacing: -0.2px;
}

.profile__role {
    margin-top: 2px;
    font-size: 13px;
    opacity: .75;
}

.profile__desc {
    margin-top: 8px;
    font-size: 13.6px;
    line-height: 1.65;
    opacity: .88;
}

.profile__links {
    margin-top: 12px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.link-pill {
    display: inline-flex;
    gap: 8px;
    align-items: center;
    padding: 8px 10px;
    border-radius: 999px;
    border: 1px solid rgba(0,0,0,.08);
    background: rgba(255,255,255,.65);
    text-decoration: none;
    color: inherit;
    font-size: 13px;
    opacity: .92;
}

.link-pill:hover {
    opacity: 1;
}

.profile__proof {
    margin-top: 12px;
    padding: 12px;
    border-radius: 18px;
    border: 1px solid rgba(0,0,0,.06);
    background: rgba(255,255,255,.68);
}

.proof__title {
    font-weight: 850;
    margin-bottom: 6px;
}

.proof__text {
    font-size: 13.6px;
    line-height: 1.65;
    opacity: .85;
}

/* PROCESS */
.about-process {
    margin-top: 16px;
    padding: 18px;
    border-radius: var(--rs-radius-lg);
    border: 1px solid var(--rs-line);
    background: rgba(255,255,255,.82);
    box-shadow: var(--rs-shadow-xs);
}

.about-process__head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 10px;
}

.about-process__head h2 {
    margin: 0;
    letter-spacing: -0.3px;
}

.process-steps {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
}

.step {
    border-radius: 20px;
    padding: 14px;
    border: 1px solid rgba(0,0,0,.06);
    background: rgba(255,255,255,.70);
}

.step__num {
    width: 36px;
    height: 36px;
    border-radius: 14px;
    display: grid;
    place-items: center;
    font-weight: 900;
    background: rgba(0,120,112,.12);
    margin-bottom: 8px;
}

.step__title {
    font-weight: 900;
    letter-spacing: -0.2px;
    margin-bottom: 4px;
}

.step__text {
    font-size: 13.6px;
    line-height: 1.65;
    opacity: .85;
}

/* MEDIA */
.about-media {
    margin-top: 16px;
    padding: 18px;
    border-radius: var(--rs-radius-lg);
    border: 1px solid var(--rs-line);
    background: rgba(255,255,255,.82);
    box-shadow: var(--rs-shadow-xs);
}

.about-media__head h2 {
    margin: 0 0 6px;
    letter-spacing: -0.3px;
}

.media-cards {
    margin-top: 12px;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 10px;
}

.media-card {
    text-decoration: none;
    color: inherit;
    border-radius: var(--rs-radius);
    padding: 14px;
    border: 1px solid var(--rs-line);
    background: rgba(255,255,255,.78);
    box-shadow: var(--rs-shadow-xs);
    transition: transform var(--rs-transition-fast), box-shadow var(--rs-transition-fast), border-color var(--rs-transition-fast);
}

.media-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--rs-shadow-soft);
    border-color: var(--rs-line-strong);
}

.media-card__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
}

.media-pill {
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 12.5px;
    border: 1px solid rgba(0,0,0,.07);
    background: rgba(0,120,112,.08);
}

.media-arrow {
    opacity: .55;
}

.media-card__title {
    font-weight: 900;
    letter-spacing: -0.2px;
    margin-bottom: 6px;
}

.media-card__text {
    font-size: 13.6px;
    line-height: 1.65;
    opacity: .84;
}

.media-card--note:hover {
    transform: none;
    box-shadow: 0 14px 30px rgba(0,0,0,.05);
}

/* CTA */
.about-cta {
    margin-top: 16px;
}

.about-cta__box {
    border-radius: 24px;
    padding: 18px;
    border: 1px solid rgba(0,0,0,.06);
    background:
            radial-gradient(900px 380px at 10% 0%, rgba(0,120,112,.18), transparent 60%),
            rgba(255,255,255,.74);
    box-shadow: 0 18px 60px rgba(0,0,0,.08);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.about-cta__copy h2 {
    margin: 0 0 6px;
    letter-spacing: -0.3px;
}

.about-cta__actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.about-cta__actions--grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.rs-btn-dark {
    color: var(--rs-accent) !important;
}

/* RESPONSIVE */
@media (max-width: 980px) {
    .about-hero__content {
        grid-template-columns: 1fr;
    }

    .about-strip {
        grid-template-columns: 1fr;
    }

    .about-grid {
        grid-template-columns: 1fr;
    }

    .process-steps {
        grid-template-columns: 1fr 1fr;
    }

    .media-cards {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 520px) {
    .about-hero { padding: 16px; border-radius: 20px; }
    .about-card, .about-process, .about-media { padding: 14px; border-radius: 20px; }
    .about-title { letter-spacing: -0.4px; }
    .process-steps { grid-template-columns: 1fr; }
    .about-cta__box { padding: 14px; border-radius: 20px; }
    .about-cta__actions--grid {
        grid-template-columns: 1fr;
    }
}
















/* ACCOUNT RECOVERY – modernus, mobile-first, 2026 */

.recovery {
    padding: 28px 0 70px;
}

/* HERO */
.recovery-hero {
    position: relative;
    border-radius: 24px;
    overflow: hidden;
    padding: 22px;
    background: rgba(255,255,255,.65);
    border: 1px solid rgba(0,0,0,.06);
    box-shadow: 0 20px 60px rgba(0,0,0,.08);
}

.recovery-hero__bg {
    position: absolute;
    inset: 0;
    background:
            radial-gradient(1200px 600px at 10% 15%, rgba(0,140,130,.22), transparent 60%),
            radial-gradient(900px 500px at 95% 10%, rgba(0,0,0,.10), transparent 55%),
            linear-gradient(180deg, rgba(255,255,255,.80), rgba(255,255,255,.55));
    pointer-events: none;
}

.recovery-hero__content {
    position: relative;
    display: grid;
    grid-template-columns: 1.25fr 0.9fr;
    gap: 16px;
}

.recovery-hero__copy {
    padding: 10px 10px 8px;
}

.recovery-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 10px;
}

.recovery-badge {
    font-size: 12.5px;
    padding: 7px 10px;
    border-radius: 999px;
    border: 1px solid rgba(0,0,0,.08);
    background: rgba(255,255,255,.7);
    color: rgba(0,0,0,.75);
}

.recovery-title {
    margin: 0 0 10px;
    font-size: clamp(28px, 3.2vw, 44px);
    line-height: 1.06;
    letter-spacing: -0.6px;
}

.recovery-title .accent {
    color: rgba(0,120,112,1);
}

.recovery-lead {
    margin: 0;
    font-size: 15.5px;
    line-height: 1.7;
    opacity: .92;
    max-width: 65ch;
}

.recovery-hero__cta {
    margin-top: 14px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.recovery-note {
    margin-top: 14px;
    padding: 12px;
    border-radius: 18px;
    border: 1px solid rgba(0,0,0,.06);
    background: rgba(255,255,255,.72);
    font-size: 13.5px;
    line-height: 1.6;
    opacity: .82;
}

/* SIDE CARD */
.recovery-hero__card {
    position: relative;
    background: rgba(255,255,255,.72);
    border: 1px solid rgba(0,0,0,.07);
    border-radius: 20px;
    padding: 14px;
    box-shadow: 0 18px 40px rgba(0,0,0,.06);
    backdrop-filter: blur(10px);
}

.recovery-card__title {
    font-weight: 900;
    letter-spacing: -0.2px;
    margin-bottom: 10px;
}

.recovery-alert {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    padding: 12px;
    border-radius: 18px;
    background: rgba(0,120,112,.06);
    border: 1px solid rgba(0,0,0,.05);
    margin-bottom: 10px;
}

.recovery-alert__icon {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    background: rgba(0,120,112,.12);
}

.recovery-alert__text {
    line-height: 1.6;
    opacity: .9;
    font-size: 13.6px;
}

.recovery-list__title {
    font-weight: 850;
    margin: 8px 0 6px;
}

.recovery-list ul {
    margin: 0;
    padding-left: 18px;
    line-height: 1.65;
    opacity: .86;
    font-size: 13.8px;
}

.recovery-mini {
    margin-top: 12px;
    padding: 12px;
    border-radius: 18px;
    border: 1px solid rgba(0,0,0,.06);
    background: rgba(255,255,255,.68);
}

.recovery-mini__label {
    font-weight: 850;
    margin-bottom: 6px;
}

.recovery-mini__text {
    font-size: 13.6px;
    line-height: 1.65;
    opacity: .85;
}

/* STRIP */
.recovery-strip {
    margin-top: 14px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}

.strip-item {
    padding: 14px;
    border-radius: 18px;
    border: 1px solid rgba(0,0,0,.06);
    background: rgba(255,255,255,.72);
    box-shadow: 0 14px 30px rgba(0,0,0,.05);
}

.strip-title {
    font-weight: 850;
    letter-spacing: -0.2px;
    margin-bottom: 4px;
}

.strip-text {
    opacity: .75;
    line-height: 1.6;
    font-size: 13.8px;
}

/* GRID */
.recovery-grid {
    margin-top: 16px;
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    gap: 14px;
}

.card {
    padding: 18px;
    border-radius: 22px;
    border: 1px solid rgba(0,0,0,.06);
    background: rgba(255,255,255,.74);
    box-shadow: 0 18px 50px rgba(0,0,0,.06);
}

.card--soft {
    background: rgba(255,255,255,.68);
}

.card h2 {
    margin: 0 0 10px;
    letter-spacing: -0.3px;
}

.muted {
    opacity: .72;
    line-height: 1.6;
    margin: 0;
}

/* BENEFITS */
.benefits {
    display: grid;
    gap: 10px;
    margin-top: 10px;
}

.benefit {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    padding: 12px;
    border-radius: 18px;
    border: 1px solid rgba(0,0,0,.06);
    background: rgba(255,255,255,.72);
}

.benefit__icon {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    background: rgba(0,120,112,.12);
}

.benefit__title {
    font-weight: 900;
    letter-spacing: -0.2px;
    margin-bottom: 3px;
}

.benefit__text {
    font-size: 13.6px;
    line-height: 1.65;
    opacity: .86;
}

.callout {
    margin-top: 12px;
    display: flex;
    gap: 10px;
    align-items: flex-start;
    padding: 12px;
    border-radius: 18px;
    background: rgba(0,120,112,.06);
    border: 1px solid rgba(0,0,0,.05);
}

.callout__icon {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    background: rgba(0,120,112,.12);
}

.callout__text {
    line-height: 1.6;
    opacity: .9;
}

.callout__text a {
    color: inherit;
    text-decoration: underline;
}

/* DONT LIST */
.dont {
    margin: 8px 0 0;
    padding-left: 18px;
    line-height: 1.65;
    opacity: .88;
}

.mini-faq {
    margin-top: 12px;
    padding: 12px;
    border-radius: 18px;
    border: 1px solid rgba(0,0,0,.06);
    background: rgba(255,255,255,.72);
}

.mini-faq__q {
    font-weight: 850;
    margin-bottom: 6px;
}

.mini-faq__a {
    font-size: 13.6px;
    line-height: 1.65;
    opacity: .86;
}

/* PROCESS */
.process__head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 10px;
}

.steps {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
}

.step {
    border-radius: 20px;
    padding: 14px;
    border: 1px solid rgba(0,0,0,.06);
    background: rgba(255,255,255,.70);
}

.step__num {
    width: 36px;
    height: 36px;
    border-radius: 14px;
    display: grid;
    place-items: center;
    font-weight: 900;
    background: rgba(0,120,112,.12);
    margin-bottom: 8px;
}

.step__title {
    font-weight: 900;
    letter-spacing: -0.2px;
    margin-bottom: 4px;
}

.step__text {
    font-size: 13.6px;
    line-height: 1.65;
    opacity: .85;
}

/* REQUIREMENTS */
.reqs {
    display: grid;
    gap: 10px;
}

.req {
    padding: 12px;
    border-radius: 18px;
    border: 1px solid rgba(0,0,0,.06);
    background: rgba(255,255,255,.72);
}

.req__title {
    font-weight: 850;
    margin-bottom: 4px;
}

.req__text {
    font-size: 13.6px;
    line-height: 1.65;
    opacity: .86;
}

.now {
    margin: 10px 0 0;
    padding-left: 18px;
    line-height: 1.65;
    opacity: .88;
}

/* FAQ */
.faq__head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 10px;
}

.faq-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.faq-item {
    border-radius: 18px;
    border: 1px solid rgba(0,0,0,.06);
    background: rgba(255,255,255,.72);
    padding: 10px 12px;
}

.faq-item summary {
    cursor: pointer;
    font-weight: 850;
    opacity: .95;
    list-style: none;
}

.faq-item summary::-webkit-details-marker {
    display: none;
}

.faq-body {
    margin-top: 10px;
    font-size: 13.6px;
    line-height: 1.7;
    opacity: .86;
}

.faq-cta {
    margin-top: 12px;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

/* RESPONSIVE */
@media (max-width: 980px) {
    .recovery-hero__content {
        grid-template-columns: 1fr;
    }

    .recovery-strip {
        grid-template-columns: 1fr;
    }

    .recovery-grid {
        grid-template-columns: 1fr;
    }

    .steps {
        grid-template-columns: 1fr 1fr;
    }

    .faq-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 520px) {
    .recovery-hero { padding: 16px; border-radius: 20px; }
    .card { padding: 14px; border-radius: 20px; }
    .steps { grid-template-columns: 1fr; }
}















/* ACCOUNT SECURITY – modernus, mobile-first, 2026 */

.security {
    padding: 28px 0 70px;
}

/* HERO */
.security-hero {
    position: relative;
    border-radius: 24px;
    overflow: hidden;
    padding: 22px;
    background: rgba(255,255,255,.65);
    border: 1px solid rgba(0,0,0,.06);
    box-shadow: 0 20px 60px rgba(0,0,0,.08);
}

.security-hero__bg {
    position: absolute;
    inset: 0;
    background:
            radial-gradient(1200px 600px at 12% 18%, rgba(0,140,130,.22), transparent 60%),
            radial-gradient(900px 500px at 92% 8%, rgba(0,0,0,.10), transparent 55%),
            linear-gradient(180deg, rgba(255,255,255,.82), rgba(255,255,255,.56));
    pointer-events: none;
}

.security-hero__content {
    position: relative;
    display: grid;
    grid-template-columns: 1.25fr 0.9fr;
    gap: 16px;
}

.security-hero__copy {
    padding: 10px 10px 8px;
}

.security-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 10px;
}

.security-badge {
    font-size: 12.5px;
    padding: 7px 10px;
    border-radius: 999px;
    border: 1px solid rgba(0,0,0,.08);
    background: rgba(255,255,255,.7);
    color: rgba(0,0,0,.75);
}

.security-title {
    margin: 0 0 10px;
    font-size: clamp(28px, 3.2vw, 44px);
    line-height: 1.06;
    letter-spacing: -0.6px;
}

.security-title .accent {
    color: rgba(0,120,112,1);
}

.security-lead {
    margin: 0;
    font-size: 15.5px;
    line-height: 1.7;
    opacity: .92;
    max-width: 70ch;
}

.security-hero__cta {
    margin-top: 14px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.security-note {
    margin-top: 14px;
    padding: 12px;
    border-radius: 18px;
    border: 1px solid rgba(0,0,0,.06);
    background: rgba(255,255,255,.72);
    font-size: 13.5px;
    line-height: 1.6;
    opacity: .82;
}

/* SIDE CARD */
.security-hero__card {
    position: relative;
    background: rgba(255,255,255,.72);
    border: 1px solid rgba(0,0,0,.07);
    border-radius: 20px;
    padding: 14px;
    box-shadow: 0 18px 40px rgba(0,0,0,.06);
    backdrop-filter: blur(10px);
}

.security-card__title {
    font-weight: 900;
    letter-spacing: -0.2px;
    margin-bottom: 10px;
}

.security-alert {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    padding: 12px;
    border-radius: 18px;
    background: rgba(0,120,112,.06);
    border: 1px solid rgba(0,0,0,.05);
    margin-bottom: 10px;
}

.security-alert__icon {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    background: rgba(0,120,112,.12);
}

.security-alert__text {
    line-height: 1.6;
    opacity: .9;
    font-size: 13.6px;
}

.security-list__title {
    font-weight: 850;
    margin: 8px 0 6px;
}

.security-list ul {
    margin: 0;
    padding-left: 18px;
    line-height: 1.65;
    opacity: .86;
    font-size: 13.8px;
}

.security-mini {
    margin-top: 12px;
    padding: 12px;
    border-radius: 18px;
    border: 1px solid rgba(0,0,0,.06);
    background: rgba(255,255,255,.68);
}

.security-mini__label {
    font-weight: 850;
    margin-bottom: 6px;
}

.security-mini__text {
    font-size: 13.6px;
    line-height: 1.65;
    opacity: .85;
}

.security-mini__text a { color: inherit; text-decoration: underline; }

/* STRIP */
.security-strip {
    margin-top: 14px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}

.strip-item {
    padding: 14px;
    border-radius: 18px;
    border: 1px solid rgba(0,0,0,.06);
    background: rgba(255,255,255,.72);
    box-shadow: 0 14px 30px rgba(0,0,0,.05);
}

.strip-title {
    font-weight: 850;
    letter-spacing: -0.2px;
    margin-bottom: 4px;
}

.strip-text {
    opacity: .75;
    line-height: 1.6;
    font-size: 13.8px;
}

/* GRID */
.security-grid {
    margin-top: 16px;
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    gap: 14px;
}

.card {
    padding: 18px;
    border-radius: 22px;
    border: 1px solid rgba(0,0,0,.06);
    background: rgba(255,255,255,.74);
    box-shadow: 0 18px 50px rgba(0,0,0,.06);
}

.card--soft {
    background: rgba(255,255,255,.68);
}

.card h2 {
    margin: 0 0 10px;
    letter-spacing: -0.3px;
}


/* BLOCKS */
.blocks {
    display: grid;
    gap: 10px;
    margin-top: 10px;
}

.block {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    padding: 12px;
    border-radius: 18px;
    border: 1px solid rgba(0,0,0,.06);
    background: rgba(255,255,255,.72);
}

.block__icon {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    background: rgba(0,120,112,.12);
}

.block__title {
    font-weight: 900;
    letter-spacing: -0.2px;
    margin-bottom: 3px;
}

.block__text {
    font-size: 13.6px;
    line-height: 1.65;
    opacity: .86;
}

/* CALLOUT */
.callout {
    margin-top: 12px;
    display: flex;
    gap: 10px;
    align-items: flex-start;
    padding: 12px;
    border-radius: 18px;
    background: rgba(0,120,112,.06);
    border: 1px solid rgba(0,0,0,.05);
}

.callout__icon {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    background: rgba(0,120,112,.12);
}

.callout__text {
    line-height: 1.6;
    opacity: .9;
}

.callout__text a { color: inherit; text-decoration: underline; }

/* TIMELINE */
.timeline {
    display: grid;
    gap: 10px;
    margin-top: 10px;
}

.titem {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    padding: 12px;
    border-radius: 18px;
    border: 1px solid rgba(0,0,0,.06);
    background: rgba(255,255,255,.72);
}

.titem__num {
    width: 34px;
    height: 34px;
    border-radius: 12px;
    display: grid;
    place-items: center;
    font-weight: 900;
    background: rgba(0,120,112,.12);
}

.titem__title { font-weight: 900; letter-spacing: -0.2px; margin-bottom: 3px; }
.titem__text { font-size: 13.6px; line-height: 1.65; opacity: .86; }

/* PREP */
.prep {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.prep-item {
    padding: 12px;
    border-radius: 18px;
    border: 1px solid rgba(0,0,0,.06);
    background: rgba(255,255,255,.72);
}

.prep-item__title { font-weight: 850; margin-bottom: 4px; }
.prep-item__text { font-size: 13.6px; line-height: 1.65; opacity: .86; }

/* CONSENT */
.consent-box {
    margin-top: 14px;
    padding: 12px;
    border-radius: 18px;
    border: 1px solid rgba(0,0,0,.06);
    background: rgba(255,255,255,.72);
}

.consent {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    font-size: 13.6px;
    line-height: 1.65;
    opacity: .9;
}

.consent input {
    margin-top: 3px;
    width: 18px;
    height: 18px;
}

.btn-block {
    display: inline-flex;
    width: 100%;
    justify-content: center;
    margin-top: 10px;
    text-decoration: none;
}

.small-muted {
    font-size: 13px;
    opacity: .72;
    line-height: 1.6;
}

/* DONT */
.dont {
    margin: 8px 0 0;
    padding-left: 18px;
    line-height: 1.65;
    opacity: .88;
}

/* MINI FAQ */
.mini-faq {
    margin-top: 12px;
    padding: 12px;
    border-radius: 18px;
    border: 1px solid rgba(0,0,0,.06);
    background: rgba(255,255,255,.72);
}

.mini-faq__q { font-weight: 850; margin-bottom: 6px; }
.mini-faq__a { font-size: 13.6px; line-height: 1.65; opacity: .86; }
.mini-faq__a a { color: inherit; text-decoration: underline; }

/* FAQ */
.faq__head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 10px;
}

.faq-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.faq-item {
    border-radius: 18px;
    border: 1px solid rgba(0,0,0,.06);
    background: rgba(255,255,255,.72);
    padding: 10px 12px;
}

.faq-item summary {
    cursor: pointer;
    font-weight: 850;
    opacity: .95;
    list-style: none;
}

.faq-item summary::-webkit-details-marker { display: none; }

.faq-body {
    margin-top: 10px;
    font-size: 13.6px;
    line-height: 1.7;
    opacity: .86;
}

.faq-cta {
    margin-top: 12px;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

/* RESPONSIVE */
@media (max-width: 980px) {
    .security-hero__content { grid-template-columns: 1fr; }
    .security-strip { grid-template-columns: 1fr; }
    .security-grid { grid-template-columns: 1fr; }
    .prep { grid-template-columns: 1fr; }
    .faq-grid { grid-template-columns: 1fr; }
}

@media (max-width: 520px) {
    .security-hero { padding: 16px; border-radius: 20px; }
    .card { padding: 14px; border-radius: 20px; }
}
















/* CONSULTATION – modernus, mobile-first, 2026 */

.consult { padding: 28px 0 70px; }

/* HERO */
.consult-hero{
    position:relative; border-radius:var(--rs-radius-lg); overflow:hidden;
    padding:22px; background: var(--rs-surface);
    border:1px solid var(--rs-line);
    box-shadow:var(--rs-shadow-soft);
}
.consult-hero__bg{
    position:absolute; inset:0;
    background:
            radial-gradient(1200px 600px at 12% 18%, rgba(0,140,130,.22), transparent 60%),
            radial-gradient(900px 500px at 92% 8%, rgba(0,0,0,.10), transparent 55%),
            linear-gradient(180deg, rgba(255,255,255,.82), rgba(255,255,255,.56));
    pointer-events:none;
}
.consult-hero__content{
    position:relative;
    display:grid; grid-template-columns:1.25fr 0.9fr;
    gap:16px;
}
.consult-hero__copy{ padding:10px 10px 8px; }

.consult-badges{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:10px; }
.consult-badge{
    font-size:12.5px; padding:7px 10px; border-radius:999px;
    border:1px solid rgba(0,0,0,.08);
    background: rgba(255,255,255,.7);
    color: rgba(0,0,0,.75);
}

.consult-title{
    margin:0 0 10px;
    font-size: clamp(28px, 3.2vw, 44px);
    line-height:1.06; letter-spacing:-0.6px;
    font-family: var(--rs-font-heading);
}
.consult-title .accent{ color: var(--rs-accent); }

.consult-lead{
    margin:0;
    font-size:15.5px;
    line-height:1.7;
    opacity:.92;
    max-width:70ch;
}

.consult-hero__cta{ margin-top:14px; display:flex; flex-wrap:wrap; gap:10px; }
.consult-note{
    margin-top:14px;
    padding:12px;
    border-radius:18px;
    border:1px solid rgba(0,0,0,.06);
    background: rgba(255,255,255,.72);
    font-size:13.5px; line-height:1.6; opacity:.82;
}

/* SIDE CARD */
.consult-hero__card{
    position:relative;
    background: rgba(255,255,255,.80);
    border:1px solid var(--rs-line);
    border-radius:var(--rs-radius);
    padding:14px;
    box-shadow:var(--rs-shadow-xs);
    backdrop-filter: blur(10px);
}
.consult-card__title{ font-weight:900; letter-spacing:-0.2px; margin-bottom:10px; }

.consult-alert{
    display:flex; gap:10px; align-items:flex-start;
    padding:12px; border-radius:18px;
    background: rgba(0,120,112,.06);
    border:1px solid rgba(0,0,0,.05);
    margin-bottom:10px;
}
.consult-alert__icon{
    width:34px; height:34px; display:grid; place-items:center;
    border-radius:12px;
    background: rgba(0,120,112,.12);
}
.consult-alert__text{ line-height:1.6; opacity:.9; font-size:13.6px; }

.consult-list__title{ font-weight:850; margin:8px 0 6px; }
.consult-list ul{
    margin:0; padding-left:18px;
    line-height:1.65;
    opacity:.86;
    font-size:13.8px;
}

.consult-mini{
    margin-top:12px;
    padding:12px;
    border-radius:18px;
    border:1px solid rgba(0,0,0,.06);
    background: rgba(255,255,255,.68);
}
.consult-mini__label{ font-weight:850; margin-bottom:6px; }
.consult-mini__text{ font-size:13.6px; line-height:1.65; opacity:.85; }
.consult-mini__text a{ color: inherit; text-decoration: underline; }

/* STRIP */
.consult-strip{
    margin-top:14px;
    display:grid; grid-template-columns:repeat(3,1fr);
    gap:10px;
}
.strip-item{
    padding:14px; border-radius:var(--rs-radius);
    border:1px solid var(--rs-line);
    background: rgba(255,255,255,.80);
    box-shadow:var(--rs-shadow-xs);
}
.strip-title{ font-weight:850; letter-spacing:-0.2px; margin-bottom:4px; }
.strip-text{ opacity:.75; line-height:1.6; font-size:13.8px; }

/* GRID */
.consult-grid{
    margin-top:16px;
    display:grid; grid-template-columns:1.2fr 0.8fr;
    gap:14px;
}
.card{
    padding:18px; border-radius:var(--rs-radius-lg); margin-top: 14px;
    border:1px solid var(--rs-line);
    background: rgba(255,255,255,.82);
    box-shadow:var(--rs-shadow-xs);
}
.card--soft{ background: rgba(255,255,255,.68); }
.card h2{ margin:0 0 10px; letter-spacing:-0.3px; }

/* BLOCKS */
.blocks{ display:grid; gap:10px; margin-top:10px; }
.block{
    display:flex; gap:10px; align-items:flex-start;
    padding:12px; border-radius:18px;
    border:1px solid rgba(0,0,0,.06);
    background: rgba(255,255,255,.72);
}
.block__icon{
    width:34px; height:34px; display:grid; place-items:center;
    border-radius:12px;
    background: rgba(0,120,112,.12);
}
.block__title{ font-weight:900; letter-spacing:-0.2px; margin-bottom:3px; }
.block__text{ font-size:13.6px; line-height:1.65; opacity:.86; }

/* CALLOUT */
.callout{
    margin-top:12px;
    display:flex; gap:10px; align-items:flex-start;
    padding:12px; border-radius:18px;
    background: rgba(0,120,112,.06);
    border:1px solid rgba(0,0,0,.05);
}
.callout__icon{
    width:34px; height:34px; display:grid; place-items:center;
    border-radius:12px;
    background: rgba(0,120,112,.12);
}
.callout__text{ line-height:1.6; opacity:.9; }

/* BOOKING FORM */
.booking{ display:grid; gap:10px; }
.field label{ display:block; font-size:13.5px; font-weight:850; margin:0 0 6px; opacity:.9; margin-top: 10px; }
.field input, .field select{
    width:100%;
    padding:12px 12px;
    border-radius:14px;
    border:1px solid rgba(0,0,0,.12);
    background: rgba(255,255,255,.9);
    outline:none;
}
.field input:focus, .field select:focus{
    border-color: rgba(0,120,112,.35);
    box-shadow: 0 0 0 4px rgba(0,120,112,.10);
}
.hint{ margin-top:6px; font-size:12.8px; opacity:.68; line-height:1.5; }
.hint.hint-error{ color:#dc2626; opacity:1; }

.legal{ margin-top:6px; padding-top:8px; border-top:1px solid rgba(0,0,0,.08); }
.consent{
    display:flex; gap:10px; align-items:flex-start;
    font-size:13.6px; line-height:1.65; opacity:.9;
    margin-top:8px;
}
.consent input{ margin-top:3px; width:18px; height:18px; }
.consent a{ color: inherit; text-decoration: underline; }

.btn-block{
    display:inline-flex; width:100%;
    justify-content:center;
    margin-top:10px;
    text-decoration:none;
}

.small-muted{ font-size:13px; opacity:.72; line-height:1.6; }
.booking-price-note{ margin-bottom:6px; }
.booking-status-msg{ margin-top:10px; }

/* MINI FAQ */
.mini-faq{
    margin-top:12px;
    padding:12px;
    border-radius:18px;
    border:1px solid rgba(0,0,0,.06);
    background: rgba(255,255,255,.72);
}
.mini-faq__q{ font-weight:850; margin-bottom:6px; }
.mini-faq__a{ font-size:13.6px; line-height:1.65; opacity:.86; }

/* FAQ */
.faq__head{
    display:flex; align-items:flex-end;
    justify-content:space-between;
    gap:12px; flex-wrap:wrap;
    margin-bottom:10px;
}
.faq-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
}
.faq-item{
    border-radius:18px;
    border:1px solid rgba(0,0,0,.06);
    background: rgba(255,255,255,.72);
    padding:10px 12px;
}
.faq-item summary{
    cursor:pointer;
    font-weight:850;
    opacity:.95;
    list-style:none;
}
.faq-item summary::-webkit-details-marker{ display:none; }
.faq-body{
    margin-top:10px;
    font-size:13.6px;
    line-height:1.7;
    opacity:.86;
}

/* RESPONSIVE */
@media (max-width: 980px){
    .consult-hero__content{ grid-template-columns:1fr; }
    .consult-strip{ grid-template-columns:1fr; }
    .consult-grid{ grid-template-columns:1fr; }
    .faq-grid{ grid-template-columns:1fr; }
}
@media (max-width: 520px){
    .consult-hero{ padding:16px; border-radius:20px; }
    .card{ padding:14px; border-radius:20px; }
}





.booking-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:12px;
    flex-wrap:wrap;
}
.booking-title{ margin:0; letter-spacing:-0.3px; }
.booking-subtitle{ margin:6px 0 0; max-width:70ch; }

.booking-steps{
    display:flex; gap:8px; flex-wrap:wrap;
}
.booking-steps .step{
    display:inline-flex; align-items:center; gap:8px;
    padding:8px 10px; border-radius:999px;
    border:1px solid rgba(0,0,0,.08);
    background: rgba(255,255,255,.7);
    font-size:12.5px; opacity:.85;
}
.booking-steps .step span{
    width:22px; height:22px; border-radius:999px;
    display:grid; place-items:center;
    background: rgba(0,120,112,.12);
    font-weight:850;
}

.booking-grid{
    margin-top:12px;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
}
.booking-pane{
    padding:12px;
    border-radius:18px;
    border:1px solid rgba(0,0,0,.06);
    background: rgba(255,255,255,.72);
}
.pane-title{ font-weight:900; letter-spacing:-0.2px; }
.pane-muted{ margin:6px 0 10px; font-size:13.2px; opacity:.72; line-height:1.6; }

.booking-foot{
    margin-top:12px;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
}
.booking-foot__item{
    padding:12px;
    border-radius:18px;
    border:1px solid rgba(0,0,0,.06);
    background: rgba(255,255,255,.72);
    font-size:13.6px;
    line-height:1.6;
    opacity:.86;
}

@media (max-width: 980px){
    .booking-grid{ grid-template-columns:1fr; }
    .booking-foot{ grid-template-columns:1fr; }
}


.booking-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:12px;
    flex-wrap:wrap;
}
.booking-title{ margin:0; letter-spacing:-0.3px; }
.booking-subtitle{ margin:6px 0 0; max-width:70ch; }

.booking-steps{
    display:flex; gap:8px; flex-wrap:wrap;
}
.booking-steps .step{
    display:inline-flex; align-items:center; gap:8px;
    padding:8px 10px; border-radius:999px;
    border:1px solid rgba(0,0,0,.08);
    background: rgba(255,255,255,.7);
    font-size:12.5px; opacity:.85;
}
.booking-steps .step span{
    width:22px; height:22px; border-radius:999px;
    display:grid; place-items:center;
    background: rgba(0,120,112,.12);
    font-weight:850;
}

.booking-grid{
    margin-top:12px;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
}
.booking-pane{
    padding:12px;
    border-radius:18px;
    border:1px solid rgba(0,0,0,.06);
    background: rgba(255,255,255,.72);
}
.pane-title{ font-weight:900; letter-spacing:-0.2px; }
.pane-muted{ margin:6px 0 10px; font-size:13.2px; opacity:.72; line-height:1.6; }

.booking-foot{
    margin-top:12px;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
}
.booking-foot__item{
    padding:12px;
    border-radius:18px;
    border:1px solid rgba(0,0,0,.06);
    background: rgba(255,255,255,.72);
    font-size:13.6px;
    line-height:1.6;
    opacity:.86;
}
.booking-foot__item a{ color: inherit; text-decoration: underline; }

@media (max-width: 980px){
    .booking-grid{ grid-template-columns:1fr; }
    .booking-foot{ grid-template-columns:1fr; }
}
















/* FAQ */
.faq__head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:12px;
    flex-wrap:wrap;
    margin-bottom:10px;
}
.faq-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
}
.faq-item{
    border-radius:18px;
    border:1px solid rgba(0,0,0,.06);
    background: rgba(255,255,255,.72);
    padding:10px 12px;
}
.faq-item summary{
    cursor:pointer;
    font-weight:850;
    opacity:.95;
    list-style:none;
}
.faq-item summary::-webkit-details-marker{ display:none; }
.faq-body{
    margin-top:10px;
    font-size:13.6px;
    line-height:1.7;
    opacity:.86;
}

/* Sticky bar */
.sticky-cta{
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 10px 12px;
    background: rgba(245,248,250,.86);
    backdrop-filter: blur(10px);
    border-top: 1px solid rgba(0,0,0,.08);
    z-index: 30;
}
.sticky-cta__inner{
    max-width: 1100px;
    margin: 0 auto;
    display:flex;
    align-items:center;
    justify-content: space-between;
    gap: 10px;
}
.sticky-cta__text{
    display:flex;
    flex-direction: column;
    line-height: 1.2;
}
.sticky-cta__text strong{ letter-spacing: -.2px; }
.sticky-cta__text .muted{ font-size: 12.8px; opacity: .7; }
.sticky-cta__actions{
    display:flex;
    gap: 10px;
    flex-wrap: wrap;
}

/* Responsive */
@media (max-width: 980px){
    .subs-hero__content{ grid-template-columns:1fr; }
    .subs-strip{ grid-template-columns:1fr; }
    .faq-grid{ grid-template-columns:1fr; }
}

@media (max-width: 520px){
    .subs-hero{ padding:16px; border-radius:20px; }
    .card{ padding:14px; border-radius:20px; }
}

/* Optional: hide sticky on desktop */
@media (min-width: 980px){
    .sticky-cta{ display:none; }
    .subs{ padding-bottom: 70px; }
}

.plan-footnote {
    margin: 10px 0 0;
    font-size: 13px;
    opacity: .7;
    line-height: 1.6;
    text-align: center;
}

.subs-legal {
    margin-top: 12px;
    font-size: 13px;
    opacity: .75;
    text-align: center;
}

















.pricing-section.subscriptions-index .pricing-plan .select-plan,
section.pricing-section.subscriptions-index .premium .select-plan,
.rs-btn,
.btn,
.contact-form input,
textarea,
section.pricing-section.subscriptions-index .basic,
section.pricing-section.subscriptions-index .standard,
section.pricing-section.subscriptions-index .premium,
.info-column,
.main-content .info-column,
.info-column .content-box,
.testimonial-text,
.testimonial-item {
    border-radius: 14px !important;
}





.issue-cards{
    display:flex;
    flex-direction:column;
    gap:10px;
    margin-top:10px;
}

.issue-card{
    display:flex;
    gap:12px;
    align-items:flex-start;
    border:1px solid #e5e5e5;
    border-radius:14px;
    /*padding:12px;*/
    cursor:pointer;
    background:#fff;
}

.issue-card:hover{
    border-color: var(--rs-accent);
}

.issue-card input[type="radio"]{
    margin-top:4px;
}

.issue-card-title{
    font-weight:600;
    line-height:1.2;
}

.issue-card-desc{
    font-size:0.92rem;
    color:#666;
    margin-top:4px;
}

.issue-card:has(input[type="radio"]:checked){
    border-color: var(--rs-accent);
    box-shadow:0 0 0 2px rgba(46, 123, 122, 0.15);
}


/* 1) Vienodas “profesionalus” radius visiems form inputams */
.form-input,
.form-control,
.form-control-file,
.form-input-textarea,
textarea.form-input {
    border-radius: 14px !important;
}

/* 2) Užtikrinam, kad visi field-with-help būtų vienodo pločio */
.field-with-help {
    display: grid;
    grid-template-columns: 1fr 44px;
    /*gap: 10px;*/
    align-items: center;
    position: relative;
}

.field-input {
    width: 100%;
}
.field-hint {
    margin-top: 6px;
    font-size: 0.92rem;
    color: #6b7280;
}
.lost-label-reset{
    margin: 0;
}
.lost-hint--flush{
    margin-top: 0;
}
.lost-hint--price{
    margin-top: 0;
    margin-bottom: 12px;
}
.lost-hint--success{
    color: var(--rs-success, #16a34a);
}
.lost-link--underline{
    text-decoration: underline;
}
.lost-loading-image{
    display: block;
    margin: auto;
    width: 150px;
}
.lost-loading-copy{
    text-align: center;
    font-size: 20px;
}

/* 3) File input stilius kaip “normalus” laukas */
.file-input {
    background: #fff;
    padding: 10px 12px;
    border-radius: 14px;
    border: none;
    width: auto;
}

.file-input:focus {
    outline: none;
    box-shadow: 0 0 0 2px rgba(13,110,253,0.15);
    border-color: #0d6efd;
}

/* Modernūs browseriai: gražus upload mygtukas */
.file-input::file-selector-button {
    border: 0;
    background: #0d6efd;
    color: #fff;
    padding: 8px 12px;
    border-radius: 14px;
    margin-right: 12px;
    cursor: pointer;
    border: none;
}

.file-input::file-selector-button:hover {
    filter: brightness(0.95);
}



























/* =========================
   Base / tokens
========================= */
:root{
    --rs-primary:#0B2236;
    --rs-accent:#2E7B7A;

    --rs-bg:#F5F7FA;
    --rs-card: rgba(255,255,255,0.86);
    --rs-border:#E5E7EB;
    --rs-text:#0B2236;
    --rs-muted:#667085;

    --rs-radius:18px;
    --rs-radius-sm:14px;

    --rs-field-h:56px;
    --rs-field-px:16px;
}

html{ min-height: 100%; }
body{
    min-height: 100%;
    overflow-x: hidden;
    font-family: "Open Sans", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    color: var(--rs-text);
    background: var(--rs-bg);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* FIX: neleisk global font-family sugadinti FontAwesome ikonų */
.fa, .fas, .far, .fal, .fab, .fa-solid, .fa-regular, .fa-brands{
    font-family: "Font Awesome 5 Free" !important;
}

/* =========================
   Layout shell
========================= */
.form-container{ padding: 0 !important; } /* jei bootstrap container prideda padding – nuimam, mobilui bus geriau */

.lost-form-shell{
    max-width: 1040px;
    width: 100%;
    margin: 28px auto;
    padding: 0 16px;
}

.lost-form-card{
    background: white;
    border: 1px solid var(--rs-border);
    border-radius: var(--rs-radius);
    padding: 22px;
    backdrop-filter: blur(10px);
}

.lost-title{
    margin: 0 0 6px 0;
    color: var(--rs-primary);
    font-size: 1.8rem;
    letter-spacing: -0.02em;
}

.lost-account.text-muted{
    margin: 0 0 14px 0;
    color: var(--rs-muted) !important;
    font-size: 1rem;
}
.lost-help-text{
    text-align: left;
}

/* =========================
   Progress
========================= */
.lost-progress{
    margin: 14px 0 18px 0;
}

.lost-progress-top{
    display:flex;
    align-items:baseline;
    justify-content:space-between;
    gap:12px;
}

.lost-step{
    font-weight: 700;
    color: var(--rs-muted);
}

.lost-step-title{
    font-weight: 700;
    color: var(--rs-primary);
}

.lost-progress-bar{
    height: 8px;
    background: #EEF2F7;
    border-radius: 999px;
    margin-top: 10px;
    overflow:hidden;
}

.lost-progress-fill{
    width: 12%;
    height: 100%;
    background: var(--rs-accent);
    border-radius: 999px;
    transition: width .25s ease;
}

.lost-progress-hint{
    margin-top: 10px;
    color: var(--rs-muted);
    font-size: 0.98rem;
}

/* =========================
   Fields
========================= */
.form-group{ margin-bottom: 14px; }

.form-control.form-input{
    height: var(--rs-field-h);
    padding: 0 var(--rs-field-px);
    border-radius: var(--rs-radius-sm);
    border: 1px solid var(--rs-border);
    background: #fff;
    font-size: 16px; /* svarbu mobilui (nezoomins) */
    color: var(--rs-text);
    box-shadow: 0 1px 0 rgba(16,24,40,0.02);
}
.form-control.form-input.file-input,
.form-control.form-input.file-input:focus {
    border: none;
    width: unset;
    width: auto;
}

.form-control.form-input:focus{
    outline: none;
    border-color: rgba(46,123,122,0.55);
    box-shadow: 0 0 0 4px rgba(46,123,122,0.14);
}

.form-control.form-input::placeholder{
    color: #98A2B3;
}

/* textarea */
.form-input-textarea{
    height: auto !important;
    min-height: 120px;
    padding: 14px var(--rs-field-px);
}

/* floating label – jei pas tave bootstrap floating: padarom tvarkingai */
.floating-label-group .form-label{
    color: var(--rs-muted);
    /*font-weight: 600;*/
}

/* error state – be “random tekstų”, tik raudonas borderis */
.form-control.error{
    border-color: #EF4444 !important;
    /*box-shadow: 0 0 0 4px rgba(239,68,68,0.12) !important;*/
}

/* =========================
   Help button / tooltip
========================= */
.field-with-help{
    display:flex;
    align-items:center;
    /*gap:10px;*/
}

.field-with-help .field-input{ flex: 1; }

.field-help-btn{
    border-radius: 999px;
    /*border: 1px solid var(--rs-border);*/
    background: rgba(255,255,255,0.9);
    display:flex;
    color: var(--rs-muted);
    width: 16px;
}

.field-help-btn:active{ transform: scale(0.98); }

/* jei tavo tooltip yra span.tooltiptext – čia minimalistinis */
.tooltiptext{
    display:none;
}
.field-with-help.is-open .tooltiptext{
    display:block;
    position:absolute; /* jei reikia – susiderink pagal savo esamą tooltip css */
}

/* 1 žingsnis: kaip prašei – be klaustukų (tik pasirinkimas) */
#step-1 .field-help-btn,
#step-1 .tooltiptext{
    display:none !important;
}

/* =========================
   Issue cards (vienas borderis, tvarkingai)
========================= */
.issue-cards{
    display:flex;
    flex-direction:column;
    gap: 12px;
    margin-top: 10px;
}

.issue-card{
    display:block;
    width:100%;
    cursor:pointer;
}

/* paslepiam radio */
.issue-radio{
    position:absolute;
    opacity:0;
    pointer-events:none;
}

.issue-card-body{
    position:relative;
    background:#fff;
    /*border: 1px solid var(--rs-border);*/
    border-radius: var(--rs-radius-sm);
    padding: 10px 10px 10px 25px;
    transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}

/* radio taškas */
.issue-card-body::before{
    content: "";
    position: absolute;
    left: 5px;
    top: 12px;
    width: 16px;
    height: 16px;
    border-radius: 999px;
    border: 2px solid #CBD5E1;
    background: #fff;
}

/* checked */
.issue-card input:checked + .issue-card-body{
    border-color: rgba(46,123,122,0.65);
    box-shadow: 0 0 0 4px rgba(46,123,122,0.12);
    background: rgba(46,123,122,0.03);
}

.issue-card input:checked + .issue-card-body::before{
    border-color: var(--rs-accent);
    box-shadow: inset 0 0 0 4px var(--rs-accent);
}

.issue-card-title{
    font-weight: 700;
    line-height: 1.25;
    font-size: 1.05rem;
    color: var(--rs-primary);
}

.issue-card-desc{
    margin-top: 6px;
    font-size: 0.98rem;
    color: var(--rs-muted);
    line-height: 1.35;
}

/* hover */
.issue-card:hover .issue-card-body{
    border-color: rgba(46,123,122,0.45);
}

/* =========================
   Step actions / buttons
========================= */
.step-actions{
    margin-top: 16px;
    display:flex;
    justify-content:flex-end;
    gap:12px;
    align-items:center;
}
.step-actions--between{
    justify-content: space-between;
}

.btn.btn-light{
    background:#fff;
    border: 1px solid var(--rs-border);
    border-radius: var(--rs-radius-sm);
    padding: 12px 18px;
    font-weight: 700;
    color: var(--rs-primary);
}

.rs-btn-primary{
    background: var(--rs-accent);
    border: 0;
    color: #fff;
    border-radius: var(--rs-radius-sm);
    padding: 12px 18px;
    font-weight: 800;
    box-shadow: 0 10px 22px rgba(46,123,122,0.18);
}

.rs-btn-primary:disabled{
    opacity: .55;
    cursor: not-allowed;
    box-shadow: none;
}

.step-actions .rs-btn{
    height: 52px;
    padding: 0 18px;
    border-radius: 14px;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 160px;
}

#step-2 .step-actions,
#step-3 .step-actions{
    gap: 12px;
}

/* =========================
   Mobile: full screen, daugiau vietos laukams
========================= */
@media (max-width: 576px){
    #step-1 .step-actions{
        justify-content: flex-end !important;
    }
    #step-1 .step-actions .select-plan{
        flex: 0 0 auto !important;
        min-width: 160px;
    }
    #step-2 .step-actions .rs-btn,
    #step-3 .step-actions .rs-btn{
        flex: 1 1 0;
        min-width: 0;
    }
    /* kai yra 1 mygtukas – jis vis tiek dešinėje, bet su normaliu pločiu */
    #step-1 .step-actions{
        justify-content: flex-end !important;
    }
    .lost-form-shell{
        max-width: 100%;
        margin: 0;
        padding: 0;
    }

    .form-control.form-input:focus + .form-label,
    .form-control.form-input:not(:placeholder-shown) + .form-label
     {
        transform: translateY(-176%);
    }

    .lost-form-card{
        border: 0;
        border-radius: 0;
        padding: 18px 16px 0 16px; /* vieta sticky veiksmams */
        background: transparent;
        backdrop-filter: none;
    }

    .lost-title{ font-size: 1.65rem; }
    .lost-progress{ margin-bottom: 14px; }

    /* fields full width */
    .form-control.form-input{
        height: 50px;
        border-radius: 14px;
    }

    /* Actions sticky bottom */
    .step-actions{
        position: sticky;
        bottom: 0;
        margin: 16px -16px 0 -16px;
        padding: 14px 16px;
        /*background: rgba(245,247,250,0.92);*/
        backdrop-filter: blur(10px);
        border-top: 1px solid rgba(229,231,235,0.9);
        justify-content: space-between;
    }

    .btn.btn-light,
    .rs-btn-primary{
        flex: 1;
        text-align:center;
        padding: 14px 16px;
    }
}







#btnToStep2:disabled {
    transform: none;
    background: #eeeeee !important;
    color: #a2a2a2 !important;
}

#btnBackToStep1:hover,
#btnBackToStep2:hover {
    background: #e4e4e4 !important;
}

#btnToStep2 {
    filter: none;
}


form-label .error {
    color: red !important;
}
#loadingIndicator,
#formError {
    display: none;
}
/*
#formError {
    display: none !important;
}*/







/* ================================
   RS26 Header + Drawer (2026)
   ================================ */

:root{
    --rs26-primary: var(--rs-accent, #217b7a);
    --rs26-primary-2: var(--rs-primary, #12324C);
    --rs26-text: var(--rs-text, #0B2236);
    --rs26-muted: var(--rs-muted, #5B6B7A);
    --rs26-deep:#071827;
    --rs26-radius: var(--rs-radius-sm, 14px);

    --rs26-border: var(--rs-line-strong, rgba(11,34,54,.12));
    --rs26-soft: var(--rs-soft, rgba(11,34,54,.06));
    --rs26-bg: rgba(255,255,255,.92);
}

/* HEADER */
html body header.rs26-header[data-rs26]{
    position: sticky !important;
    top: 0 !important;
    z-index: 900 !important;
    background: var(--rs26-bg) !important;
    border-bottom: 1px solid var(--rs26-border) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
}

/* BAR */
html body header.rs26-header[data-rs26] .rs26-bar{
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 10px 12px !important;

    display: grid !important;
    grid-template-columns: 1fr auto !important;
    gap: 10px !important;
    align-items: center !important;
    min-height: 56px !important;
}

/* LOGO */
html body header.rs26-header[data-rs26] .rs26-brand{
    display: inline-flex !important;
    align-items: center !important;
    min-width: 0 !important;
    text-decoration: none !important;
}
html body header.rs26-header[data-rs26] .rs26-logo{
    display: block !important;
    height: 30px !important;
    width: auto !important;
    max-width: min(220px, 62vw) !important;
}

/* VISIBILITY */
html body header.rs26-header[data-rs26] .rs26-only-desktop{ display:none !important; }
html body header.rs26-header[data-rs26] .rs26-only-mobile{ display:inline-flex !important; }

@media (min-width:980px){
    html body header.rs26-header[data-rs26] .rs26-bar{
        grid-template-columns: auto 1fr auto !important;
        gap: 12px !important;
    }
    html body header.rs26-header[data-rs26] .rs26-only-desktop{ display:inline-flex !important; }
    html body header.rs26-header[data-rs26] .rs26-only-mobile{ display:none !important; }
}

/* NAV */
html body header.rs26-header[data-rs26] .rs26-nav{
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    min-width: 0 !important;
    overflow: hidden !important;
}
html body header.rs26-header[data-rs26] .rs26-link{
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    padding: 10px 12px !important;
    border-radius: var(--rs26-radius) !important;
    text-decoration: none !important;
    color: var(--rs26-text) !important;
    font-size: 14px !important;
    line-height: 1 !important;
    white-space: nowrap !important;

    background: transparent !important;
    border: 1px solid transparent !important;
}

@media (hover:hover) and (pointer:fine){
    html body header.rs26-header[data-rs26] .rs26-link:hover{
        background: var(--rs26-soft) !important;
        border-color: rgba(11,34,54,.06) !important;
    }
}
html body header.rs26-header[data-rs26] .rs26-link--pill{
    background: rgba(33,123,122,.10) !important;
    border-color: rgba(33,123,122,.18) !important;
}

/* ACTIONS */
html body header.rs26-header[data-rs26] .rs26-actions{
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important; /* <-- tarpas tarp Prisijungti/Registruotis */
}

/* BUTTONS */
html body header.rs26-header[data-rs26] .rs26-btn{
    appearance: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;

    padding: 10px 14px !important;
    border-radius: var(--rs26-radius) !important;
    font-size: 14px !important;
    line-height: 1 !important;
    cursor: pointer !important;
    user-select: none !important;

    color: var(--rs26-text) !important;
    background: #fff !important;
    border: 1px solid var(--rs26-border) !important;
}

html body header.rs26-header[data-rs26] .rs26-btn--primary{
    background: var(--rs26-primary) !important;
    border-color: rgba(33,123,122,.85) !important;
    color: #fff !important;
    box-shadow: 0 8px 20px rgba(33,123,122,.18) !important;
}

html body header.rs26-header[data-rs26] .rs26-btn--ghost{
    background: #fff !important;
}

html body header.rs26-header[data-rs26] .rs26-btn--icon{
    width: 42px !important;
    height: 42px !important;
    padding: 0 !important;
}

@media (hover:hover) and (pointer:fine){
    html body header.rs26-header[data-rs26] .rs26-btn:hover{
        background: rgba(11,34,54,.03) !important;
    }
    html body header.rs26-header[data-rs26] .rs26-btn--primary:hover{
        filter: brightness(.96) !important;
    }
}

/* BURGER */
html body header.rs26-header[data-rs26] .rs26-burger{
    appearance: none !important;
    width: 42px !important;
    height: 42px !important;
    padding: 0 !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    border-radius: var(--rs26-radius) !important;
    background: #fff !important;
    border: 1px solid var(--rs26-border) !important;
    color: var(--rs26-text) !important;
    cursor: pointer !important;
}

@media (max-width: 640px){
    html body header.rs26-header[data-rs26] .rs26-bar{
        padding: 8px 10px !important;
        min-height: 52px !important;
        gap: 8px !important;
    }

    html body header.rs26-header[data-rs26] .rs26-logo{
        height: 28px !important;
        max-width: min(200px, 58vw) !important;
    }

    html body header.rs26-header[data-rs26] .rs26-burger{
        width: 40px !important;
        height: 40px !important;
    }
}

html body header.rs26-header[data-rs26] .rs26-ico{
    display:block !important;
    fill: currentColor !important;
}

/* FOCUS */
html body header.rs26-header[data-rs26] a:focus-visible,
html body header.rs26-header[data-rs26] button:focus-visible,
html body .rs26-drawer[data-rs26-drawer] a:focus-visible,
html body .rs26-drawer[data-rs26-drawer] button:focus-visible,
html body .rs26-drawer[data-rs26-drawer] select:focus-visible{
    outline: 2px solid rgba(33,123,122,.85) !important;
    outline-offset: 2px !important;
}

/* ======================
   DRAWER (mobile menu)
   ====================== */

/* Drawer always above page; modal above drawer */
html body .rs26-drawer[data-rs26-drawer]{
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    height: 100vh !important;

    z-index: 2147483000 !important;  /* aukštai, bet žemiau modal */
    opacity: 0 !important;
    pointer-events: none !important;
    transition: opacity .18s ease !important;
    isolation: isolate !important;
}

html body .rs26-drawer[data-rs26-drawer].is-open{
    opacity: 1 !important;
    pointer-events: auto !important;
}

html body .rs26-drawer[data-rs26-drawer] .rs26-backdrop{
    position: absolute !important;
    inset: 0 !important;
    background: rgba(7,24,39,.64) !important;
}

/* Panel (premium look) */
html body .rs26-drawer[data-rs26-drawer] .rs26-panel{
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    height: 100% !important;
    width: min(92vw, 420px) !important;

    background-color: #fff !important;
    color: var(--rs26-text) !important;
    border-left: 1px solid var(--rs26-border) !important;
    box-shadow: -24px 0 70px rgba(7,24,39,.24) !important;

    padding: 14px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;

    transform: translateX(16px) !important;
    transition: transform .22s ease !important;
    overflow: hidden !important;
}

html body .rs26-drawer[data-rs26-drawer].is-open .rs26-panel{
    transform: translateX(0) !important;
}

/* Drawer header row */
html body .rs26-drawer[data-rs26-drawer] .rs26-panelTop{
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
    padding-bottom: 6px !important;
}

html body .rs26-drawer[data-rs26-drawer] .rs26-panelTopRow{
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
}

html body .rs26-drawer[data-rs26-drawer] .rs26-drawerUser{
    font-size: 15px !important;
    font-weight: 600 !important;
    color: var(--rs26-text) !important;
}

html body .rs26-drawer[data-rs26-drawer] .rs26-panelTitle{
    font-weight: 800 !important;
    font-size: 16px !important;
    letter-spacing: .2px !important;
}

/* Drawer nav list */
html body .rs26-drawer[data-rs26-drawer] .rs26-drawerNav{
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    overflow: auto !important;
    padding-right: 4px !important;
}

/* Links in drawer – clean, less “pilka plyta” */
html body .rs26-drawer[data-rs26-drawer] .rs26-drawerLink{
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;

    padding: 12px 12px !important;
    border-radius: var(--rs26-radius) !important;
    text-decoration: none !important;
    color: var(--rs26-text) !important;

    background: rgba(11,34,54,.03) !important;
    border: 1px solid rgba(11,34,54,.06) !important;
}

@media (hover:hover) and (pointer:fine){
    html body .rs26-drawer[data-rs26-drawer] .rs26-drawerLink:hover{
        background: rgba(33,123,122,.08) !important;
        border-color: rgba(33,123,122,.20) !important;
    }
}

html body .rs26-drawer[data-rs26-drawer] .rs26-drawerLink--pill{
    background: rgba(33,123,122,.10) !important;
    border-color: rgba(33,123,122,.22) !important;
}

html body .rs26-drawer[data-rs26-drawer] .rs26-drawerLink--danger{
    color: #b91c1c !important;
    background: rgba(185,28,28,.06) !important;
    border-color: rgba(185,28,28,.16) !important;
}

html body .rs26-drawer[data-rs26-drawer] .rs26-drawerButton{
    border: 0 !important;
    width: 100% !important;
    text-align: left !important;
}

/* separators */
html body .rs26-drawer[data-rs26-drawer] .rs26-sep{
    height: 1px !important;
    background: rgba(11,34,54,.10) !important;
    margin: 6px 0 !important;
}

/* Drawer CTA buttons – NO more “pilka” */
html body .rs26-drawer[data-rs26-drawer] .rs26-btn{
    width: 100% !important;
    padding: 12px 14px !important;
    border-radius: var(--rs26-radius) !important;
    border: 1px solid var(--rs26-border) !important;
    background: #fff !important;
    color: var(--rs26-text) !important;
}

html body .rs26-drawer[data-rs26-drawer] .rs26-btn--primary{
    background: var(--rs26-primary) !important;
    border-color: rgba(33,123,122,.85) !important;
    color: #fff !important;
    box-shadow: 0 10px 24px rgba(33,123,122,.20) !important;
}

@media (hover:hover) and (pointer:fine){
    html body .rs26-drawer[data-rs26-drawer] .rs26-btn:hover{
        background: rgba(11,34,54,.03) !important;
    }
    html body .rs26-drawer[data-rs26-drawer] .rs26-btn--primary:hover{
        filter: brightness(.96) !important;
    }
}

/* Language dropdown – professional pill */
html body header.rs26-header[data-rs26] .language-dropdown,
html body .rs26-drawer[data-rs26-drawer] .language-dropdown{
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;

    padding: 10px 38px 10px 12px !important;
    border-radius: var(--rs26-radius) !important;
    border: 1px solid var(--rs26-border) !important;
    background-color: #fff !important;
    color: var(--rs26-text) !important;
    font-size: 14px !important;
    line-height: 1 !important;
    cursor: pointer !important;

    /* custom chevron */
    background-image:
            linear-gradient(45deg, transparent 50%, var(--rs26-muted) 50%),
            linear-gradient(135deg, var(--rs26-muted) 50%, transparent 50%),
            linear-gradient(to right, transparent, transparent) !important;
    background-position:
            calc(100% - 18px) calc(50% - 3px),
            calc(100% - 12px) calc(50% - 3px),
            0 0 !important;
    background-size: 6px 6px, 6px 6px, 100% 100% !important;
    background-repeat: no-repeat !important;
}

/* Drawer language block spacing */
html body .rs26-drawer[data-rs26-drawer] .rs26-lang--drawer{
    margin-top: 10px !important;
    padding-top: 10px !important;
    border-top: 1px solid rgba(11,34,54,.10) !important;
}

/* Scroll lock */
html.rs26-lock, html.rs26-lock body{
    overflow: hidden !important;
}

/* Modal above drawer */
.modal-backdrop{ z-index: 2147483500 !important; }
.modal{ z-index: 2147483600 !important; }


html body .rs26-drawer[data-rs26-drawer] .rs26-panelTop .rs26-btn--icon{
    border-radius: 999px !important;
    width: 40px !important;
    height: 40px !important;
}
@media (hover:hover) and (pointer:fine){
    html body .rs26-drawer[data-rs26-drawer] .rs26-panelTop .rs26-btn--icon:hover{
        background: rgba(11,34,54,.06) !important;
    }
}

/* =========================
   RS26 PATCH (critical fixes)
   ========================= */

/* 1) Mobile/desktop visibility – bulletproof */
html body header.rs26-header[data-rs26] .rs26-only-desktop{
    display: none !important;
}
html body header.rs26-header[data-rs26] .rs26-only-mobile{
    display: inline-flex !important;
}

/* Desktop: hide burger, show desktop blocks */
@media (min-width: 980px){
    html body header.rs26-header[data-rs26] .rs26-only-desktop{
        display: inline-flex !important;
    }
    html body header.rs26-header[data-rs26] .rs26-only-mobile{
        display: none !important;
    }
    /* extra hard: burger never on desktop */
    html body header.rs26-header[data-rs26] .rs26-burger{
        display: none !important;
    }
}

/* Extra hard: desktop nav must NOT show on mobile even if global CSS forces .rs26-nav */
@media (max-width: 979.98px){
    html body header.rs26-header[data-rs26] .rs26-nav.rs26-only-desktop{
        display: none !important;
    }
}

/* 2) Primary button hover – never turns white-on-white */
@media (hover:hover) and (pointer:fine){
    html body header.rs26-header[data-rs26] .rs26-btn--primary:hover,
    html body .rs26-drawer[data-rs26-drawer] .rs26-btn--primary:hover{
        background: var(--rs26-primary) !important;
        color: #fff !important;
        filter: brightness(.96) !important;
    }
    /* Keep ghost hover subtle */
    html body header.rs26-header[data-rs26] .rs26-btn--ghost:hover,
    html body .rs26-drawer[data-rs26-drawer] .rs26-btn--ghost:hover{
        background: rgba(11,34,54,.04) !important;
        color: var(--rs26-text) !important;
    }
}

/* 3) Drawer close (X) perfectly centered */
html body .rs26-drawer[data-rs26-drawer] .rs26-panelTop .rs26-btn--icon{
    width: 40px !important;
    height: 40px !important;
    padding: 0 !important;
    border-radius: 999px !important;
    display: grid !important;
    place-items: center !important;
    line-height: 0 !important;
}
html body .rs26-drawer[data-rs26-drawer] .rs26-panelTop .rs26-btn--icon .rs26-ico{
    display: block !important;
}

/* 4) Language select – compact, centered chevron, no weird border */
html body header.rs26-header[data-rs26] .language-dropdown,
html body .rs26-drawer[data-rs26-drawer] .language-dropdown{
    width: auto !important;
    min-width: 76px !important;        /* kompaktiškas */
    max-width: 120px !important;
    height: 40px !important;           /* suvienodinam aukštį */
    padding: 0 34px 0 12px !important; /* vieta rodyklei */
    border-radius: var(--rs26-radius) !important;
    border: 1px solid var(--rs26-border) !important;
    background-color: #fff !important;
    color: var(--rs26-text) !important;
    line-height: 40px !important;      /* centras vertikaliai */

    /* Chevron centered */
    background-position:
            calc(100% - 18px) 50%,
            calc(100% - 12px) 50%,
            0 0 !important;
}

/* remove "hover border jump" */
@media (hover:hover) and (pointer:fine){
    html body header.rs26-header[data-rs26] .language-dropdown:hover,
    html body .rs26-drawer[data-rs26-drawer] .language-dropdown:hover{
        border-color: rgba(11,34,54,.18) !important;
    }
}

/* focus ring only (clean) */
html body header.rs26-header[data-rs26] .language-dropdown:focus-visible,
html body .rs26-drawer[data-rs26-drawer] .language-dropdown:focus-visible{
    outline: 2px solid rgba(33,123,122,.85) !important;
    outline-offset: 2px !important;
}

/* 5) Drawer sizing / future proof menu growth */
html body .rs26-drawer[data-rs26-drawer] .rs26-panel{
    width: min(92vw, 420px) !important;
    overflow: hidden !important;
}
html body .rs26-drawer[data-rs26-drawer] .rs26-drawerNav{
    /* Use flex-grow so nav fills remaining height after panelTop, regardless of panelTop height */
    flex: 1 1 auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    /* Required for touch scroll to work inside a fixed/absolute overlay on iOS/Android */
    touch-action: pan-y !important;
}
/* Ensure panelTop never shrinks */
html body .rs26-drawer[data-rs26-drawer] .rs26-panelTop{
    flex-shrink: 0 !important;
}

/* 6) Mobile: ensure header content never wraps weirdly */
html body header.rs26-header[data-rs26] .rs26-bar{
    grid-auto-flow: row !important;
}
html body header.rs26-header[data-rs26] .rs26-brand{
    overflow: hidden !important;
}




/* =========================
   RelyShield Testimonials (Minimal Pro)
   Namespace: .rs-t
   ========================= */


.rs-t{
    background: var(--rs-bg);
    color: var(--rs-text);
    padding: clamp(56px, 6vw, 96px) 0;
    overflow: hidden;
    font-family: "Open Sans", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

/* Header container */
.rs-t__inner{
    max-width: var(--rs-container);
    margin: 0 auto;
    padding: 0 var(--rs-pad);
}

/* H2 centered */
.rs-t__header{
    text-align: center;
    display: grid;
    gap: 10px;
    margin-bottom: 22px;
}

.rs-t__title{
    margin: 0;
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.08;
    font-size: clamp(28px, 3.3vw, 44px);
}

.rs-t__subtitle{
    margin: 0 auto;
    max-width: 72ch;
    font-size: clamp(14px, 1.5vw, 16px);
    line-height: 1.6;
    color: var(--rs-muted);
}

/* Full-bleed slider area */
.rs-t__bleed{
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    position: relative;
}

/* Edge fade matched to section background */
.rs-t__bleed::before,
.rs-t__bleed::after{
    content:"";
    position:absolute;
    top:0; bottom:0;
    width: 110px;
    pointer-events:none;
    z-index: 2;
}
.rs-t__bleed::before{
    left:0;
    background: linear-gradient(to right, var(--rs-section), rgba(255,255,255,0));
}
.rs-t__bleed::after{
    right:0;
    background: linear-gradient(to left, var(--rs-section), rgba(255,255,255,0));
}
@media (max-width: 768px){
    .rs-t__bleed::before,
    .rs-t__bleed::after{ width: 60px; }
}

/* Swiper root */
.rs-t__swiper{
    width: 100%;
    padding: 10px 0 0;
    visibility: visible;
}
.rs-t__swiper .swiper-wrapper{
    padding-left: 0 !important;
    padding-right: 0 !important;
}
.rs-t .swiper-slide{
    height: auto;
    display: flex;
    align-items: stretch;
}

/* Card: NO childish shadow. Border does the work. */
.rs-t__card{
    list-style: none;
    margin: 0;
    width: 100%;
    max-width: 380px;

    border-radius: var(--rs-radius);
    border: 1px solid var(--rs-line);
    background: rgba(255,255,255,.92);

    /* minimal depth */
    box-shadow: none;

    padding: 20px 20px 18px;
    display: grid;
    gap: 12px;
    justify-items: center;
    text-align: center;

    transition: transform .18s ease, border-color .18s ease, background-color .18s ease;
}

@media (hover:hover){
    .rs-t__card:hover{
        transform: translateY(-1px);
        background: rgba(255,255,255,.98);
    }
}

/* Story ring: premium + brand, not IG cosplay */
.rs-t__story{
    width: 112px;
    height: 112px;
    border-radius: 999px;
    padding: 3px;

    display: grid;
    place-items: center;

    background: conic-gradient(
            from 220deg,
            rgba(31,122,120,.90),
            rgba(31,122,120,.35),
            rgba(248,121,34,.55),
            rgba(31,122,120,.60),
            rgba(31,122,120,.90)
    );

    border: 1px solid rgba(11,18,32,.10);
    cursor: pointer;
    position: relative;
    outline: none;
}

.rs-t__story:focus-visible{
    box-shadow: 0 0 0 3px rgba(31,122,120,.18);
}

.rs-t__avatar{
    width: 100%;
    height: 100%;
    border-radius: 999px;
    background: #fff;
    padding: 5px;
    display: grid;
    place-items: center;
}

.rs-t__img{
    width: 100%;
    height: 100%;
    border-radius: 999px;
    object-fit: cover;
    display: block;
}

/* Badge: clean outline badge, no shadow */
.rs-t__badge{
    position: absolute;
    top: -8px;
    right: -10px;

    font-size: 11px;
    font-weight: 700;
    letter-spacing: .02em;

    padding: 6px 10px;
    border-radius: 999px;

    color: rgba(11,18,32,.82);
    background: rgba(255,255,255,.92);
    border: 1px solid rgba(31,122,120,.22);

    z-index: 2;
}

/* Optional tiny dot accent inside badge (no extra HTML) */
.rs-t__badge::before{
    content:"";
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: rgba(31,122,120,.92);
    display: inline-block;
    margin-right: 8px;
    vertical-align: middle;
}

/* Play overlay: subtle, only on hover */
.rs-t__play{
    position: absolute;
    inset: 0;
    border-radius: 999px;
    background: radial-gradient(circle at 50% 55%, rgba(11,18,32,.22), rgba(11,18,32,0));
    opacity: 0;
    transition: opacity .18s ease;
}
.rs-t__play::after{
    content:"";
    position:absolute;
    left: 50%;
    top: 50%;
    transform: translate(-42%, -50%);

    width:0; height:0;
    border-left: 12px solid rgba(255,255,255,.92);
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
}
@media (hover:hover){
    .rs-t__story:hover .rs-t__play{ opacity: 1; }
}

/* Name */
.rs-t__meta{ width: 100%; }
.rs-t__name{
    font-weight: 800;
    letter-spacing: -0.01em;
    color: var(--rs-text);

    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 16px;
}

/* Text: calm panel */
.rs-t__text{
    width: 100%;
    margin: 0;
    padding: 14px;

    border-radius: var(--rs-radius-sm);
    background: var(--rs-soft);
    border: 1px solid rgba(11,18,32,.07);
}
.rs-t__text p{
    margin: 0;
    color: rgba(11,18,32,.78);
    font-size: 15px;
    line-height: 1.65;
}

/* Pagination */
.rs-t__pagination{
    position: static !important;
    margin-top: 16px;
    display: flex;
    justify-content: center;
    gap: 8px;
    padding-bottom: 6px;
}
.rs-t .swiper-pagination-bullet{
    width: 7px;
    height: 7px;
    opacity: .30;
    margin: 0 !important;
}
.rs-t .swiper-pagination-bullet-active{
    opacity: 1;
    background: rgba(31,122,120,.95);
}

/* Mobile */
@media (max-width: 768px){
    .rs-t__card{
        max-width: 92vw;
        padding: 18px;
    }
    .rs-t__story{
        width: 104px;
        height: 104px;
    }
    .rs-t__text{
        background: transparent;
    }
    .rs-t__text p{
        font-size: 16px;
    }
}

/* Modal video: responsive */
.testimonial-modal .video{
    width: 100%;
    height: auto;
    max-height: 70vh;
    display: block;
    background: #000;
    border-radius: 12px;
}


@media (max-width: 768px){

    /* Sekcija: mažiau "dekoratyvumo", daugiau švaros */
    .rs-t{
        padding: 44px 0 64px;
    }

    /* Header: truputį mažiau tarpo, geresnis ritmas */
    .rs-t__header{
        gap: 8px;
        margin-bottom: 16px;
    }

    .rs-t__title{
        font-size: clamp(26px, 7vw, 34px);
        line-height: 1.12;
    }

    .rs-t__subtitle{
        font-size: 15px;
        line-height: 1.55;
        max-width: 42ch;
    }

    /* Edge fade mobile'e dažnai atrodo kaip "uždengia", sumažinam */
    .rs-t__bleed::before,
    .rs-t__bleed::after{
        width: 32px;
        opacity: .85;
    }

    /* Kortelė: full-ish, geras piršto plotis, mažiau "card UI" jausmo */
    .rs-t__card{
        max-width: 92vw;            /* realiai viena kortelė */
        padding: 18px 16px 16px;
        gap: 12px;

        /* mobile'e šešėliai dažnai atrodo pigiai */
        box-shadow: none !important;
        border: 1px solid rgba(11,18,32,.10);
        background: rgba(255,255,255,.98);
    }

    /* Tap target: didesnis avataras, patogiau spausti */
    .rs-t__story{
        width: 112px;
        height: 112px;
    }

    .rs-t__avatar{
        padding: 5px;
    }

    /* Badge: mažesnis, tvarkingas, kad neužgožtų veido */
    .rs-t__badge{
        top: -6px;
        right: -8px;
        font-size: 11px;
        padding: 6px 10px;
    }
    .rs-t__badge::before{
        width: 6px;
        height: 6px;
        margin-right: 7px;
    }

    /* Vardas: šiek tiek didesnis, aiškesnis */
    .rs-t__name{
        font-size: 16px;
    }

    /* Tekstas: be "form-field" vibe – skaitomas, švarus */
    .rs-t__text{
        background: transparent !important;
        border: none !important;
        padding: 0 !important;
    }

    .rs-t__text p{
        font-size: 16px;
        line-height: 1.7;
        color: rgba(11,18,32,.76);
    }

    /* Pagination: didesni taškai mobile'ui (finger-friendly) */
    .rs-t__pagination{
        margin-top: 14px;
        gap: 10px;
    }

    .rs-t .swiper-pagination-bullet{
        width: 8px;
        height: 8px;
    }

    /* Modal video mobile: max height ir be “keistų dydžių” */
    .testimonial-modal .video{
        max-height: 72vh;
        border-radius: 12px;
    }

    .rs-t .swiper-slide{
        justify-content: center;
    }
    .rs-t__card{
        margin-left: auto;
        margin-right: auto;
    }

}

/* Optional: labai mažiems ekranams */
@media (max-width: 380px){
    .rs-t__story{
        width: 104px;
        height: 104px;
    }
    .rs-t__title{
        font-size: 26px;
    }
    .rs-t__text p{
        font-size: 15.5px;
    }
}



.rs-hero__actions .rs-btn--secondary,
.rs-hero__actions .rs-btn--ghost {
    color: #fff;
}





























/* =========================================================
   RelyShield Design System v1 (2026)
   Single source of truth: tokens + base styles
   Paste at VERY END of your CSS
   ========================================================= */

:root{
    /* Canonical shared foundation for public site pages.
       Page-specific styles may alias these tokens, but this block is the source of truth. */

    /* Typography */
    --rs-font-body: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
    --rs-font-heading: "Plus Jakarta Sans", "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --rs-font: var(--rs-font-body);

    /* Brand */
    --rs-brand-navy: #0B2236;
    --rs-brand-teal: #2E7B7A;
    --rs-brand-teal-hover: #256A69;
    --rs-brand-orange: #F87922;

    /* Neutrals */
    --rs-bg: #F5F7FA;
    --rs-bg-alt: #EEF3F6;
    --rs-section: rgba(11,34,54,.02);
    --rs-surface: rgba(255,255,255,.92);
    --rs-surface-solid: #FFFFFF;
    --rs-text: #0B2236;
    --rs-text-soft: rgba(11,34,54,.82);
    --rs-muted: rgba(11,34,54,.68);
    --rs-muted-soft: rgba(11,34,54,.54);
    --rs-line: rgba(11,34,54,.10);
    --rs-line-strong: rgba(11,34,54,.16);
    --rs-soft: rgba(11,34,54,.04);

    /* Feedback */
    --rs-success: #15803D;
    --rs-success-bg: #F0FDF4;
    --rs-success-border: #BBF7D0;
    --rs-danger: #DC2626;
    --rs-danger-bg: #FEF2F2;
    --rs-danger-border: #FECACA;
    --rs-warning: #A16207;
    --rs-warning-bg: #FFF8E1;
    --rs-warning-border: #FDE68A;

    /* Layout */
    --rs-container: 1200px;
    --rs-max: 1200px;
    --rs-content-narrow: 760px;
    --rs-content-reading: 780px;
    --rs-pad: clamp(16px, 4vw, 28px);

    /* Spacing rhythm */
    --rs-section-y: 56px;
    --rs-stack-1: 8px;
    --rs-stack-2: 12px;
    --rs-stack-3: 16px;
    --rs-stack-4: 24px;
    --rs-stack-5: 32px;

    /* Radius */
    --rs-radius-xs: 10px;
    --rs-radius-sm: 12px;
    --rs-radius: 16px;
    --rs-radius-lg: 20px;
    --rs-radius-pill: 999px;

    /* Shadows */
    --rs-shadow-xs: 0 1px 2px rgba(11,34,54,.05);
    --rs-shadow-soft: 0 8px 22px rgba(11,34,54,.08);
    --rs-shadow-lg: 0 18px 40px rgba(11,34,54,.12);
    --rs-shadow-focus: 0 0 0 4px rgba(46,123,122,.18);

    /* Motion */
    --rs-ease: cubic-bezier(.2,.8,.2,1);
    --rs-transition-fast: 140ms var(--rs-ease);
    --rs-transition-base: 220ms var(--rs-ease);

    /* Interactive */
    --rs-link: var(--rs-brand-teal);
    --rs-link-hover: #3A8F8E;

    /* Controls */
    --rs-btn-h: 44px;
    --rs-btn-h-lg: 48px;
    --rs-btn-radius: 14px;
    --rs-input-h: 48px;
    --rs-input-radius: 12px;
    --rs-btn-primary-bg: var(--rs-brand-teal);
    --rs-btn-primary-bg-hover: var(--rs-brand-teal-hover);
    --rs-btn-primary-text: #ffffff;
    --rs-btn-secondary-bg: rgba(11,34,54,.06);
    --rs-btn-secondary-border: rgba(11,34,54,.12);
    --rs-btn-secondary-text: var(--rs-text);

    /* Legacy aliases */
    --rs-primary: var(--rs-brand-navy);
    --rs-accent: var(--rs-brand-teal);
    --rs-border: var(--rs-line);
}

/* -------------------------
   Base reset (minimal, sane)
   ------------------------- */
*{ box-sizing: border-box; }
html{ min-height: 100%; }
body{
    margin: 0;
    min-height: 100%;
    overflow-x: hidden;
    font-family: var(--rs-font-body);
    background: var(--rs-bg);
    color: var(--rs-text);
    line-height: 1.6;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Don’t force flex on html/body globally.
   Tavo dabartinis html,body { display:flex } laužo daug layoutų (pvz. modals, full width bleed).
   Paliekam tik: wrapper/main/footer logiką ten, kur reikia. */

/* Typography */
h1,h2,h3,h4{
    margin: 0;
    font-family: var(--rs-font-heading);
    color: var(--rs-text);
    letter-spacing: -0.03em;
    line-height: 1.12;
}
p{
    margin: 0;
    color: var(--rs-muted);
    line-height: 1.7;
}
strong{
    color: inherit;
    font-weight: 700;
}

a{
    color: var(--rs-link);
    text-decoration-thickness: 2px;
    text-underline-offset: 3px;
    transition: color var(--rs-transition-fast);
}
a:hover{
    color: var(--rs-link-hover);
}


/* Container (paliekam tavo .container, bet padarom “one truth”) */
.container{
    max-width: var(--rs-container);
    margin: 0 auto;
}



/* Buttons: vieninga bazė (be global !important chaos) */
.rs-btn,
.btn,
.select-plan{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: var(--rs-btn-h);
    padding: 0 16px;
    border-radius: var(--rs-btn-radius);
    font: 700 14px/1 var(--rs-font-body);
    letter-spacing: .2px;
    border: 1px solid transparent;
    cursor: pointer;
    text-decoration: none;
    transition: transform var(--rs-transition-fast), background-color var(--rs-transition-fast), border-color var(--rs-transition-fast), filter var(--rs-transition-fast), box-shadow var(--rs-transition-fast), color var(--rs-transition-fast);
}

/* Focus (accessibility) */
.rs-btn:focus-visible,
.btn:focus-visible,
.select-plan:focus-visible,
input:focus-visible,
textarea:focus-visible{
    outline: none;
    /*box-shadow: var(--rs-shadow-focus);*/
}

/* Primary */
.rs-btn--primary,
.btn.btn-primary,
.select-plan{
    background: var(--rs-btn-primary-bg);
    color: var(--rs-btn-primary-text);
    border-color: rgba(255,255,255,.18);
}
.rs-btn--primary:hover,
.btn.btn-primary:hover,
.select-plan:hover{
    background: var(--rs-btn-primary-bg-hover);
    transform: translateY(-1px);
}

/* Secondary (light, solid, not “glass”) */
.rs-btn--secondary,
.btn.btn-secondary{
    background: var(--rs-btn-secondary-bg);
    color: var(--rs-btn-secondary-text);
    border-color: var(--rs-btn-secondary-border);
}
.rs-btn--secondary:hover,
.btn.btn-secondary:hover{
    transform: translateY(-1px);
    background: rgba(11,34,54,.08);
}

/* Ghost */
.rs-btn--ghost{
    background: transparent;
    color: var(--rs-text);
    border-color: rgba(11,34,54,.12);
}
.rs-btn--ghost:hover{
    background: rgba(11,34,54,.04);
}

/* Disabled / already-active button state: never animate */
.rs-pricing__cta--disabled,
.rs-btn--state-disabled,
.rs-btn[disabled],
.btn[disabled],
.select-plan[disabled]{
    opacity: 0.7;
    cursor: not-allowed;
    pointer-events: none;
    transform: none !important;
    filter: none !important;
    box-shadow: none !important;
    animation: none !important;
}

/* Inputs (clean, modern) */
input[type="text"],
input[type="email"],
input[type="password"],
textarea{
    min-height: var(--rs-input-h);
    font-family: var(--rs-font-body);
    color: var(--rs-text);
    background: var(--rs-surface-solid);
    border: 1px solid var(--rs-line-strong);
    border-radius: var(--rs-input-radius);
    padding: 14px 14px;
    transition: border-color var(--rs-transition-fast), box-shadow var(--rs-transition-fast), background-color var(--rs-transition-fast);
}
input:focus, textarea:focus{
    border-color: rgba(46,123,122,.55);
    box-shadow: var(--rs-shadow-focus);
}

/* Kill legacy global shadows that were fighting you */
.rs-btn, .btn, .select-plan{
    box-shadow: none;
}

.rs-btn--primary-hero{
    /*background: linear-gradient(135deg, var(--rs-primary), var(--rs-accent)) !important;*/
    /*background: linear-gradient(135deg, #2f777f, var(--rs-accent)) !important;*/
    background: linear-gradient(135deg, var(--rs-primary), var(--rs-accent)) !important;
    color: #fff !important;
    border-color: rgba(255,255,255,.16) !important;
}

.rs-btn--primary-hero:hover{
    transform: translateY(-1px);
    filter: brightness(1.04);
    box-shadow: 0 16px 36px rgba(7, 24, 39, .26);
}

.rs-btn--primary-hero,
.rs-btn--secondary {
    text-decoration: none !important;
}

button:focus {
    outline: none;
}


.rs-hero__actions .rs-btn--secondary {
    background: rgba(255, 255, 255, .10) !important;
    color: #fff !important;
    border: 1px solid rgba(255, 255, 255, .22) !important;
    backdrop-filter: blur(8px);
}

.video-content h2 {
    color: #fff;
}
.video-content p {
    color: #d2d2d2;
}

.rs-help-btn {
    width: 100%;
    backdrop-filter: blur(8px);
    color: rgb(255, 255, 255) !important;
    background: rgba(255, 255, 255, 0.1) !important;
    border-width: 1px !important;
    border-style: solid !important;
    border-color: rgba(255, 255, 255, 0.22) !important;
    border-image: initial !important;
    background-color: #2f4863;
    border: none;
    color: white;
    padding: 10px 20px;
    border-radius: 0.3rem;
    transition: background-color 0.3s, box-shadow 0.3s;
    box-shadow: inset 0px 0px 20px rgba(0, 0, 0, 0.4);
    cursor: pointer;
    width: 100%;
}

/* ---------- UX fixes: auth, footer, contrast ---------- */
html {
    min-height: 100%;
    min-height: 100vh;
}

.rs-contact__cta {
    background: var(--rs-accent) !important;
    border: 1px solid var(--rs-accent) !important;
    color: #ffffff !important;
    font-weight: 700;
}

.rs-contact__cta:hover,
.rs-contact__cta:focus-visible {
    background: #266968 !important;
    border-color: #266968 !important;
    color: #ffffff !important;
}

.custom-register-btn {
    width: 100%;
    min-height: 44px;
    border-radius: 12px;
    background: linear-gradient(135deg, #2e7b7a, #0b2236) !important;
    border: 1px solid rgba(11, 34, 54, 0.22) !important;
    color: #ffffff !important;
    font-weight: 700;
}

.custom-register-btn:hover,
.custom-register-btn:focus-visible {
    color: #ffffff !important;
    filter: brightness(1.05);
}

.google-btn-wrapper {
    width: 100%;
    margin-top: 8px;
}

.google-btn-wrapper .gsi-material-button {
    width: 100%;
    min-height: 44px;
    border-radius: 12px;
}

.google-btn-wrapper .gsi-material-button .gsi-material-button-content-wrapper {
    justify-content: center;
    gap: 12px;
}

/* Toast notifications */
.rs-toast-wrap {
    position: fixed;
    right: 16px;
    bottom: 16px;
    z-index: 11000;
    display: flex;
    flex-direction: column-reverse;
    gap: 8px;
    max-width: min(360px, calc(100vw - 24px));
    pointer-events: none;
}

.rs-toast {
    pointer-events: auto;
    opacity: 0;
    transform: translateY(8px);
    transition: opacity .2s ease, transform .2s ease;
    padding: 10px 12px;
    border-radius: 12px;
    color: #fff;
    background: #0b2236;
    border: 1px solid rgba(255, 255, 255, .12);
    box-shadow: 0 8px 28px rgba(11, 34, 54, .28);
    font-size: 13px;
    line-height: 1.35;
}

.rs-toast.is-in { opacity: 1; transform: translateY(0); }
.rs-toast--success { background: #0f6b42; }
.rs-toast--error { background: #9f1d2c; }
.rs-toast--info { background: #0b2236; }

/* Premium auth modal polish (desktop first, mobile friendly) */
.modal-dialog.auth-modal-dialog {
    width: min(560px, calc(100vw - 28px));
    max-width: 560px;
}

.modal-content.modal-auth {
    border: 1px solid rgba(11, 34, 54, .1);
    border-radius: 18px;
    box-shadow: 0 24px 70px rgba(11, 34, 54, .18);
    background: #ffffff;
    overflow: hidden;
}

.modal-auth .modal-header {
    padding: 18px 22px 12px;
    border-bottom: 1px solid rgba(11, 34, 54, .08);
}

.modal-auth .modal-title {
    font-size: clamp(22px, 2.2vw, 28px);
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #0b2236;
}

.modal-auth .modal-body {
    padding: 16px 22px 20px;
}

/* reCAPTCHA in auth modal – ensure widget is clickable (z-index, pointer-events) */
.modal-auth .form-group--recaptcha {
    overflow: visible;
}
.modal-auth .g-recaptcha,
.modal-auth .g-recaptcha > div,
.modal-auth .g-recaptcha iframe {
    position: relative !important;
    z-index: 2147483647 !important;
    pointer-events: auto !important;
}

/* reCAPTCHA v2 challenge popup (paveikslėliai) – virš modalo */
body > div:has(iframe[title*="recaptcha challenge"]) {
    z-index: 2147483647 !important;
}

@media (min-width: 992px) {
    .modal-content.modal-auth {
        padding: 4px;
    }
}

@media (max-width: 768px) {
    .modal-dialog.auth-modal-dialog {
        width: 100%;
        max-width: none;
        margin: 0;
    }
    .modal-content.modal-auth {
        height: 100%;
        border-radius: 0;
    }
}

/* Minimal home polish */
.rs-proof,
.rs-process {
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}

.rs-services,
.rs-faq {
    background: #ffffff;
}

/* Distinct section transitions (e.g., Testimonials -> FAQ) */
.rs-t {
    background: linear-gradient(180deg, #f6f9ff 0%, #ffffff 72%);
    border-top: 1px solid rgba(11, 34, 54, .06);
    border-bottom: 1px solid rgba(11, 34, 54, .06);
}

.rs-t + .rs-faq,
#testimonials + .rs-faq {
    background:
        radial-gradient(120% 65% at 50% -6%, rgba(46, 123, 122, .08) 0%, rgba(46, 123, 122, 0) 62%),
        #ffffff;
}

.rs-contact {
    border-top: 1px solid rgba(255, 255, 255, .12);
}

/* ===== Subscriptions FAQ ===== */
.rs-sub-faq {
    padding: 56px 16px 72px;
    max-width: 780px;
    margin: 0 auto;
}
.rs-sub-faq__title {
    font-size: clamp(1.25rem, 3vw, 1.6rem);
    font-weight: 700;
    color: var(--rs-text);
    margin-bottom: 32px;
    text-align: center;
    font-family: var(--rs-font-heading);
}
.rs-sub-faq__list {
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.rs-sub-faq__item {
    border-radius: var(--rs-radius-sm);
    overflow: hidden;
    border: 1px solid var(--rs-line);
    background: var(--rs-surface-solid);
    box-shadow: var(--rs-shadow-xs);
}
.rs-sub-faq__item + .rs-sub-faq__item {
    margin-top: 6px;
}
.rs-sub-faq__q {
    margin: 0;
}
.rs-sub-faq__btn {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 20px;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 15px;
    font-weight: 600;
    color: var(--rs-text);
    text-align: left;
    line-height: 1.4;
    transition: background 0.12s;
}
.rs-sub-faq__btn:hover {
    background: var(--rs-soft);
}
.rs-sub-faq__ico {
    fill: var(--rs-muted-soft);
    flex-shrink: 0;
    transition: transform 0.2s;
}
.rs-sub-faq__btn[aria-expanded="true"] .rs-sub-faq__ico {
    transform: rotate(180deg);
}
.rs-sub-faq__a {
    display: none;
    padding: 0 20px 16px;
    margin: 0;
    color: var(--rs-muted);
    font-size: 14px;
    line-height: 1.6;
}
.rs-sub-faq__a p { margin: 0 0 8px; }
.rs-sub-faq__a p:last-child { margin-bottom: 0; }
.rs-sub-faq__a a { color: var(--rs-link); text-decoration: underline; }
.rs-sub-faq__btn[aria-expanded="true"] + .rs-sub-faq__a,
.rs-sub-faq__item:has(.rs-sub-faq__btn[aria-expanded="true"]) .rs-sub-faq__a {
    display: block;
}

/* ===== Public page shell helpers ===== */
.rs-page-shell{
    padding: 36px 0 70px;
}
.rs-page-shell--tight{
    padding-top: 0;
}
.rs-success-page{
    max-width: 860px;
    margin: 0 auto;
}
.rs-success-page--compact{
    max-width: 620px;
}
.rs-success-card{
    border: 1px solid rgba(11, 34, 54, 0.1);
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(248, 250, 252, 0.96) 100%);
    box-shadow: 0 18px 46px rgba(7, 24, 39, 0.08);
    padding: clamp(22px, 4vw, 34px);
}
.rs-success-title{
    margin: 0 0 10px;
    font-size: clamp(1.9rem, 4vw, 2.45rem);
    line-height: 1.08;
    letter-spacing: -0.03em;
    color: var(--rs-ink-900, #0b2236);
}
.rs-success-lead{
    margin: 0;
    font-size: 1rem;
    line-height: 1.72;
    color: rgba(11, 34, 54, 0.78);
}
.rs-success-panel{
    margin-top: 18px;
    border: 1px solid rgba(11, 34, 54, 0.09);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.92);
    padding: 18px 20px;
}
.rs-success-panel__title{
    margin: 0 0 12px;
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--rs-ink-900, #0b2236);
}
.rs-success-details{
    display: grid;
    gap: 10px;
}
.rs-success-detail{
    font-size: 0.96rem;
    line-height: 1.55;
    color: rgba(11, 34, 54, 0.8);
}
.rs-success-detail strong{
    color: var(--rs-ink-900, #0b2236);
}
.rs-success-status{
    margin-top: 16px;
    font-size: 0.94rem;
    line-height: 1.6;
    color: rgba(11, 34, 54, 0.74);
}
.rs-success-actions{
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
}
.rs-success-actions .btn{
    text-decoration: none;
}
.rs-success-hint{
    margin: 16px 0 0;
    font-size: 0.875rem;
    line-height: 1.6;
    color: rgba(11, 34, 54, 0.62);
}
.rs-form-note{
    margin: 0 0 14px;
    font-size: 0.95rem;
    line-height: 1.6;
    color: rgba(11, 34, 54, 0.72);
}
.rs-form-error{
    margin-top: 8px;
    font-size: 0.87rem;
    line-height: 1.45;
    color: #b42318;
}
@media (max-width: 640px) {
    .rs-success-card{
        border-radius: 20px;
        padding: 20px 16px;
    }
    .rs-success-panel{
        padding: 16px;
    }
}
.rs-pricing--page {
    background: transparent;
}
.rs-pricing--page::before {
    display: none;
}
.rs-pricing__inner.rs-pricing__inner--plain {
    border: 0;
    background: transparent;
    box-shadow: none;
    padding: 0;
}
@media (max-width: 640px) {
    .rs-pricing__subtitle {
        padding-left: 16px;
        padding-right: 16px;
    }
}

/* ===== User account dropdown (header) ===== */
.rs26-user-wrap {
    position: relative;
}
.rs26-user-trigger {
    display: flex;
    align-items: center;
    gap: 10px;
    background: rgba(255,255,255,0.96);
    border: 1px solid rgba(11,34,54,.10);
    cursor: pointer;
    padding: 5px 10px 5px 5px;
    min-height: 48px;
    border-radius: 18px;
    transition: background 0.15s, border-color 0.15s;
    color: inherit;
    font: inherit;
    line-height: 1;
}
.rs26-user-trigger:hover,
.rs26-user-trigger:focus-visible {
    background: rgba(11,34,54,.02);
    border-color: rgba(11,34,54,.16);
    outline: none;
}
.rs26-avatar {
    width: 38px;
    height: 38px;
    border-radius: 14px;
    background:
        radial-gradient(circle at top left, rgba(255,255,255,.22), transparent 55%),
        linear-gradient(135deg, #10253a 0%, #1d4f6d 48%, #2e7b7a 100%);
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    flex-shrink: 0;
    user-select: none;
    border: 1px solid rgba(255,255,255,.14);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.12);
    transition: filter 0.15s ease;
}
.rs26-user-trigger:hover .rs26-avatar,
.rs26-user-trigger:focus-visible .rs26-avatar {
    filter: saturate(1.04);
}
.rs26-user-meta {
    display: grid;
    gap: 2px;
    min-width: 0;
    text-align: left;
}
.rs26-user-label {
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: rgba(11,34,54,.52);
}
.rs26-user-name {
    font-size: 14px;
    font-weight: 600;
    max-width: 160px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    line-height: 1.38;
    min-width: 0;
}
@media (max-width: 1100px) {
    .rs26-user-meta { display: none; }
}
.rs26-chevron {
    fill: currentColor;
    transition: transform 0.2s;
    flex-shrink: 0;
    color: rgba(11,34,54,.54);
}
.rs26-user-trigger[aria-expanded="true"] .rs26-chevron {
    transform: rotate(180deg);
}
.rs26-user-menu {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    min-width: 210px;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.10);
    border-radius: 12px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
    padding: 6px;
    z-index: 9999;
    animation: rs26MenuIn 0.15s ease;
}
@keyframes rs26MenuIn {
    from { opacity: 0; transform: translateY(-6px); }
    to   { opacity: 1; transform: translateY(0); }
}
.rs26-user-menu__item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 12px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 500;
    color: #1a1a1a;
    text-decoration: none;
    cursor: pointer;
    background: none;
    border: none;
    width: 100%;
    text-align: left;
    transition: background 0.12s;
    line-height: 1.3;
}
.rs26-user-menu__item:hover,
.rs26-user-menu__item:focus-visible {
    background: #f5f5f5;
    outline: none;
    color: #1a1a1a;
    text-decoration: none;
}
.rs26-user-menu__item .rs26-ico {
    fill: #6b7280;
    flex-shrink: 0;
}
.rs26-user-menu__item--danger {
    color: #dc2626;
}
.rs26-user-menu__item--danger .rs26-ico {
    fill: #dc2626;
}
.rs26-user-menu__item--danger:hover,
.rs26-user-menu__item--danger:focus-visible {
    background: #fef2f2;
    color: #dc2626;
}
.rs26-user-menu__sep {
    height: 1px;
    background: #e5e7eb;
    margin: 4px 6px;
}

/* ===== Booking: login gate ===== */
.booking-login-gate {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 48px 24px 40px;
    gap: 14px;
}
.booking-login-gate__icon {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: #eff6ff;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 4px;
}
.booking-login-gate__icon svg {
    fill: #2E7B7A;
}
.booking-login-gate__title {
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--rs-text);
    margin: 0;
}
.booking-login-gate__desc {
    color: var(--rs-muted);
    max-width: 420px;
    margin: 0;
    font-size: 0.93rem;
    line-height: 1.6;
}
.booking-login-gate__actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 6px;
}

/* ===== Booking: user info chip ===== */
.booking-user-chip {
    display: flex;
    align-items: center;
    gap: 10px;
    background: rgba(46, 123, 122, 0.07);
    border: 1px solid rgba(46, 123, 122, 0.18);
    border-radius: var(--rs-radius-xs);
    padding: 11px 14px;
    margin-bottom: 16px;
}
.booking-user-chip__icon {
    fill: var(--rs-accent);
    flex-shrink: 0;
}
.booking-user-chip__info {
    flex: 1;
    min-width: 0;
}
.booking-user-chip__name {
    font-weight: 600;
    font-size: 14px;
    color: var(--rs-text);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.booking-user-chip__email {
    font-size: 12px;
    color: var(--rs-muted);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.booking-user-chip__link {
    font-size: 12px;
    color: var(--rs-link);
    white-space: nowrap;
    text-decoration: none;
    flex-shrink: 0;
    font-weight: 500;
}
.booking-user-chip__link:hover {
    text-decoration: underline;
}

/* ================================================================
   Cookie Consent Banner (#rs-cookie-banner)
   ================================================================ */
#rs-cookie-banner {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 9999;
    background: #fff;
    border-top: 1px solid #e5e7eb;
    box-shadow: 0 -4px 24px rgba(0,0,0,.10);
    transform: translateY(100%);
    transition: transform .35s cubic-bezier(.4,0,.2,1);
    will-change: transform;
}
#rs-cookie-banner.rs-cb--visible {
    transform: translateY(0);
}
#rs-cookie-banner.rs-cb--hide {
    transform: translateY(100%);
}

.rs-cb__inner {
    max-width: 1100px;
    margin: 0 auto;
    padding: 16px 20px;
}

.rs-cb__text {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 14px;
    font-size: 13px;
    color: #374151;
    line-height: 1.5;
}
.rs-cb__text strong {
    font-size: 14px;
    font-weight: 700;
    color: #111827;
}
.rs-cb__link {
    color: #2E7B7A;
    text-decoration: none;
}
.rs-cb__link:hover { text-decoration: underline; }

/* Preference toggles */
.rs-cb__prefs {
    border: 1px solid #f0f0f0;
    border-radius: 10px;
    padding: 12px 14px;
    margin-bottom: 14px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    background: #f9fafb;
}
.rs-cb__toggle-row {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    cursor: pointer;
}
.rs-cb__toggle-label {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 2px;
    font-size: 13px;
    color: #374151;
}
.rs-cb__toggle-label strong { color: #111827; }
.rs-cb__toggle-label span { color: #6b7280; font-size: 12px; }

.rs-cb__toggle-wrap {
    position: relative;
    flex-shrink: 0;
    margin-top: 2px;
}
.rs-cb__chk {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}
.rs-cb__track {
    display: block;
    width: 40px;
    height: 22px;
    background: #d1d5db;
    border-radius: 11px;
    cursor: pointer;
    transition: background .2s;
    position: relative;
}
.rs-cb__track::after {
    content: '';
    position: absolute;
    top: 3px; left: 3px;
    width: 16px; height: 16px;
    background: #fff;
    border-radius: 50%;
    transition: transform .2s;
    box-shadow: 0 1px 3px rgba(0,0,0,.2);
}
.rs-cb__chk:checked + .rs-cb__track { background: #22c55e; }
.rs-cb__chk:checked + .rs-cb__track::after { transform: translateX(18px); }
.rs-cb__chk:focus-visible + .rs-cb__track { outline: 2px solid #2E7B7A; outline-offset: 2px; }

/* Buttons */
.rs-cb__actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    align-items: center;
}
.rs-cb__save-row {
    margin-top: 10px;
}
.rs-cb__btn {
    padding: 9px 18px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    border: 1px solid transparent;
    transition: background .15s, color .15s, border-color .15s;
    white-space: nowrap;
}
.rs-cb__btn--primary {
    background: #2E7B7A;
    color: #fff;
}
.rs-cb__btn--primary:hover { background: #1d4ed8; }
.rs-cb__btn--ghost {
    background: transparent;
    color: #374151;
    border-color: #d1d5db;
}
.rs-cb__btn--ghost:hover { background: #f5f5f5; }
.rs-cb__btn--secondary {
    background: transparent;
    color: #6b7280;
    border-color: transparent;
    font-weight: 500;
}
.rs-cb__btn--secondary:hover { color: #111827; }

@media (min-width: 640px) {
    .rs-cb__inner {
        display: grid;
        grid-template-columns: 1fr auto;
        gap: 16px 24px;
        align-items: start;
    }
    .rs-cb__text { margin-bottom: 0; }
    .rs-cb__actions { justify-content: flex-end; }
    .rs-cb__prefs { grid-column: 1 / -1; }
    .rs-cb__save-row { grid-column: 1 / -1; }
}

@media (max-width: 639px) {
    .rs-cb__actions { flex-direction: column; }
    .rs-cb__btn { width: 100%; text-align: center; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   CONTEST / GIVEAWAY SECTION
   ═══════════════════════════════════════════════════════════════════════════ */
.rs-contest {
    padding: 48px 0;
    background: linear-gradient(135deg, #f0faf9 0%, #e8f4f4 50%, #f5f0ff 100%);
}
.rs-contest__inner {
    max-width: 680px;
    margin: 0 auto;
}
.rs-contest__card {
    background: #fff;
    border-radius: 20px;
    padding: 40px 36px;
    box-shadow: 0 8px 32px rgba(46, 123, 122, .1);
    text-align: center;
    position: relative;
    overflow: hidden;
}
.rs-contest__card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 4px;
    background: linear-gradient(90deg, #2E7B7A, #4db5b4, #2E7B7A);
}
.rs-contest__badge {
    display: inline-block;
    padding: 4px 14px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #2E7B7A;
    background: rgba(46, 123, 122, .1);
    border-radius: 100px;
    margin-bottom: 16px;
}
.rs-contest__icon {
    margin: 0 auto 16px;
}
.rs-contest__title {
    font-size: 26px;
    font-weight: 800;
    color: #1a2332;
    margin: 0 0 10px;
    line-height: 1.2;
}
.rs-contest__desc {
    font-size: 15px;
    color: #5a6b7b;
    margin: 0 0 20px;
    line-height: 1.6;
}
.rs-contest__prize {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 20px;
    background: #f0faf9;
    border-radius: 12px;
    font-size: 14px;
    margin-bottom: 20px;
}
.rs-contest__prize-label {
    font-weight: 600;
    color: #2E7B7A;
}
.rs-contest__prize-value {
    color: #1a2332;
    font-weight: 500;
}
.rs-contest__meta {
    display: flex;
    justify-content: center;
    gap: 24px;
    margin-bottom: 16px;
    flex-wrap: wrap;
}
.rs-contest__timer {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    color: #5a6b7b;
}
.rs-contest__timer-label {
    font-weight: 600;
}
.rs-contest__timer-value {
    font-variant-numeric: tabular-nums;
    font-weight: 700;
    color: #1a2332;
}
.rs-contest__count {
    font-size: 14px;
    color: #5a6b7b;
}
.rs-contest__count span {
    font-weight: 700;
    color: #1a2332;
}
.rs-contest__note {
    font-size: 13px;
    color: #8fa3b1;
    margin-bottom: 24px;
}
.rs-contest__action {
    display: flex;
    justify-content: center;
}
.rs-contest__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 40px;
    font-size: 16px;
    font-weight: 700;
    color: #fff;
    background: linear-gradient(135deg, #2E7B7A, #3a9a99);
    border: none;
    border-radius: 12px;
    cursor: pointer;
    transition: transform .15s, box-shadow .15s, opacity .15s;
    box-shadow: 0 4px 16px rgba(46, 123, 122, .25);
}
.rs-contest__btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 24px rgba(46, 123, 122, .35);
}
.rs-contest__btn:active {
    transform: translateY(0);
}
.rs-contest__btn:disabled {
    opacity: .6;
    cursor: wait;
}
.rs-contest__btn--outline {
    background: transparent;
    color: #2E7B7A;
    border: 2px solid #2E7B7A;
    box-shadow: none;
    text-decoration: none;
}
.rs-contest__btn--outline:hover {
    background: rgba(46, 123, 122, .06);
    box-shadow: none;
}
.rs-contest__joined {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 24px;
    background: #f0faf9;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 600;
    color: #2E7B7A;
}
.rs-contest__sub-msg {
    font-size: 14px;
    color: #5a6b7b;
    margin: 0 0 12px;
}

@media (max-width: 639px) {
    .rs-contest { padding: 32px 0; }
    .rs-contest__card { padding: 28px 20px; border-radius: 16px; }
    .rs-contest__title { font-size: 22px; }
    .rs-contest__desc { font-size: 14px; }
    .rs-contest__meta { flex-direction: column; gap: 8px; }
    .rs-contest__btn { width: 100%; padding: 14px 24px; }
}

/* ── Mobile: full-width hero sections — remove rounded corners ──────────────
   On small phones the hero/card sections span the full viewport width.
   Rounded corners + side borders look odd on edge-to-edge sections.        */
@media (max-width: 480px) {
    .about-hero,
    .security-hero,
    .recovery-hero,
    .consult-hero {
        border-radius: 0 !important;
        border-left: none !important;
        border-right: none !important;
        box-shadow: none !important;
        margin-left: -15px;
        margin-right: -15px;
        width: calc(100% + 30px);
    }
    /* Remove top gap before first full-width hero */
    .about,
    .security,
    .recovery,
    .consult {
        padding-top: 0;
    }
}