/* Shrey academic theme: palette and typography only. */
:root {
    --base-bodyfont: "Source Sans 3", sans-serif;
    --base-headingfont-main: "Lexend", sans-serif;
    --base-headingfont: "Lexend", sans-serif;
    --base-bodyfont-color: #566687;
    --base-headingfont-color: #0E1D3E;
    --base-skin: #144CC6;
    --base-dark: #0C1835;
    --base-grey: #f7f4ee;
    --base-white: #ffffff;
    --shrey-red: #144CC6;
    --shrey-red-dark: #1040A6;
    --shrey-ink: #0E1D3E;
    --shrey-navy: #0C1835;
    --shrey-muted: #566687;
    --shrey-line: #dce5e7;
    --shrey-soft: #f7f4ee;
    --shrey-copy: #566687;
}

/* Study destinations: image-led country guides. */
#study-destinations.home01-immigration-and-services-section {
    padding: 56px 0 60px !important;
    border-top: 1px solid #DCE0E9;
    background: #F1F4FA !important;
}

#study-destinations > .container {
    width: min(1320px, calc(100% - 64px));
    max-width: 1320px;
    padding: 0;
}

#study-destinations .shrey-destination-head {
    display: grid;
    grid-template-columns: 1fr;
    gap: 48px;
    align-items: end;
    margin-bottom: 24px;
    padding-bottom: 20px;
    border-bottom: 1px solid #CBD1DD;
}

#study-destinations .shrey-destination-kicker {
    display: flex;
    gap: 12px;
    align-items: center;
    margin: 0 0 15px;
    color: #134AC2;
    font-family: "Lexend", sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .15em;
    line-height: 1;
    text-transform: uppercase;
}

#study-destinations .shrey-destination-kicker:before {
    content: "";
    width: 32px;
    height: 1px;
    background: currentColor;
}

#study-destinations .shrey-destination-head h2 {
    max-width: 820px;
    margin: 0;
    color: #0D1935;
    font-family: "Lexend", sans-serif;
    font-size: clamp(36px, 3.4vw, 52px);
    font-weight: 700;
    letter-spacing: -.045em;
    line-height: 1.04;
}

#study-destinations .shrey-destination-head h2 span { color: #1550D0; }

#study-destinations .shrey-destination-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin: 0;
}

#study-destinations .shrey-destination-grid > :nth-child(5) .featured-title h3 a:before {
    background-image: url('../flags/4x3/cy.svg');
}

#study-destinations .shrey-destination-grid > :nth-child(6) .featured-title h3 a:before {
    background-image: url('../flags/4x3/mt.svg');
}

#study-destinations .shrey-destination-grid > [class*="col-"] {
    width: auto;
    max-width: none;
    padding: 0;
}

#study-destinations .featured-imagebox-portfolio.style1 {
    position: relative;
    height: 220px !important;
    margin: 0;
    overflow: hidden;
    border: 1px solid rgba(13, 25, 53, .12);
    border-radius: 16px;
    background: #0D1935;
    box-shadow: 0 12px 28px rgba(13, 25, 53, .12);
    transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}

#study-destinations .featured-imagebox-wrapper {
    position: relative;
    display: block;
    height: 100%;
}

#study-destinations .featured-thumbnail {
    position: absolute;
    inset: 0;
    display: block !important;
    width: 100%;
    height: 100% !important;
    overflow: hidden;
    opacity: 1 !important;
    visibility: visible !important;
}

#study-destinations .featured-thumbnail:after {
    z-index: 1;
    opacity: 1;
    background: linear-gradient(180deg, rgba(7, 13, 28, .02) 26%, rgba(7, 13, 28, .88) 100%);
}

#study-destinations .featured-thumbnail img {
    display: block !important;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 1 !important;
    visibility: visible !important;
    filter: saturate(.92) contrast(.98);
    transform: none !important;
    transition: transform .35s ease, filter .35s ease;
}

#study-destinations .featured-content {
    position: absolute !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 0;
    padding: 22px !important;
    background: transparent !important;
    transform: none !important;
}

#study-destinations .featured-content:after {
    width: 38px;
    height: 38px;
    flex-basis: 38px;
    pointer-events: none;
    border: 1px solid rgba(255, 255, 255, .34);
    color: #fff;
    background: rgba(255, 255, 255, .12);
    backdrop-filter: blur(8px);
}

#study-destinations .featured-title h3 a {
    position: static;
    color: #fff !important;
    font-size: 17px;
    font-weight: 700;
}

#study-destinations .featured-title h3 a:after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
}

#study-destinations .featured-title h3:after {
    content: "View country guide";
    margin-top: 5px;
    color: rgba(255, 255, 255, .72);
    font-size: 11px;
    letter-spacing: 0;
}

#study-destinations .featured-title h3 a:before {
    width: 22px;
    height: 15px;
    margin-right: 8px;
    border: 1px solid rgba(255, 255, 255, .28);
    box-shadow: 0 3px 8px rgba(0, 0, 0, .16);
}

#study-destinations .featured-imagebox-portfolio.style1:hover {
    border-color: rgba(21, 80, 208, .7);
    transform: translateY(-4px);
    box-shadow: 0 18px 38px rgba(13, 25, 53, .18);
}

#study-destinations .featured-imagebox:hover img {
    filter: saturate(1) contrast(1);
    transform: scale(1.045) !important;
}

#study-destinations .featured-imagebox:hover .featured-content:after {
    border-color: #134AC1;
    background: #134AC1;
}

#study-destinations .featured-imagebox-portfolio:has(a:focus-visible) {
    outline: 3px solid rgba(21, 80, 208, .32);
    outline-offset: 3px;
}

#study-destinations .featured-title h3 a:focus-visible { outline: 0; }

@media (max-width: 991px) {
    #study-destinations .shrey-destination-head {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    #study-destinations .shrey-destination-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 575px) {
    #study-destinations.home01-immigration-and-services-section { padding: 36px 0 40px !important; }
    #study-destinations > .container { width: calc(100% - 28px); }

    #study-destinations .shrey-destination-head {
        margin-bottom: 16px;
        padding-bottom: 14px;
    }

    #study-destinations .shrey-destination-kicker { margin-bottom: 12px; font-size: 9px; }
    #study-destinations .shrey-destination-head h2 { font-size: 31px; line-height: 1.02; }
    #study-destinations .shrey-destination-grid { grid-template-columns: 1fr; gap: 10px; }
    #study-destinations .featured-imagebox-portfolio.style1 { height: 196px !important; border-radius: 14px; }
    #study-destinations .featured-content { padding: 16px !important; }
    #study-destinations .featured-content:after { width: 36px; height: 36px; flex-basis: 36px; }
}

@media (prefers-reduced-motion: reduce) {
    #study-destinations .featured-imagebox-portfolio.style1,
    #study-destinations .featured-thumbnail img { transition: none; }

    #study-destinations .featured-imagebox-portfolio.style1:hover,
    #study-destinations .featured-imagebox:hover img { transform: none; }
}

/* Visa services: quiet editorial cards with task-specific photography. */
.shrey-visa-services {
    padding: 48px 0 56px;
    background: #0A1329;
}
.shrey-visa-services::before { display: none; }
.shrey-visa-heading {
    display: block;
    margin-bottom: 20px;
    padding: 0;
    border: 0;
}
.shrey-visa-heading .shrey-section-kicker { margin-bottom: 0; }
.shrey-visa-heading h2 {
    max-width: 1180px;
    margin: 10px 0 0;
    color: #F6F8FC;
    font-size: clamp(40px, 3.5vw, 54px);
    line-height: 1.08;
    letter-spacing: -.035em;
}
.shrey-visa-card-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}
.shrey-visa-card {
    min-height: 400px;
    overflow: hidden;
    border: 1px solid rgba(161, 188, 246, .13);
    border-radius: 18px;
    background: #0E1B3A;
    box-shadow: 0 18px 42px rgba(3, 7, 15, .2);
    transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease;
}
.shrey-visa-card > a {
    position: relative;
    inset: auto;
    display: flex;
    min-height: 100%;
    flex-direction: column;
    color: inherit;
}
.shrey-visa-card img {
    position: static;
    width: 100%;
    height: 190px;
    flex: 0 0 190px;
    object-fit: cover;
    filter: saturate(.86) contrast(1.02);
    transition: transform .45s ease;
}
.shrey-visa-card-content {
    position: static;
    display: flex;
    min-height: 210px;
    flex: 1;
    flex-direction: column;
    padding: 22px 22px 20px;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
.shrey-visa-type {
    margin-bottom: 9px;
    color: #8AABF3;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .13em;
    text-transform: uppercase;
}
.shrey-visa-card h3 {
    margin: 0 0 10px;
    color: #ffffff;
    font-size: 23px;
    line-height: 1.18;
    letter-spacing: -.02em;
}
.shrey-visa-card p {
    margin: 0;
    padding: 0;
    color: rgba(230, 237, 252, .68);
    font-size: 13px;
    line-height: 1.6;
}
.shrey-visa-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: auto;
    padding-top: 17px;
    border-top: 1px solid rgba(161, 188, 246, .12);
    color: #ffffff;
    font-size: 12px;
    font-weight: 700;
}
.shrey-visa-link i {
    color: #8AABF3;
    transition: transform .25s ease;
}
.shrey-visa-card:hover,
.shrey-visa-card:focus-within {
    border-color: rgba(138, 171, 243, .5);
    box-shadow: 0 22px 48px rgba(3, 7, 15, .3);
    transform: translateY(-4px);
}
.shrey-visa-card:hover img { transform: scale(1.025); }
.shrey-visa-card:hover .shrey-visa-link i { transform: translateX(3px); }
.shrey-visa-card > a:focus-visible {
    outline: 3px solid #8AABF3;
    outline-offset: -3px;
}

@media (max-width: 991px) {
    .shrey-visa-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 575px) {
    .shrey-visa-services { padding: 40px 0 44px; }
    .shrey-visa-heading { margin-bottom: 20px; }
    .shrey-visa-heading h2 { font-size: 34px; }
    .shrey-visa-card-grid { grid-template-columns: 1fr; }
    .shrey-visa-card { min-height: 0; }
    .shrey-visa-card img { height: 190px; flex-basis: 190px; }
    .shrey-visa-card-content { min-height: 195px; }
}

/* Editorial homepage hero: local photography, restrained motion, clear controls. */
.shrey-premium-hero,
.shrey-hero-track,
.shrey-hero-slide {
    min-height: 560px;
}
.shrey-premium-hero { background: #091125; }
.shrey-premium-hero::before { display: none; }
.shrey-hero-slide {
    background-position: 50% center;
    transition: opacity .7s cubic-bezier(.22, 1, .36, 1), visibility .7s;
}
.shrey-hero-slide--one { background-image: url('../images/hero-counselling-v2.png'); }
.shrey-hero-slide--two { background-image: url('../images/hero-course-selection-v2.png'); }
.shrey-hero-slide--three { background-image: url('../images/hero-application-review-v2.png'); }
.shrey-hero-slide::before {
    background: linear-gradient(90deg, rgba(7, 14, 31, .96) 0%, rgba(9, 17, 36, .88) 31%, rgba(9, 17, 36, .46) 52%, rgba(9, 17, 36, .08) 78%);
}
.shrey-hero-slide::after {
    background: linear-gradient(180deg, rgba(5, 10, 21, .08) 45%, rgba(5, 10, 21, .66) 100%);
}
.shrey-hero-slide.is-active { animation: shreyHeroCamera 6.6s ease-out both; }
@keyframes shreyHeroCamera {
    from { background-position: 51% center; }
    to { background-position: 50% center; }
}
.shrey-hero-content {
    max-width: 570px;
    padding: 54px 0 74px;
}
.shrey-hero-slide .shrey-hero-content > * { transform: translateY(12px); }
.shrey-hero-slide.is-active .shrey-hero-content > * {
    transition: opacity .5s cubic-bezier(.22, 1, .36, 1), transform .5s cubic-bezier(.22, 1, .36, 1);
}
.shrey-hero-slide.is-active .shrey-hero-content > *:nth-child(2) { transition-delay: .06s; }
.shrey-hero-slide.is-active .shrey-hero-content > *:nth-child(3) { transition-delay: .12s; }
.shrey-hero-slide.is-active .shrey-hero-content > *:nth-child(4) { transition-delay: .18s; }
.shrey-hero-slide.is-active .shrey-hero-content > *:nth-child(5) { transition-delay: .24s; }
.shrey-premium-hero .shrey-hero-kicker {
    gap: 10px;
    margin-bottom: 18px;
    color: #93B2F4 !important;
    font-size: 11px;
    letter-spacing: .1em;
}
.shrey-premium-hero .shrey-hero-kicker::before {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #759CF1 !important;
}
.shrey-premium-hero .shrey-hero-heading {
    max-width: 560px;
    margin-bottom: 18px;
    color: #fff !important;
    font-size: clamp(40px, 3.35vw, 52px);
    font-weight: 700;
    line-height: 1.06;
    letter-spacing: -.04em;
    text-wrap: balance;
}
.shrey-premium-hero .shrey-hero-heading span { color: #B2C8F7 !important; }
.shrey-premium-hero p {
    max-width: 530px;
    margin-bottom: 24px;
    color: rgba(255, 255, 255, .78);
    font-size: 16px;
    line-height: 1.65;
}
.shrey-hero-actions { gap: 12px; }
.shrey-hero-primary,
.shrey-hero-secondary {
    min-height: 52px;
    padding: 0 24px;
    border-radius: 11px;
    transition: background-color .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.shrey-hero-primary {
    color: #fff;
    background: #1552D6;
    box-shadow: 0 12px 28px rgba(7, 14, 31, .24);
}
.shrey-hero-primary:hover,
.shrey-hero-primary:focus-visible {
    color: #fff;
    background: #1348BB;
    box-shadow: 0 14px 32px rgba(7, 14, 31, .32);
    transform: translateY(-2px);
}
.shrey-hero-secondary {
    color: #fff;
    padding-right: 8px;
    padding-left: 8px;
    border-color: transparent;
    background: transparent;
    backdrop-filter: none;
}
.shrey-hero-secondary:hover,
.shrey-hero-secondary:focus-visible {
    color: #fff;
    border-color: transparent;
    background: transparent;
    transform: translateX(3px);
}
.shrey-hero-primary:focus-visible,
.shrey-hero-secondary:focus-visible,
.shrey-hero-dots button:focus-visible {
    outline: 3px solid #fff;
    outline-offset: 3px;
}
.shrey-hero-controls {
    position: absolute;
    z-index: 5;
    right: auto;
    bottom: 22px;
    left: 50%;
    display: flex;
    align-items: center;
    padding: 4px 8px;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 999px;
    background: rgba(8, 15, 33, .66);
    box-shadow: 0 12px 28px rgba(5, 10, 21, .22);
    backdrop-filter: blur(10px);
    transform: translateX(-50%);
}
.shrey-hero-dots {
    position: static;
    display: flex;
    gap: 0;
    transform: none;
}
.shrey-hero-dots button {
    position: relative;
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    min-width: 44px;
    padding: 0;
    overflow: hidden;
    border: 0;
    border-radius: 50%;
    background: transparent;
    transition: background-color .18s ease;
}
.shrey-hero-dots button span {
    position: static;
    display: block;
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .38);
    transform: none;
    transition: width .22s ease, background-color .22s ease;
}
.shrey-hero-dots button.is-active {
    background: rgba(117, 156, 241, .08);
}
.shrey-hero-dots button.is-active span {
    width: 24px;
    background: #90B0F4;
    transform: scaleX(.18);
    transform-origin: left;
    animation: shreyHeroLoad 6.5s linear forwards;
}
.shrey-premium-hero.is-paused .shrey-hero-dots button.is-active span { animation-play-state: paused; }
@keyframes shreyHeroLoad { to { transform: scaleX(1); } }

@media (max-width: 991px) {
    .shrey-premium-hero,
    .shrey-hero-track,
    .shrey-hero-slide { min-height: 540px; }
    .shrey-hero-slide { background-position: 65% center; }
    .shrey-hero-slide.is-active { animation-name: shreyHeroCameraTablet; }
    @keyframes shreyHeroCameraTablet {
        from { background-position: 66% center; }
        to { background-position: 65% center; }
    }
    .shrey-hero-slide::before { background: linear-gradient(90deg, rgba(7, 14, 31, .98) 0%, rgba(9, 17, 36, .92) 48%, rgba(9, 17, 36, .48) 76%, rgba(9, 17, 36, .24) 100%); }
    .shrey-hero-content { max-width: 540px; padding: 48px 0 68px; }
    .shrey-premium-hero .shrey-hero-heading { font-size: clamp(38px, 6vw, 48px); }
    .shrey-hero-controls { right: auto; }
}

@media (max-width: 575px) {
    .shrey-premium-hero,
    .shrey-hero-track,
    .shrey-hero-slide { min-height: 340px; }
    .shrey-premium-hero .container { width: calc(100% - 32px); padding: 0; }
    .shrey-hero-slide { align-items: flex-start; background-position: 62% center; }
    .shrey-hero-slide.is-active { animation-name: shreyHeroCameraMobile; }
    @keyframes shreyHeroCameraMobile {
        from { background-position: 63% center; }
        to { background-position: 62% center; }
    }
    .shrey-hero-slide::before {
        background:
            linear-gradient(90deg, rgba(6, 12, 26, .97) 0%, rgba(6, 13, 28, .9) 58%, rgba(6, 12, 26, .42) 100%),
            linear-gradient(180deg, rgba(6, 12, 26, .22) 0%, rgba(6, 13, 28, .5) 64%, rgba(6, 12, 26, .94) 100%),
            radial-gradient(circle at 78% 24%, rgba(122, 160, 242, .16), transparent 40%);
    }
    .shrey-hero-slide::after { background: linear-gradient(90deg, rgba(6, 12, 26, .26), transparent 46%, rgba(6, 12, 26, .12)); }
    .shrey-hero-content { max-width: 100%; margin: 0; padding: 22px 0 46px; text-align: left; }
    .shrey-premium-hero .shrey-hero-kicker { margin-bottom: 15px; font-size: 10px; letter-spacing: .11em; }
    .shrey-premium-hero .shrey-hero-heading {
        max-width: 100%;
        margin-bottom: 12px;
        font-size: clamp(28px, 8vw, 32px);
        line-height: 1.06;
        margin-right: 0;
        margin-left: 0;
        text-shadow: 0 4px 24px rgba(0, 0, 0, .28);
    }
    .shrey-premium-hero .shrey-hero-heading span { display: block; }
    .shrey-premium-hero p { max-width: 100%; margin-right: 0; margin-bottom: 14px; margin-left: 0; color: rgba(255, 255, 255, .84); font-size: 13px; line-height: 1.55; }
    .shrey-hero-actions { display: flex; width: 100%; flex-direction: column; align-items: stretch; gap: 2px; max-width: 100%; margin: 0; }
    .shrey-hero-primary {
        justify-content: space-between;
        width: min(100%, 272px);
        min-height: 44px;
        padding: 4px 6px 4px 16px;
        border: 1px solid rgba(255, 255, 255, .14);
        border-radius: 999px;
        font-size: 12px;
        box-shadow: 0 10px 24px rgba(5, 10, 21, .24);
    }
    .shrey-hero-primary::after {
        content: "\2192";
        display: grid;
        place-items: center;
        width: 30px;
        height: 30px;
        flex: 0 0 30px;
        border-radius: 50%;
        color: #101F43;
        font-size: 16px;
        background: #fff;
    }
    .shrey-hero-primary:hover,
    .shrey-hero-primary:focus-visible { transform: none; }
    .shrey-hero-primary:active { opacity: .9; }
    .shrey-hero-secondary { justify-content: flex-start; width: auto; min-height: 40px; margin-left: 0; padding: 0 16px; }
    .shrey-hero-controls {
        right: auto;
        bottom: 0;
        left: 50%;
        padding: 0;
        border: 0;
        background: transparent;
        box-shadow: none;
        backdrop-filter: none;
        transform: translateX(-50%);
    }
    .shrey-hero-dots { gap: 2px; }
    .shrey-hero-dots button {
        width: 44px;
        min-width: 44px;
        height: 44px;
        border: 0 !important;
        border-radius: 999px;
        background: transparent;
    }
    .shrey-hero-dots button:focus-visible { outline: 0; }
    .shrey-hero-dots button:focus-visible span { box-shadow: 0 0 0 3px rgba(255, 255, 255, .72); }
    .shrey-hero-dots button span { width: 32px; height: 2px; background: rgba(255, 255, 255, .32); }
    .shrey-hero-dots button.is-active { background: transparent; }
    .shrey-hero-dots button.is-active span { width: 32px; }
}

@media (prefers-reduced-motion: reduce) {
    .shrey-hero-slide.is-active { animation: none; }
    .shrey-hero-slide .shrey-hero-content > *,
    .shrey-hero-slide.is-active .shrey-hero-content > * { transition: none; transform: none; }
    .shrey-hero-dots button.is-active span { animation: none; transform: scaleX(1); }
}

/* About: real office photography and a quiet editorial layout. */
.home01-welcome-section {
    padding: 64px 0 !important;
    overflow: hidden;
    border-bottom: 1px solid #dce5e7;
    background: #f7f4ee !important;
}
.home01-welcome-section > .container > .row { align-items: center; }
.home01-welcome-section .col-xl-6:first-child { padding-right: 52px; }
.shrey-about-photo {
    position: relative;
    width: 100%;
    aspect-ratio: 5 / 6;
    max-height: 520px;
    margin: 0;
    overflow: hidden;
    border: 1px solid rgba(12, 24, 53, .12);
    border-radius: 18px;
    background: #e9eceb;
    box-shadow: 0 22px 52px rgba(12, 24, 53, .12);
}
.shrey-about-photo img {
    width: 100%;
    height: 100%;
    min-height: 0 !important;
    border-radius: 0 !important;
    object-fit: cover;
    object-position: 50% 58%;
}
.home01-welcome-section .mt-30 {
    margin-top: 0 !important;
    padding-left: 20px;
}
.home01-welcome-section .section-title { margin-bottom: 0; }
.home01-welcome-section .section-title .title-header h3 {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 18px;
    color: #144CC6;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .17em;
    text-transform: uppercase;
}
.home01-welcome-section .section-title .title-header h3::before {
    content: "";
    width: 28px;
    height: 1px;
    flex: 0 0 28px;
    background: #5686EE;
}
.home01-welcome-section .section-title .title-header h2 {
    max-width: 570px;
    margin-bottom: 20px;
    color: #0C1835;
    font-size: clamp(39px, 3.5vw, 48px);
    font-weight: 700;
    line-height: 1.08;
    letter-spacing: -.04em;
    text-wrap: balance;
}
.home01-welcome-section .section-title .title-desc p {
    max-width: 570px;
    margin: 0;
    color: #4D5B78;
    font-size: 17px;
    line-height: 1.7;
}
.shrey-welcome-actions { display: block; }
.shrey-about-cta {
    display: flex;
    align-items: center;
    margin-top: 32px;
}
.shrey-about-primary {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 26px;
    min-height: 50px;
    padding: 0 19px 0 21px;
    border: 1px solid #144CC6;
    border-radius: 10px;
    color: #fff;
    font-size: 14px;
    font-weight: 650;
    background: #144CC6;
    transition: background-color .2s ease, transform .2s ease;
}
.shrey-about-primary:hover,
.shrey-about-primary:focus-visible { color: #fff; background: #1040A6; transform: translateY(-2px); }
.shrey-about-primary span { font-size: 18px; font-weight: 400; }
@media (max-width: 1199px) {
    .home01-welcome-section { padding: 56px 0 !important; }
    .home01-welcome-section .col-xl-6:first-child { margin-bottom: 32px; padding-right: 12px; }
    .shrey-about-photo { aspect-ratio: 16 / 9; max-height: 520px; }
    .shrey-about-photo img { object-position: 50% 48%; }
    .home01-welcome-section .mt-30 { padding-left: 0; }
}

@media (max-width: 575px) {
    .home01-welcome-section { padding: 40px 0 44px !important; }
    .home01-welcome-section .col-xl-6:first-child { margin-bottom: 24px; }
    .shrey-about-photo { aspect-ratio: 4 / 3; border-radius: 13px; box-shadow: 0 14px 32px rgba(12, 24, 53, .1); }
    .shrey-about-photo img { object-position: 50% 50%; }
    .home01-welcome-section .section-title .title-header h3 { gap: 10px; margin-bottom: 13px; font-size: 9px; letter-spacing: .13em; }
    .home01-welcome-section .section-title .title-header h3::before { width: 20px; flex-basis: 20px; }
    .home01-welcome-section .section-title .title-header h2 { margin-bottom: 15px; font-size: 34px; line-height: 1.06; }
    .home01-welcome-section .section-title .title-desc p { font-size: 15px; line-height: 1.65; }
    .shrey-about-cta { align-items: stretch; flex-direction: column; margin-top: 26px; }
    .shrey-about-primary { width: 100%; }
}

body {
    color: var(--shrey-ink);
    background: var(--shrey-soft);
    font-family: var(--base-bodyfont);
    font-size: 16px;
    line-height: 1.6;
}

h1, h2, h3, h4, h5, h6,
.title, .prt-btn, button,
.main-menu a, .header_btn a {
    font-family: var(--base-headingfont);
}

h1, h2, h3, h4, h5, h6,
.title {
    color: var(--shrey-ink);
    letter-spacing: -.025em;
}

.bg-base-dark,
.top_bar,
.site-header-menu,
.footer,
.bottom-footer-text {
    background-color: var(--shrey-navy);
}

.bg-base-grey { background-color: var(--shrey-soft); }
.bg-base-skin { background-color: var(--base-skin); }
.text-base-skin { color: var(--base-skin); }

.prt-btn.prt-btn-color-skincolor,
.header_btn .prt-btn,
button,
input[type="submit"] {
    background-color: var(--base-skin);
    border-color: var(--base-skin);
}

.prt-btn.prt-btn-color-skincolor:hover,
.header_btn .prt-btn:hover,
button:hover,
input[type="submit"]:hover {
    background-color: var(--shrey-red-dark);
    border-color: var(--shrey-red-dark);
}

a:hover { color: var(--base-skin); }

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: 3px solid #779EF2;
    outline-offset: 3px;
}

::selection {
    color: #ffffff;
    background: var(--base-skin);
}

@media (max-width: 767px) {
    body { font-size: 16px; }
    h1, .title-header h1 { line-height: 1.08; }
}

/* Premium header: stable spacing, clear states and equal-height actions. */
.prt-header-style-01 .site-header-menu .site-header-menu-inner {
    padding-inline: clamp(24px, 3vw, 56px);
    border-bottom: 1px solid rgba(119, 158, 242, .18);
    background: var(--shrey-navy);
}

.prt-header-style-01 .site-navigation {
    min-height: 104px;
    min-width: 0;
}

.prt-header-style-01 .header_extra {
    gap: 12px;
    padding-left: 24px;
}

.header_extra > div { margin-left: 0; padding-left: 0; }

#site-header-menu .site-navigation ul.menu > li > a {
    position: relative;
    min-height: 48px;
    display: flex;
    align-items: center;
    color: rgba(255, 255, 255, .88);
    font-size: 15px;
    font-weight: 600;
    transition: color .2s ease;
}

#site-header-menu .site-navigation ul.menu > li > a::after {
    content: "";
    position: absolute;
    right: 10px;
    bottom: 4px;
    left: 10px;
    height: 2px;
    border-radius: 2px;
    background: #779EF2;
    transform: scaleX(0);
    transform-origin: center;
    transition: transform .2s ease;
}

#site-header-menu .site-navigation ul.menu > li:hover > a,
#site-header-menu .site-navigation ul.menu > li > a:focus-visible,
#site-header-menu .prt-stickable-header .site-navigation ul.menu > li.active > a {
    color: #ffffff;
}

#site-header-menu .site-navigation ul.menu > li:hover > a::after,
#site-header-menu .site-navigation ul.menu > li > a:focus-visible::after,
#site-header-menu .site-navigation ul.menu > li.active > a::after {
    transform: scaleX(1);
}

.header_search .search_btn,
.header_login a,
.prt-header-style-01 .header_btn .prt-btn {
    min-width: 48px;
    height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    line-height: 1;
    transition: color .2s ease, background-color .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.header_search .search_btn {
    width: 48px !important;
    height: 48px !important;
    padding: 0 !important;
    align-self: center;
    box-sizing: border-box !important;
    border: 1px solid rgba(255, 255, 255, .18);
    color: #ffffff;
    font-size: 18px;
    background: rgba(255, 255, 255, .04);
}

.header_login a {
    padding: 0 20px;
    border: 1px solid #779EF2;
    color: #ffffff;
    font-weight: 600;
    background: transparent;
}

.prt-header-style-01 .header_btn .prt-btn {
    padding: 0 24px;
    border: 1px solid var(--base-skin);
    box-shadow: 0 10px 26px rgba(20, 76, 198, .22);
}

.header_search .search_btn:hover,
.header_search .search_btn:focus-visible,
.header_login a:hover,
.header_login a:focus-visible {
    color: #0C1835;
    border-color: #779EF2;
    background: #779EF2;
}

.prt-header-style-01 .header_btn .prt-btn:hover,
.prt-header-style-01 .header_btn .prt-btn:focus-visible {
    color: #ffffff;
    background: #1040A6;
    border-color: #779EF2;
    box-shadow: 0 12px 30px rgba(20, 76, 198, .32);
}

.header-login-mobile { display: none !important; }

@media (min-width: 1200px) and (max-width: 1399px) {
    .prt-header-style-01 .site-header-menu .site-header-menu-inner { padding-inline: 20px; }
    .prt-header-style-01 .header_extra { gap: 8px; padding-left: 12px; }
    #site-header-menu .site-navigation ul.menu > li > a { font-size: 14px; }
    .header_login a { padding-inline: 16px; }
    .prt-header-style-01 .header_btn .prt-btn { padding-inline: 18px; }
}

@media (max-width: 1199px) {
    .prt-header-style-01 .site-navigation { min-height: 68px; }
    .header-login-mobile { display: list-item !important; }
    .header-login-mobile > a { color: #779EF2 !important; }
    #site-header-menu .site-navigation ul.menu > li > a::after { display: none; }
}

/* One calm navigation state; legacy lines and search separators are removed. */
.prt-header-style-01 nav.main-menu ul.menu > li > a::before {
    display: none !important;
}

@media (min-width: 1200px) {
    .prt-header-style-01 nav.main-menu ul.menu > li.active > a::before {
        content: "";
        position: absolute;
        left: 50%;
        right: auto;
        bottom: 3px;
        width: 24px;
        height: 2px;
        display: block !important;
        border-radius: 999px;
        background: #779EF2;
        transform: translateX(-50%);
    }
}

#site-header-menu .site-navigation ul.menu > li > a::after {
    content: none;
}

#site-header-menu nav.main-menu ul.menu > li > a[href="#"]::after {
    content: "\f107";
    position: static;
    width: auto;
    height: auto;
    margin-left: 7px;
    display: inline-block;
    border: 0;
    background: none;
    color: currentColor;
    font-family: FontAwesome;
    font-size: 11px;
    opacity: .65;
    transform: none;
}

#site-header-menu .site-navigation ul.menu > li:hover > a,
#site-header-menu .site-navigation ul.menu > li > a:focus-visible,
#site-header-menu .prt-stickable-header .site-navigation ul.menu > li.active > a {
    color: #779EF2 !important;
    border-radius: 0;
    background: transparent !important;
}

.prt-header-style-01 .header_search,
.prt-header-style-01 .header_search::before,
.prt-header-style-01 .header_search::after,
.prt-header-style-01 .header_extra::before,
.prt-header-style-01 .header_extra::after {
    border: 0 !important;
    box-shadow: none !important;
}

.prt-header-style-01 .header_search,
.prt-header-style-01 .header_search:hover,
.prt-header-style-01 .header_search:focus-within {
    width: 48px !important;
    height: 48px !important;
    padding: 0 !important;
    overflow: visible !important;
    border-radius: 12px !important;
    background: transparent !important;
}

.prt-header-style-01 .header_search::before,
.prt-header-style-01 .header_search::after,
.prt-header-style-01 .header_extra::before,
.prt-header-style-01 .header_extra::after { display: none !important; }

@media (max-width: 1199px) {
    #site-header-menu .site-navigation ul.menu > li > a {
        border-radius: 0;
        background: transparent;
    }
}

@media (max-width: 767px) {
    body { padding-bottom: calc(76px + env(safe-area-inset-bottom, 0px)); }
    #masthead.prt-header-style-01,
    .prt-header-style-01 .site-header-menu,
    .prt-header-style-01 .site-header-menu .site-header-menu-inner {
        box-shadow: none !important;
    }
    .prt-header-style-01 .site-header-menu,
    .prt-header-style-01 .site-header-menu-inner,
    .prt-header-style-01 .site-navigation {
        min-height: 62px !important;
        background: #ffffff !important;
    }
    .prt-header-style-01 .site-header-menu .site-header-menu-inner {
        padding-inline: 12px;
        border-bottom: 1px solid #dce5e7;
        background: #ffffff !important;
    }
    .prt-header-style-01 .site-header-menu-inner > .container-fluid { padding-inline: 12px !important; }
    .prt-header-style-01 .site-navigation { min-height: 62px; }
    .prt-header-style-01 .top_bar,
    .prt-header-style-01 .top_bar .d-flex { min-height: 28px !important; }
    .prt-header-style-01 .top_bar_contact_item { line-height: 28px !important; }
    #logo-img { max-width: 124px !important; max-height: 42px !important; }
    .menubar { min-width: 42px; min-height: 42px; }

    .prt-header-style-01 .site-navigation > div:first-child {
        height: 62px !important;
        margin-left: 0;
        flex: 0 0 140px !important;
        padding: 7px 0 !important;
        clip-path: none !important;
        box-shadow: none !important;
        border-radius: 0;
        background: transparent;
    }
    .prt-header-style-01 .btn-show-menu-mobile {
        width: 42px !important;
        height: 42px !important;
        flex: 0 0 42px !important;
        border: 1px solid #0C1835;
        border-radius: 12px;
        background: #0C1835;
        box-shadow: none;
    }
    .prt-header-style-01 .btn-show-menu-mobile:hover,
    .prt-header-style-01 .btn-show-menu-mobile:focus-visible,
    .prt-header-style-01 .btn-show-menu-mobile.is-active {
        border-color: #144CC6;
        background: #1040A6;
    }
    .prt-header-style-01 .site-navigation.nav-open::before { display: none !important; }

    #site-header-menu nav.main-menu.menu-mobile {
        position: absolute !important;
        top: calc(100% + 8px) !important;
        right: 0 !important;
        bottom: auto !important;
        left: 0 !important;
        width: auto !important;
        height: auto !important;
        max-height: calc(100dvh - 112px) !important;
        padding: 8px 14px !important;
        border: 1px solid rgba(119, 158, 242, .18) !important;
        border-radius: 18px !important;
        background: rgba(10, 21, 45, .985) !important;
        box-shadow: 0 20px 48px rgba(5, 10, 22, .34) !important;
    }
    #site-header-menu nav.main-menu.menu-mobile ul.menu { gap: 0; }
    #site-header-menu nav.main-menu.menu-mobile ul.menu > li > a {
        min-height: 45px;
        padding: 0 8px !important;
        border: 0 !important;
        border-bottom: 1px solid rgba(119, 158, 242, .10) !important;
        border-radius: 0;
        color: rgba(255, 255, 255, .82) !important;
        background: transparent !important;
        font-size: 13px;
    }
    #site-header-menu nav.main-menu.menu-mobile ul.menu > li:last-child > a { border-bottom: 0 !important; }
    #site-header-menu nav.main-menu.menu-mobile ul.menu > li > a:hover,
    #site-header-menu nav.main-menu.menu-mobile ul.menu > li > a.active,
    #site-header-menu nav.main-menu.menu-mobile ul.menu > li.active > a {
        color: #ffffff !important;
        background: rgba(119, 158, 242, .07) !important;
    }
    #site-header-menu nav.main-menu.menu-mobile ul.menu > li.active > a::before,
    #site-header-menu nav.main-menu.menu-mobile ul.menu > li > a.active::before {
        top: 13px;
        bottom: 13px;
        left: -6px;
        width: 2px;
        background: #779EF2;
    }
    #site-header-menu nav.main-menu.menu-mobile li.has-mobile-submenu > a.mega-menu-link::after {
        width: 25px;
        height: 25px;
        flex-basis: 25px;
        border-color: rgba(119, 158, 242, .16);
        border-radius: 50%;
        color: #779EF2;
        background: rgba(119, 158, 242, .06);
        font-size: 15px;
    }
    #site-header-menu nav.main-menu.menu-mobile ul.menu li.mega-menu-item ul.mega-submenu {
        margin: 2px 4px 6px 8px !important;
        padding-left: 10px !important;
        border-left-color: rgba(119, 158, 242, .18) !important;
    }
    #site-header-menu nav.main-menu.menu-mobile ul.menu li ul.mega-submenu li a {
        min-height: 38px;
        color: rgba(255, 255, 255, .70) !important;
        font-size: 12px;
    }
    #site-header-menu nav.main-menu.menu-mobile ul.menu > li.header-login-mobile > a {
        margin-top: 7px;
        justify-content: center;
        border: 1px solid rgba(119, 158, 242, .30) !important;
        border-radius: 11px;
        color: #ffffff !important;
        background: rgba(20, 76, 198, .20) !important;
    }

    .shrey-mobile-nav {
        left: 8px;
        right: 8px;
        bottom: calc(8px + env(safe-area-inset-bottom, 0px));
        min-height: 60px;
        padding: 5px;
        border: 1px solid rgba(119, 158, 242, .20);
        border-radius: 17px;
        background: rgba(10, 21, 45, .96);
        box-shadow: 0 12px 32px rgba(6, 13, 28, .28);
    }
    .shrey-mobile-nav a,
    .shrey-mobile-nav button {
        min-height: 50px;
        gap: 3px;
        padding: 5px 2px;
        border-radius: 12px;
        color: rgba(255, 255, 255, .70);
        font-size: 10px;
    }
    .shrey-mobile-nav a i,
    .shrey-mobile-nav button i {
        width: 24px;
        height: 20px;
        color: rgba(255, 255, 255, .68);
        font-size: 15px;
    }
    .shrey-mobile-nav a.is-active,
    .shrey-more-toggle[aria-expanded="true"] {
        color: #ffffff;
        background: rgba(119, 158, 242, .14);
    }
    .shrey-mobile-nav a.is-active i,
    .shrey-more-toggle[aria-expanded="true"] i {
        color: #779EF2;
        background: transparent;
    }
    .shrey-more-sheet {
        left: 8px;
        right: 8px;
        bottom: calc(76px + env(safe-area-inset-bottom, 0px));
        max-height: calc(100dvh - 112px);
        padding: 8px 14px 14px;
        border: 1px solid rgba(119, 158, 242, .18);
        border-radius: 20px;
        background: #0F1D3E;
        box-shadow: 0 22px 54px rgba(6, 11, 23, .38);
    }
    .shrey-more-handle { margin-bottom: 5px; background: rgba(255, 255, 255, .22); }
    .shrey-more-close {
        top: 12px;
        right: 12px;
        min-width: 34px !important;
        width: 34px !important;
        height: 34px !important;
        padding: 0 !important;
        display: grid !important;
        place-items: center;
        border: 1px solid rgba(255, 255, 255, .10) !important;
        border-radius: 50% !important;
        color: rgba(255, 255, 255, .78);
        background: rgba(255, 255, 255, .055) !important;
        box-shadow: none !important;
        font-size: 13px;
        line-height: 1;
    }
    .shrey-more-close:hover,
    .shrey-more-close:focus-visible { color: #ffffff; background: rgba(119, 158, 242, .16) !important; }
    .shrey-more-heading { margin: 0 44px 13px 2px; }
    .shrey-more-heading > span {
        display: block;
        margin-bottom: 2px;
        color: #779EF2;
        font-size: 10px;
        font-weight: 700;
        letter-spacing: .12em;
        text-transform: uppercase;
    }
    .shrey-more-title {
        margin: 0;
        color: #ffffff;
        font-size: 19px;
        letter-spacing: -.01em;
    }
    .shrey-more-actions {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 72px;
        gap: 8px;
        margin-bottom: 10px;
    }
    .shrey-more-appointment {
        min-height: 58px;
        margin: 0;
        padding: 9px 14px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        border: 1px solid rgba(119, 158, 242, .32);
        border-radius: 14px;
        color: #ffffff;
        background: linear-gradient(135deg, rgba(20, 76, 198, .95), rgba(20, 76, 198, .72));
        box-shadow: 0 10px 24px rgba(5, 10, 22, .16);
    }
    .shrey-more-appointment span { font-size: 13px; font-weight: 700; line-height: 1.2; }
    .shrey-more-appointment small {
        display: block;
        margin-bottom: 3px;
        color: rgba(255, 255, 255, .72);
        font-size: 9px;
        font-weight: 600;
        letter-spacing: .08em;
        text-transform: uppercase;
    }
    .shrey-more-appointment > i {
        width: 32px;
        height: 32px;
        display: grid;
        place-items: center;
        border-radius: 50%;
        color: #0C1835;
        background: #ffffff;
        font-size: 12px;
    }
    .shrey-more-login {
        min-height: 58px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 5px;
        border: 1px solid rgba(119, 158, 242, .24);
        border-radius: 14px;
        color: #ffffff;
        background: rgba(255, 255, 255, .055);
        font-size: 10px;
        font-weight: 700;
    }
    .shrey-more-login i { color: #779EF2; font-size: 15px; }
    .shrey-more-login:hover,
    .shrey-more-login:focus-visible { color: #ffffff; background: rgba(119, 158, 242, .14); }
    .shrey-more-quick {
        gap: 7px;
        margin: 10px 0 0;
        padding-top: 10px;
        border-top: 1px solid rgba(119, 158, 242, .14);
    }
    .shrey-more-quick a {
        min-height: 58px;
        padding: 8px 4px;
        border-color: rgba(119, 158, 242, .12);
        border-radius: 12px;
        background: rgba(255, 255, 255, .055);
    }
    .shrey-more-quick a i { font-size: 17px; }
    .shrey-more-list {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 7px;
        padding-top: 0;
        border-top: 0;
    }
    .shrey-more-list li + li { border-top: 0; }
    .shrey-more-list a {
        min-height: 44px;
        padding: 0 11px;
        gap: 9px;
        border: 1px solid rgba(119, 158, 242, .10);
        border-radius: 11px;
        color: rgba(255, 255, 255, .86);
        background: rgba(255, 255, 255, .035);
        font-size: 12px;
    }
    .shrey-more-list a:hover,
    .shrey-more-list a:focus-visible { background: rgba(119, 158, 242, .12); }
    .shrey-more-list a i:first-child { width: 17px; font-size: 14px; }
    .shrey-more-list a i.fa-angle-right { display: none; }
    .shrey-more-toggle:focus:not(:focus-visible) { outline: 0; }
    #totop { bottom: calc(82px + env(safe-area-inset-bottom, 0px)); }
}

@media (prefers-reduced-motion: reduce) {
    #site-header-menu .site-navigation ul.menu > li > a::after,
    .header_search .search_btn,
    .header_login a,
    .prt-header-style-01 .header_btn .prt-btn { transition: none; }
}

/* Final mobile navigation treatment: one opaque, compact navigation layer. */
@media (max-width: 767px) {
    .prt-header-style-01 .btn-show-menu-mobile {
        width: 40px !important;
        height: 40px !important;
        min-width: 40px !important;
        min-height: 40px !important;
        flex-basis: 40px !important;
        border: 0 !important;
        border-radius: 11px !important;
        background: #144CC6 !important;
        box-shadow: 0 7px 18px rgba(20, 76, 198, .20) !important;
    }
    .prt-header-style-01 .btn-show-menu-mobile:hover,
    .prt-header-style-01 .btn-show-menu-mobile:focus-visible,
    .prt-header-style-01 .btn-show-menu-mobile.is-active { background: #1040A6 !important; }
    .prt-header-style-01 .menubar-box { width: 21px; height: 17px; }
    .prt-header-style-01 .menubar-inner,
    .prt-header-style-01 .menubar-inner::before,
    .prt-header-style-01 .menubar-inner::after {
        width: 21px;
        height: 2px;
        background: #ffffff !important;
    }
    .prt-header-style-01 .menubar-inner::before { top: -6px; }
    .prt-header-style-01 .menubar-inner::after { bottom: -6px; }

    #site-header-menu nav.main-menu.menu-mobile {
        top: calc(100% + 7px) !important;
        right: 0 !important;
        left: 0 !important;
        max-height: calc(100dvh - 108px) !important;
        padding: 9px 14px 12px !important;
        border: 1px solid #dce5e7 !important;
        border-radius: 16px !important;
        background: #ffffff !important;
        box-shadow: 0 20px 48px rgba(12, 24, 53, .20) !important;
    }
    #site-header-menu nav.main-menu.menu-mobile ul.menu > li > a {
        min-height: 44px;
        padding: 0 8px !important;
        border: 0 !important;
        border-bottom: 1px solid #e7edef !important;
        border-radius: 0 !important;
        color: #2D3647 !important;
        background: transparent !important;
        font-size: 13px;
        font-weight: 650;
    }
    #site-header-menu nav.main-menu.menu-mobile ul.menu > li:last-child > a { border-bottom: 0 !important; }
    #site-header-menu nav.main-menu.menu-mobile ul.menu > li > a:hover,
    #site-header-menu nav.main-menu.menu-mobile ul.menu > li > a.active,
    #site-header-menu nav.main-menu.menu-mobile ul.menu > li.active > a {
        color: #0E368C !important;
        background: #E6EDFD !important;
    }
    #site-header-menu nav.main-menu.menu-mobile ul.menu > li.active > a::before,
    #site-header-menu nav.main-menu.menu-mobile ul.menu > li > a.active::before {
        left: -6px;
        background: #144CC6 !important;
    }
    #site-header-menu nav.main-menu.menu-mobile li.has-mobile-submenu > a.mega-menu-link::after {
        border-color: #F0F5FE;
        color: #144CC6;
        background: #EBF1FD;
    }
    #site-header-menu nav.main-menu.menu-mobile li.has-mobile-submenu > a.mega-menu-link.active::after {
        border-color: #C7D7F9;
        color: #0E368C;
        background: #f1f5fe;
    }
    #site-header-menu nav.main-menu.menu-mobile ul.menu li.mega-menu-item ul.mega-submenu {
        border-left-color: #cfe1e1 !important;
        background: #ffffff !important;
    }
    #site-header-menu nav.main-menu.menu-mobile ul.menu li ul.mega-submenu li a {
        color: #566687 !important;
        background: transparent !important;
    }
    #site-header-menu nav.main-menu.menu-mobile ul.menu li ul.mega-submenu li a:hover,
    #site-header-menu nav.main-menu.menu-mobile ul.menu li ul.mega-submenu li.active > a {
        color: #0E368C !important;
        background: #E6EDFD !important;
    }
    #site-header-menu nav.main-menu.menu-mobile .header-login-mobile > a {
        margin-top: 8px;
        border: 0 !important;
        border-radius: 11px !important;
        color: #ffffff !important;
        background: #144CC6 !important;
    }
    #site-header-menu nav.main-menu.menu-mobile .header-login-mobile > a:hover,
    #site-header-menu nav.main-menu.menu-mobile .header-login-mobile > a:focus-visible {
        color: #ffffff !important;
        background: #1040A6 !important;
    }

    .shrey-mobile-nav-open .shrey-mobile-nav {
        opacity: 0;
        pointer-events: none;
        transform: translateY(12px);
    }
    .shrey-mobile-nav { transition: opacity .2s ease, transform .2s ease; }
}

/* Mobile header rollback: restore the original v2.3.23 navigation treatment. */
@media (max-width: 767px) {
    html,
    body { margin: 0 !important; background-color: #0A142B; }
    body .page,
    #masthead.prt-header-style-01,
    .prt-header-style-01 .site-header-menu,
    .prt-header-style-01 .site-header-menu-inner {
        width: 100% !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
        border-right: 0 !important;
        border-left: 0 !important;
    }
    .prt-header-style-01 .top_bar,
    .prt-header-style-01 .top_bar .d-flex { min-height: 34px !important; }
    .prt-header-style-01 .top_bar_contact_item { line-height: 34px !important; }
    .prt-header-style-01 .site-header-menu,
    .prt-header-style-01 .site-header-menu-inner,
    .prt-header-style-01 .site-navigation {
        min-height: 70px !important;
        background: linear-gradient(112deg, #0A142B 0%, #0F1E41 100%) !important;
    }
    .prt-header-style-01 .site-header-menu .site-header-menu-inner,
    .prt-header-style-01 .site-header-menu .site-header-menu-inner > .container-fluid,
    .prt-header-style-01 .site-header-menu .site-header-menu-inner > .container-fluid > .row,
    .prt-header-style-01 .site-header-menu .site-header-menu-inner > .container-fluid > .row > .col-lg-12 {
        background: #0F1E41 !important;
    }
    .prt-header-style-01 .site-header-menu-inner > .container-fluid { padding: 0 14px !important; }
    .prt-header-style-01 .site-navigation > div:first-child {
        width: auto !important;
        height: 68px !important;
        margin-left: -12px;
        padding: 8px 30px 8px 14px !important;
        flex: 0 0 174px !important;
        clip-path: polygon(0 0, 100% 0, 86% 100%, 0 100%) !important;
        border-radius: 0;
        background: #ffffff !important;
        box-shadow: 10px 0 28px rgba(4, 7, 15, .12) !important;
    }
    .prt-header-style-01 .site-navigation #logo-img {
        width: 136px !important;
        max-height: 46px !important;
        transform: scale(1.1) translateX(-1px) !important;
    }
    .prt-header-style-01 .btn-show-menu-mobile {
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
        min-height: 44px !important;
        flex-basis: 44px !important;
        border: 1px solid rgba(255, 255, 255, .14) !important;
        border-radius: 13px !important;
        background: rgba(255, 255, 255, .075) !important;
        box-shadow: 0 9px 22px rgba(4, 7, 15, .18) !important;
    }
    .prt-header-style-01 .btn-show-menu-mobile:hover,
    .prt-header-style-01 .btn-show-menu-mobile:focus-visible,
    .prt-header-style-01 .btn-show-menu-mobile.is-active { background: rgba(20, 76, 198, .22) !important; }
    .prt-header-style-01 .menubar-box { width: 25px; height: 20px; }
    .prt-header-style-01 .menubar-inner,
    .prt-header-style-01 .menubar-inner::before,
    .prt-header-style-01 .menubar-inner::after {
        width: 25px;
        height: 2px;
        background: #ffffff !important;
    }
    .prt-header-style-01 .menubar-inner::before { top: -7px; }
    .prt-header-style-01 .menubar-inner::after { bottom: -7px; }
    .prt-header-style-01 .site-navigation.nav-open::before { display: none !important; }

    #site-header-menu nav.main-menu.menu-mobile {
        position: absolute !important;
        top: calc(100% + 8px) !important;
        right: 0 !important;
        bottom: auto !important;
        left: 0 !important;
        width: auto !important;
        height: auto !important;
        max-height: calc(100dvh - 116px) !important;
        padding: 10px 14px 12px !important;
        overflow-y: auto;
        border: 1px solid rgba(119, 158, 242, .20) !important;
        border-radius: 18px !important;
        background: linear-gradient(155deg, #0F1E40 0%, #0B162F 100%) !important;
        box-shadow: 0 22px 52px rgba(6, 11, 23, .36) !important;
    }
    #site-header-menu nav.main-menu.menu-mobile ul.menu { gap: 0; }
    #site-header-menu nav.main-menu.menu-mobile ul.menu > li > a {
        min-height: 46px;
        padding: 0 8px !important;
        border: 0 !important;
        border-bottom: 1px solid rgba(147, 178, 244, .11) !important;
        border-radius: 0 !important;
        color: rgba(255, 255, 255, .88) !important;
        background: transparent !important;
        font-size: 13px;
    }
    #site-header-menu nav.main-menu.menu-mobile ul.menu > li > a:hover,
    #site-header-menu nav.main-menu.menu-mobile ul.menu > li > a.active,
    #site-header-menu nav.main-menu.menu-mobile ul.menu > li.active > a {
        color: #ffffff !important;
        background: rgba(119, 158, 242, .07) !important;
    }
    #site-header-menu nav.main-menu.menu-mobile li.has-mobile-submenu > a.mega-menu-link::after {
        width: 25px;
        height: 25px;
        flex-basis: 25px;
        border-color: rgba(147, 178, 244, .16);
        border-radius: 50%;
        color: #93B2F4;
        background: rgba(119, 158, 242, .06);
        font-size: 15px;
    }
    #site-header-menu nav.main-menu.menu-mobile ul.menu li.mega-menu-item ul.mega-submenu {
        margin: 2px 4px 6px 8px !important;
        padding-left: 10px !important;
        border-left-color: rgba(147, 178, 244, .18) !important;
        background: transparent !important;
    }
    #site-header-menu nav.main-menu.menu-mobile ul.menu li ul.mega-submenu li a {
        min-height: 38px;
        color: rgba(255, 255, 255, .68) !important;
        background: transparent !important;
        font-size: 12px;
    }
    #site-header-menu nav.main-menu.menu-mobile ul.menu > li.header-login-mobile > a {
        margin-top: 8px;
        justify-content: center;
        border: 0 !important;
        border-radius: 11px !important;
        color: #ffffff !important;
        background: #144CC6 !important;
    }
    #site-header-menu nav.main-menu.menu-mobile ul.menu > li.header-login-mobile > a:hover,
    #site-header-menu nav.main-menu.menu-mobile ul.menu > li.header-login-mobile > a:focus-visible {
        background: #1040A6 !important;
    }
    .shrey-mobile-nav-open .shrey-mobile-nav {
        visibility: hidden;
        animation: none;
        opacity: 0;
        pointer-events: none;
        transform: translateY(12px);
    }
}

/* Premium mobile quick-access tray: fewer cards, clearer hierarchy. */
@media (max-width: 767px) {
    .shrey-mobile-nav .fa,
    .shrey-more-sheet .fa {
        font-family: FontAwesome !important;
        font-weight: normal !important;
    }
    .shrey-more-sheet {
        bottom: calc(78px + env(safe-area-inset-bottom, 0px));
        padding: 9px 16px 15px;
        border: 1px solid rgba(119, 158, 242, .20);
        border-radius: 21px;
        background: linear-gradient(155deg, #0F1E40 0%, #0B162F 100%);
        box-shadow: 0 24px 54px rgba(6, 11, 23, .36);
    }
    .shrey-more-handle {
        width: 30px;
        height: 3px;
        margin-bottom: 8px;
        background: rgba(255, 255, 255, .22);
    }
    .shrey-more-heading { margin-bottom: 14px; }
    .shrey-more-heading > span { color: #93B2F4; }
    .shrey-more-title { font-size: 20px; }
    .shrey-more-actions {
        grid-template-columns: minmax(0, 1fr) 70px;
        gap: 9px;
        margin-bottom: 12px;
    }
    .shrey-more-appointment,
    .shrey-more-login { min-height: 60px; border-radius: 14px; }
    .shrey-more-appointment {
        border: 0;
        background: #144CC6;
        box-shadow: 0 10px 24px rgba(4, 9, 19, .18);
    }
    .shrey-more-login {
        border-color: rgba(147, 178, 244, .20);
        background: rgba(255, 255, 255, .055);
    }

    .shrey-more-list {
        gap: 0 14px;
        padding: 0;
        border-top: 1px solid rgba(147, 178, 244, .14);
        border-bottom: 1px solid rgba(147, 178, 244, .14);
    }
    .shrey-more-list li:nth-child(odd) { border-right: 1px solid rgba(147, 178, 244, .10); }
    .shrey-more-list a {
        min-height: 47px;
        padding: 0 7px 0 2px;
        border: 0;
        border-bottom: 1px solid rgba(147, 178, 244, .09);
        border-radius: 0;
        background: transparent;
        font-size: 12px;
    }
    .shrey-more-list li:nth-last-child(-n+2) a { border-bottom: 0; }
    .shrey-more-list a i:first-child {
        width: 25px;
        height: 25px;
        display: grid;
        place-items: center;
        border-radius: 8px;
        color: #93B2F4;
        background: rgba(119, 158, 242, .09);
        font-size: 12px;
    }
    .shrey-more-list a:hover,
    .shrey-more-list a:focus-visible { background: rgba(119, 158, 242, .07); }

    .shrey-more-contact-label {
        margin: 12px 0 7px 2px;
        color: rgba(255, 255, 255, .54);
        font-size: 9px;
        font-weight: 700;
        letter-spacing: .11em;
        text-transform: uppercase;
    }
    .shrey-more-quick {
        gap: 0;
        margin: 0;
        padding: 0;
        overflow: hidden;
        border: 1px solid rgba(147, 178, 244, .14);
        border-radius: 14px;
    }
    .shrey-more-quick a {
        min-height: 58px;
        padding: 8px 4px;
        border: 0;
        border-right: 1px solid rgba(147, 178, 244, .12);
        border-radius: 0;
        background: rgba(255, 255, 255, .035);
    }
    .shrey-more-quick a:last-child { border-right: 0; }
    .shrey-more-quick a:hover,
    .shrey-more-quick a:focus-visible { background: rgba(119, 158, 242, .10); }
    .shrey-more-quick a i { color: #93B2F4; }

    .shrey-more-toggle[aria-expanded="true"] {
        color: #ffffff;
        background: rgba(119, 158, 242, .16);
        box-shadow: none;
    }
}

/* Student stories and proof: one editorial composition instead of stacked cards. */
.shrey-stories.home01-testimonial-section {
    padding: 56px 0 48px !important;
    border-bottom: 0;
    background: #0A142B !important;
}

.shrey-stories.home01-testimonial-section > .container {
    width: min(1320px, calc(100% - 64px)) !important;
    max-width: 1320px !important;
    padding: 0 !important;
}

.shrey-stories-layout {
    display: block;
}

.shrey-stories-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(240px, .45fr);
    align-items: end;
    gap: 24px 48px;
    margin-bottom: 28px;
    padding-bottom: 24px;
    border-bottom: 1px solid rgba(255, 255, 255, .12);
}

.shrey-stories-head > p {
    display: flex;
    gap: 12px;
    align-items: center;
    grid-column: 1 / -1;
    margin: 0;
    color: #759CF1;
    font-family: "Lexend", sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .15em;
    line-height: 1;
    text-transform: uppercase;
}

.shrey-stories-head > p:before {
    content: "";
    width: 32px;
    height: 1px;
    background: currentColor;
}

.shrey-stories-head h2 {
    margin: 0;
    color: #fff;
    font-family: "Lexend", sans-serif;
    font-size: clamp(36px, 3.2vw, 48px);
    font-weight: 700;
    letter-spacing: -.045em;
    line-height: 1.04;
}

.shrey-stories-head h2 span { color: #759CF1; }

.shrey-stories-head small {
    display: block;
    max-width: 280px;
    justify-self: end;
    color: rgba(255, 255, 255, .62);
    font-size: 14px;
    line-height: 1.65;
}

.shrey-stories .testimonial-premium-slider {
    width: 100%;
    margin: 0 0 48px !important;
}

.shrey-stories .shrey-story-card {
    position: relative;
    min-height: 0;
    padding: 32px 36px 28px;
    overflow: hidden;
    border: 1px solid rgba(13, 25, 53, .08);
    border-radius: 16px;
    background: #f4f1ea;
    box-shadow: 0 20px 48px rgba(3, 7, 15, .18);
}

.shrey-stories .shrey-story-card:before {
    content: "“";
    position: absolute;
    top: 8px;
    right: 28px;
    color: rgba(21, 80, 208, .16);
    font-family: Georgia, serif;
    font-size: 78px;
    line-height: 1;
}

.shrey-story-card blockquote {
    position: relative;
    max-width: 1040px;
    min-height: 0;
    margin: 0;
    padding: 0;
    border: 0;
    color: #12244F;
    font-family: "Source Sans 3", sans-serif;
    font-size: clamp(18px, 1.35vw, 22px);
    font-weight: 500;
    line-height: 1.55;
}

.shrey-story-card footer {
    display: flex;
    gap: 14px;
    align-items: center;
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid #d5dcda;
}

.shrey-story-card footer img {
    width: 52px;
    height: 52px;
    flex: 0 0 52px;
    border: 2px solid #fff;
    border-radius: 50%;
    object-fit: cover;
    box-shadow: 0 4px 12px rgba(13, 25, 53, .12);
}

.shrey-story-card footer div { min-width: 0; }

.shrey-story-card footer strong,
.shrey-story-card footer span { display: block; }

.shrey-story-card footer strong {
    margin-bottom: 3px;
    color: #0D1935;
    font-family: "Lexend", sans-serif;
    font-size: 15px;
}

.shrey-story-card footer div span {
    overflow: hidden;
    color: #596A8C;
    font-size: 12px;
    line-height: 1.45;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.shrey-story-card .shrey-story-rating {
    margin-left: auto;
    color: #1550D0;
    font-size: 13px;
    letter-spacing: .1em;
    white-space: nowrap;
}

.shrey-stories .testimonial-premium-slider .slick-arrow {
    top: auto;
    bottom: -48px;
    width: 40px;
    height: 40px;
    border-color: rgba(255, 255, 255, .2);
    background: transparent;
    box-shadow: none;
    transform: none;
}

.shrey-stories .testimonial-premium-slider .slick-prev { right: 50px; left: auto; }
.shrey-stories .testimonial-premium-slider .slick-next { right: 0; }
.shrey-stories .testimonial-premium-slider .slick-arrow:hover { border-color: #759CF1; background: #144CC6; }
.shrey-stories .testimonial-premium-slider .slick-dots { right: auto; bottom: -36px; left: 0; justify-content: flex-start; }

.shrey-proof-strip.home01-fid-section {
    padding: 0 0 48px !important;
    border: 0;
    background: #0A142B !important;
}

.shrey-proof-strip > .container {
    width: min(1320px, calc(100% - 64px)) !important;
    max-width: 1320px;
    padding: 0;
}

.shrey-proof-strip dl {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 0;
    padding: 24px 0 0;
    border-top: 1px solid rgba(255, 255, 255, .12);
}

.shrey-proof-strip dl > div {
    padding: 0 30px;
    border-right: 1px solid rgba(255, 255, 255, .12);
}

.shrey-proof-strip dl > div:first-child { padding-left: 0; }
.shrey-proof-strip dl > div:last-child { border-right: 0; }

.shrey-proof-strip dt {
    margin: 0 0 5px;
    color: #fff;
    font-family: "Lexend", sans-serif;
    font-size: clamp(30px, 2.5vw, 38px);
    font-weight: 700;
    letter-spacing: -.04em;
    line-height: 1;
}

.shrey-proof-strip dt .numinate { font-size: inherit !important; }

.shrey-proof-strip dd {
    margin: 0;
    color: #759CF1;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .02em;
}

@media (max-width: 991px) {
    .shrey-stories.home01-testimonial-section > .container,
    .shrey-proof-strip > .container { width: calc(100% - 40px) !important; }

    .shrey-stories-head { grid-template-columns: 1fr; gap: 12px; }
    .shrey-stories-head small { max-width: 500px; justify-self: start; }
    .shrey-proof-strip dl > div { padding: 0 20px; }
}

@media (max-width: 575px) {
    .shrey-stories.home01-testimonial-section { padding: 40px 0 44px !important; }
    .shrey-stories.home01-testimonial-section > .container,
    .shrey-proof-strip > .container { width: calc(100% - 28px) !important; }
    .shrey-stories-head { margin-bottom: 22px; padding-bottom: 20px; }
    .shrey-stories-head h2 { font-size: 32px; }
    .shrey-stories-head small { font-size: 13px; }
    .shrey-stories .shrey-story-card { min-height: 0; padding: 24px 20px 22px; border-radius: 14px; }
    .shrey-stories .shrey-story-card:before { top: 10px; right: 18px; font-size: 68px; }
    .shrey-story-card blockquote { min-height: 0; font-size: 17px; line-height: 1.55; }
    .shrey-story-card footer { align-items: flex-start; margin-top: 22px; padding-top: 18px; }
    .shrey-story-card footer img { width: 46px; height: 46px; flex-basis: 46px; }
    .shrey-story-card footer div span { white-space: normal; }
    .shrey-story-card .shrey-story-rating { display: none; }
    .shrey-stories .testimonial-premium-slider .slick-arrow { display: none !important; }
    .shrey-stories .testimonial-premium-slider .slick-dots { bottom: -36px; justify-content: center; }
    .shrey-proof-strip.home01-fid-section { padding: 0 0 32px !important; }
    .shrey-proof-strip dl { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; padding-top: 8px; }
    .shrey-proof-strip dl > div { padding: 22px 16px; border-right: 1px solid rgba(255, 255, 255, .12); border-bottom: 1px solid rgba(255, 255, 255, .12); }
    .shrey-proof-strip dl > div:nth-child(2n) { border-right: 0; }
    .shrey-proof-strip dl > div:nth-last-child(-n+2) { border-bottom: 0; }
    .shrey-proof-strip dl > div:first-child { padding-left: 16px; }
    .shrey-proof-strip dt { font-size: 29px; }
    .shrey-proof-strip dd { font-size: 11px; }
}

@media (prefers-reduced-motion: reduce) {
    .shrey-stories .testimonial-premium-slider .slick-track { transition: none !important; }
}

/* Footer: one quiet editorial grid with clear navigation and contact paths. */
.shrey-editorial-footer.footer {
    color: rgba(255, 255, 255, .72);
    background: linear-gradient(135deg, #080F20 0%, #0C1834 100%) !important;
}

.shrey-editorial-footer > .container,
.shrey-editorial-footer .shrey-footer-bottom > .container {
    width: min(1320px, calc(100% - 64px));
    max-width: 1320px;
    padding: 0;
}

.shrey-footer-grid {
    display: grid;
    grid-template-columns: .9fr 1.15fr 1.35fr;
    gap: 0;
    padding: 36px 0 38px;
}

.shrey-footer-grid > * {
    min-width: 0;
    padding: 0 34px;
    border-right: 1px solid rgba(255, 255, 255, .1);
}

.shrey-footer-grid > *:first-child { padding-left: 0; }
.shrey-footer-grid > *:last-child { padding-right: 0; border-right: 0; }

.shrey-editorial-footer h2 {
    margin: 0 0 18px;
    color: #fff;
    font-family: "Lexend", sans-serif;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: -.01em;
    line-height: 1.3;
}

.shrey-editorial-footer h2:after {
    content: "";
    display: block;
    width: 28px;
    height: 2px;
    margin-top: 9px;
    background: #1550D0;
}

.shrey-footer-column ul {
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.shrey-footer-column a {
    display: inline-flex;
    min-height: 30px;
    align-items: center;
    color: rgba(255, 255, 255, .8);
    font-size: 13px;
    transition: color .2s ease;
}

.shrey-footer-grid > .shrey-footer-column:first-child ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 14px;
}

.shrey-footer-column a:after {
    content: "\f061";
    margin-left: 8px;
    color: #759CF1;
    font-family: FontAwesome;
    font-size: 9px;
    opacity: 0;
    transform: translateX(-4px);
    transition: opacity .2s ease, transform .2s ease;
}

.shrey-footer-column a:hover,
.shrey-footer-column a:focus-visible { color: #fff; }

.shrey-footer-column a:hover:after,
.shrey-footer-column a:focus-visible:after { opacity: 1; transform: none; }

.shrey-footer-destinations ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 18px;
}

.shrey-footer-destinations a { white-space: nowrap; }

.shrey-footer-destinations a img {
    width: 21px;
    height: 14px;
    margin-right: 8px;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 2px;
    object-fit: cover;
}

.shrey-footer-contact address {
    display: grid;
    gap: 15px;
    margin: 0;
    font-style: normal;
}

.shrey-footer-contact address p {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    gap: 9px;
    align-items: start;
    margin: 0;
    color: rgba(255, 255, 255, .8);
    font-size: 13px;
    line-height: 1.55;
}

.shrey-footer-contact address i {
    margin-top: 4px;
    color: #759CF1;
    font-size: 13px;
}

.shrey-footer-contact address a {
    overflow-wrap: anywhere;
    color: rgba(255, 255, 255, .82);
}

.shrey-footer-contact address a:hover,
.shrey-footer-contact address a:focus-visible { color: #fff; }

.shrey-footer-social {
    display: flex;
    gap: 9px;
    margin-top: 24px;
}

.shrey-footer-social a {
    display: grid;
    width: 40px;
    height: 40px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 10px;
    color: #fff;
    background: rgba(255, 255, 255, .04);
    transition: border-color .2s ease, background .2s ease;
}

.shrey-footer-social a:hover,
.shrey-footer-social a:focus-visible {
    border-color: #1550D0;
    color: #fff;
    background: #144CC6;
}

.shrey-editorial-footer a:focus-visible {
    outline: 2px solid #759CF1;
    outline-offset: 3px;
}

.shrey-footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, .1);
    background: rgba(3, 6, 13, .24);
}

.shrey-footer-bottom > .container {
    display: flex;
    min-height: 50px;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    color: rgba(255, 255, 255, .58);
    font-size: 12px;
}

@media (max-width: 1199px) {
    .shrey-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 36px; }
    .shrey-footer-grid > * { padding: 0 30px; }
    .shrey-footer-grid > *:nth-child(2) { padding-right: 0; border-right: 0; }
    .shrey-footer-contact { grid-column: 1 / -1; padding: 32px 0 0 !important; border-top: 1px solid rgba(255, 255, 255, .1); }
}

@media (max-width: 767px) {
    .shrey-editorial-footer > .container,
    .shrey-editorial-footer .shrey-footer-bottom > .container { width: calc(100% - 32px); }
    .shrey-footer-grid { grid-template-columns: 1fr; gap: 0; padding: 18px 0 24px; }
    .shrey-footer-grid > * {
        padding: 26px 0;
        border-right: 0;
        border-bottom: 1px solid rgba(255, 255, 255, .1);
    }
    .shrey-footer-grid > *:first-child { padding-top: 8px; }
    .shrey-footer-grid > *:last-child { padding-bottom: 0; border-bottom: 0; }
    .shrey-footer-contact { grid-column: auto; padding: 26px 0 0 !important; border-top: 0; }
    .shrey-editorial-footer h2 { margin-bottom: 17px; }
    .shrey-footer-column ul { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px 18px; }
    .shrey-footer-bottom > .container {
        min-height: 104px;
        padding-bottom: 58px;
        align-items: center;
        flex-direction: column-reverse;
        justify-content: center;
        gap: 10px;
        text-align: center;
    }
}

@media (max-width: 420px) {
    .shrey-footer-destinations ul { grid-template-columns: 1fr 1fr; gap: 7px 10px; }
    .shrey-footer-destinations a { font-size: 12px; }
}

/* Polished mobile quick menu in the established navy, teal and gold theme. */
@media (max-width: 767px) {
    .shrey-more-sheet {
        left: 10px;
        right: 10px;
        bottom: calc(78px + env(safe-area-inset-bottom, 0px));
        max-height: calc(100dvh - 102px);
        padding: 10px 14px 14px;
        overflow-y: auto;
        border: 1px solid rgba(231, 197, 127, .34);
        border-radius: 22px;
        color: #ffffff;
        background: linear-gradient(155deg, #112147 0%, #0A152D 72%);
        box-shadow: 0 24px 60px rgba(6, 13, 28, .42);
    }
    .shrey-more-handle {
        width: 34px;
        height: 3px;
        margin-bottom: 7px;
        background: rgba(231, 197, 127, .62);
    }
    .shrey-more-close {
        top: 12px;
        right: 12px;
        color: rgba(255, 255, 255, .78);
        border-color: rgba(255, 255, 255, .14) !important;
        background: rgba(255, 255, 255, .06) !important;
    }
    .shrey-more-close:hover,
    .shrey-more-close:focus-visible {
        color: #ffffff;
        background: rgba(119, 158, 242, .14) !important;
    }
    .shrey-more-heading { margin: 0 44px 13px 2px; }
    .shrey-more-heading > span {
        margin-bottom: 3px;
        color: #d8bd80;
        font-size: 9px;
        letter-spacing: .14em;
    }
    .shrey-more-title {
        color: #ffffff;
        font-size: 20px;
        line-height: 1.2;
    }
    .shrey-more-actions {
        grid-template-columns: minmax(0, 1fr) 72px;
        gap: 9px;
        margin-bottom: 12px;
    }
    .shrey-more-appointment,
    .shrey-more-login {
        min-height: 58px;
        border-radius: 13px;
    }
    .shrey-more-appointment {
        border: 0;
        background: linear-gradient(135deg, #1550D1, #1245B4);
        box-shadow: 0 8px 18px rgba(10, 20, 44, .16);
    }
    .shrey-more-appointment span { color: #ffffff; }
    .shrey-more-appointment small { color: #d8bd80; }
    .shrey-more-appointment > i {
        color: #0E1B3A;
        background: #e7c57f;
    }
    .shrey-more-appointment:hover,
    .shrey-more-appointment:focus-visible {
        color: #ffffff;
        background: linear-gradient(135deg, #1349BD, #103EA0);
        box-shadow: inset 0 0 0 1px rgba(231, 197, 127, .52), 0 8px 18px rgba(10, 20, 44, .20);
    }
    .shrey-more-appointment:hover span,
    .shrey-more-appointment:focus-visible span { color: #ffffff; }
    .shrey-more-appointment:hover small,
    .shrey-more-appointment:focus-visible small { color: #f0d697; }
    .shrey-more-appointment:hover > i,
    .shrey-more-appointment:focus-visible > i {
        color: #0A142B;
        background: #f0d697;
    }
    .shrey-more-login {
        color: #ffffff;
        border-color: rgba(119, 158, 242, .24);
        background: rgba(255, 255, 255, .055);
    }
    .shrey-more-login i { color: #144CC6; }
    .shrey-more-login:hover,
    .shrey-more-login:focus-visible {
        color: #ffffff;
        background: rgba(119, 158, 242, .14);
    }
    .shrey-more-list {
        gap: 7px;
        padding: 0;
        border: 0;
    }
    .shrey-more-list li:nth-child(odd) { border-right: 0; }
    .shrey-more-list a {
        min-height: 45px;
        padding: 0 10px;
        gap: 8px;
        color: rgba(255, 255, 255, .88);
        border: 1px solid rgba(119, 158, 242, .14);
        border-radius: 11px;
        background: rgba(255, 255, 255, .04);
        font-size: 11px;
        font-weight: 650;
    }
    .shrey-more-list li:nth-last-child(-n+2) a { border-bottom: 1px solid rgba(119, 158, 242, .14); }
    .shrey-more-list a i:first-child {
        width: 25px;
        height: 25px;
        color: #93B2F4;
        background: rgba(119, 158, 242, .10);
    }
    .shrey-more-list a:hover,
    .shrey-more-list a:focus-visible {
        color: #ffffff;
        border-color: rgba(231, 197, 127, .34);
        background: rgba(119, 158, 242, .10);
    }
    .shrey-more-contact-label {
        margin: 12px 0 7px 2px;
        color: rgba(255, 255, 255, .56);
        font-size: 9px;
    }
    .shrey-more-quick {
        overflow: hidden;
        gap: 0;
        margin: 0;
        padding: 0;
        border: 1px solid rgba(119, 158, 242, .16);
        border-radius: 13px;
        background: rgba(255, 255, 255, .035);
    }
    .shrey-more-quick a {
        min-height: 54px;
        padding: 7px 4px;
        color: rgba(255, 255, 255, .88);
        border: 0;
        border-right: 1px solid rgba(119, 158, 242, .14);
        border-radius: 0;
        background: transparent;
    }
    .shrey-more-quick a:last-child { border-right: 0; }
    .shrey-more-quick a i { color: #144CC6; }
    .shrey-more-quick a:hover,
    .shrey-more-quick a:focus-visible { background: rgba(119, 158, 242, .10); }

    .shrey-mobile-nav {
        border-color: rgba(231, 197, 127, .28);
        background: #0D1936;
        box-shadow: 0 12px 34px rgba(6, 13, 28, .34);
    }
    .shrey-mobile-nav a.is-active,
    .shrey-more-toggle[aria-expanded="true"] {
        color: #ffffff;
        background: #142755;
        box-shadow: inset 0 0 0 1px rgba(231, 197, 127, .55);
    }
    .shrey-mobile-nav a.is-active i,
    .shrey-more-toggle[aria-expanded="true"] i { color: #e7c57f; }

    .shrey-more-sheet a,
    .shrey-more-sheet button,
    .shrey-mobile-nav a,
    .shrey-mobile-nav button {
        transition: color .18s ease, background-color .18s ease, border-color .18s ease, box-shadow .18s ease;
    }
}

/* Final homepage polish: match the shared shell and remove the legacy logo wedge. */
:root {
    --base-bodyfont-color: #51607E;
    --base-headingfont-color: #0E1B3B;
    --base-skin: #144CC6;
    --base-dark: #0E1B3B;
    --base-grey: #f7f4ee;
    --shrey-red: #144CC6;
    --shrey-red-dark: #1040A6;
    --shrey-ink: #0E1B3B;
    --shrey-navy: #0E1B3B;
    --shrey-muted: #51607E;
    --shrey-line: #d8e0e2;
    --shrey-soft: #f7f4ee;
    --shrey-copy: #51607E;
}

h1, h2, h3, h4, h5, h6 { text-wrap: balance; }
p, li, blockquote { text-wrap: pretty; }
::selection { color: #ffffff; background: #144CC6; }
.slick-dots button { min-width: 24px; min-height: 24px; }

@media (min-width: 1200px) {
    .prt-header-style-01 .top_bar {
        min-height: 38px !important;
        height: 38px !important;
        padding: 0 48px !important;
    }
    .prt-header-style-01 .top_bar .d-flex { min-height: 38px !important; }
    .prt-header-style-01 .top_bar_contact_item { line-height: 38px !important; }
    .prt-header-style-01 .site-header-menu,
    .prt-header-style-01 .site-header-menu-inner,
    .prt-header-style-01 .prt-stickable-header,
    .prt-header-style-01 .site-navigation {
        min-height: 86px !important;
        height: 86px !important;
    }
    .prt-header-style-01 .site-navigation > div:first-child {
        flex: 0 0 220px !important;
        align-self: center;
        height: 72px !important;
        margin: 7px 0 !important;
        padding: 0 32px !important;
        clip-path: none !important;
        border: 1px solid #DEE5F4;
        border-left: 0;
        border-radius: 0 18px 18px 0;
        background: #ffffff !important;
        filter: none !important;
        box-shadow: 0 12px 28px rgba(7, 13, 28, .16) !important;
    }
    .prt-header-style-01 .site-navigation #logo-img {
        width: 156px !important;
        max-height: 54px !important;
    }
    #site-header-menu nav.main-menu {
        height: 86px !important;
        margin-left: clamp(30px, 3vw, 52px) !important;
    }
    #site-header-menu nav.main-menu > ul.menu > li > a {
        min-height: 86px !important;
        line-height: 1.2 !important;
    }
}

@media (max-width: 1199px) {
    .prt-header-style-01 .site-navigation > div:first-child {
        width: auto !important;
        margin-left: 0 !important;
        padding: 8px 14px !important;
        flex: 0 0 auto !important;
        clip-path: none !important;
        border-right: 1px solid rgba(216, 224, 226, .72);
        border-radius: 0 16px 16px 0;
        background: #ffffff !important;
        filter: none !important;
        box-shadow: 0 10px 24px rgba(7, 13, 28, .14) !important;
    }
    .prt-header-style-01 .site-navigation .home-link,
    .shrey-hero-secondary { min-height: 44px !important; }
    .shrey-stories .testimonial-premium-slider .slick-dots button {
        min-width: 44px;
        min-height: 44px;
    }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .shrey-mobile-nav,
    .shrey-more-sheet { animation: none !important; }
}
