.sacred-announcement {
    position: relative;
    overflow: hidden;
    background: linear-gradient(90deg, #1d050a, var(--pj-wine-900), #1d050a);
    color: var(--pj-gold-100);
    border-block: 1px solid rgba(231,201,142,.16);
    text-align: center;
    padding: 8px 0;
    font-size: .76rem;
    font-weight: 700;
    letter-spacing: .09em;
}
.sacred-announcement::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: radial-gradient(circle at 50% 0, rgba(231,201,142,.12), transparent 52%);
}
.sacred-announcement .site-container { position: relative; }

.site-header {
    position: sticky;
    top: 0;
    z-index: 60;
    background: rgba(251, 246, 236, .9);
    border-bottom: 1px solid rgba(71, 16, 31, .09);
    box-shadow: 0 8px 30px rgba(34,7,13,.04);
    backdrop-filter: blur(18px) saturate(1.25);
}
.header-inner {
    min-height: 82px;
    display: flex;
    align-items: center;
    gap: 28px;
}
.brand {
    display: inline-flex;
    align-items: center;
    gap: 13px;
    min-width: 225px;
}
.sacred-brand-mark,
.brand-mark {
    position: relative;
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(201, 155, 77, .62);
    border-radius: 50%;
    background:
        radial-gradient(circle, #fffaf0 0 38%, #f4e2bd 39% 41%, #fffaf0 42% 60%, transparent 61%),
        var(--pj-paper);
    color: var(--pj-wine-800);
    font-family: var(--pj-serif);
    font-size: 1.28rem;
    box-shadow: 0 8px 24px rgba(71,16,31,.12), inset 0 0 0 4px rgba(255,255,255,.7);
}
.sacred-brand-mark::before,
.brand-mark::before {
    content: "";
    position: absolute;
    inset: -5px;
    border: 1px solid rgba(201,155,77,.22);
    border-radius: 50%;
}
.brand-logo img { max-height: 56px; width: auto; }
.brand-copy { min-width: 0; display: flex; flex-direction: column; line-height: 1.16; }
.brand-copy strong {
    color: var(--pj-wine-900);
    font-family: var(--pj-serif);
    font-size: 1.12rem;
    font-weight: 600;
    letter-spacing: -.015em;
}
.brand-copy small { margin-top: 5px; color: var(--pj-muted); font-size: .67rem; letter-spacing: .065em; }

.primary-nav { margin-left: auto; }
.primary-menu,
.mobile-menu,
.footer-menu,
.footer-contact { list-style: none; margin: 0; padding: 0; }
.primary-menu { display: flex; align-items: center; gap: clamp(15px, 2vw, 27px); }
.primary-menu a {
    position: relative;
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    color: #4f3b3d;
    font-size: .88rem;
    font-weight: 760;
}
.primary-menu a::after {
    content: "";
    position: absolute;
    left: 50%;
    right: 50%;
    bottom: 5px;
    height: 1px;
    background: linear-gradient(90deg, var(--pj-gold-500), var(--pj-wine-700));
    transition: left .22s var(--pj-ease), right .22s var(--pj-ease);
}
.primary-menu a:hover,
.primary-menu .current-menu-item > a { color: var(--pj-wine-800); }
.primary-menu a:hover::after,
.primary-menu .current-menu-item > a::after { left: 0; right: 0; }

.header-actions { display: flex; align-items: center; gap: 12px; }
.text-action { color: var(--pj-wine-800); font-size: .85rem; font-weight: 850; }
.header-book-cta { min-height: 44px; padding-inline: 19px; }
.language-switcher {
    display: inline-flex;
    gap: 3px;
    padding: 4px;
    border: 1px solid rgba(71,16,31,.12);
    border-radius: 999px;
    background: rgba(255,253,248,.72);
    box-shadow: inset 0 1px rgba(255,255,255,.72);
}
.language-switcher a {
    min-width: 36px;
    min-height: 32px;
    display: grid;
    place-items: center;
    padding: 4px 8px;
    border-radius: 999px;
    color: var(--pj-muted);
    font-size: .7rem;
    font-weight: 850;
}
.language-switcher a[aria-current="true"] {
    background: linear-gradient(135deg, var(--pj-wine-800), var(--pj-wine-950));
    color: var(--pj-gold-100);
    box-shadow: 0 6px 14px rgba(34,7,13,.18);
}

.menu-toggle {
    display: none;
    width: 48px;
    height: 48px;
    margin-left: auto;
    padding: 12px;
    border: 1px solid rgba(71,16,31,.1);
    border-radius: 50%;
    background: rgba(255,253,248,.9);
    box-shadow: var(--pj-shadow-subtle);
}
.menu-toggle span { display: block; height: 2px; margin: 5px 0; border-radius: 2px; background: var(--pj-wine-800); transition: transform .2s ease, opacity .2s ease; }
.menu-toggle.is-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.menu-toggle.is-open span:nth-child(2) { opacity: 0; }
.menu-toggle.is-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.mobile-nav,
.mobile-nav-sheet {
    position: absolute;
    left: 0;
    right: 0;
    background: rgba(251,246,236,.98);
    border-bottom: 1px solid var(--pj-line-gold);
    box-shadow: 0 28px 80px rgba(34,7,13,.18);
    padding: 16px 0 28px;
    backdrop-filter: blur(18px);
}
.mobile-nav[hidden] { display: none; }
.mobile-menu li + li { border-top: 1px solid rgba(71,16,31,.08); }
.mobile-menu a {
    min-height: 52px;
    display: flex;
    align-items: center;
    padding: 12px 4px;
    color: var(--pj-wine-900);
    font-family: var(--pj-serif);
    font-size: 1.08rem;
    font-weight: 600;
}
.mobile-nav .button { margin-top: 18px; }

.section-head-row,
.split-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; margin-bottom: 34px; }
.ornament { color: var(--pj-gold-500); letter-spacing: .2em; opacity: .7; }

.puja-card,
.puja-product-card {
    border-color: rgba(71,16,31,.1);
    transition: transform .24s var(--pj-ease), box-shadow .24s var(--pj-ease), border-color .24s var(--pj-ease);
}
.puja-card:hover,
.puja-product-card:hover { transform: translateY(-5px); border-color: rgba(201,155,77,.4); box-shadow: var(--pj-shadow-elevated); }
.puja-card-media {
    position: relative;
    display: block;
    aspect-ratio: 16 / 11;
    overflow: hidden;
    background: linear-gradient(135deg, var(--pj-wine-800), var(--pj-wine-950));
}
.puja-card-media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 50%, rgba(34,7,13,.24));
    pointer-events: none;
}
.puja-card-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s var(--pj-ease); }
.puja-card:hover .puja-card-media img { transform: scale(1.035); }
.puja-card .card-body h3 { margin: 9px 0 10px; color: var(--pj-wine-900); font-family: var(--pj-serif); font-size: clamp(1.35rem, 2vw, 1.75rem); line-height: 1.12; }
.puja-card .card-body p { color: var(--pj-muted); }
.puja-card .card-link { margin-top: 22px; }

.sacred-placeholder {
    width: 100%;
    height: 100%;
    min-height: 180px;
    display: grid;
    place-items: center;
    background:
        radial-gradient(circle at 50% 42%, rgba(231,201,142,.2), transparent 24%),
        repeating-radial-gradient(circle at 50% 50%, transparent 0 24px, rgba(231,201,142,.08) 25px 26px),
        linear-gradient(135deg, var(--pj-wine-800), var(--pj-wine-950));
    color: var(--pj-gold-300);
}
.sacred-placeholder > span { font-family: var(--pj-serif); font-size: 2.8rem; text-shadow: 0 0 32px rgba(231,201,142,.3); }

.consultation-panel,
.sacred-panel {
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 34px;
    padding: clamp(30px, 5vw, 54px);
    border: 1px solid rgba(231,201,142,.2);
    border-radius: var(--pj-radius-lg);
    background:
        radial-gradient(circle at 85% 20%, rgba(231,201,142,.12), transparent 24%),
        linear-gradient(135deg, var(--pj-wine-900), var(--pj-wine-800));
    color: #fff8eb;
    box-shadow: var(--pj-shadow-ceremonial);
}
.consultation-panel::after,
.sacred-panel::after {
    content: "";
    position: absolute;
    right: -70px;
    bottom: -105px;
    width: 250px;
    height: 250px;
    border: 1px solid rgba(231,201,142,.12);
    border-radius: 50%;
    box-shadow: 0 0 0 26px rgba(231,201,142,.025), 0 0 0 52px rgba(231,201,142,.02);
}
.consultation-panel > * { position: relative; z-index: 1; }
.consultation-panel h2 { margin: 7px 0 10px; font-family: var(--pj-serif); font-size: clamp(2rem, 3.7vw, 3.4rem); font-weight: 500; line-height: 1.04; }
.consultation-panel p { max-width: 650px; margin: 0; color: rgba(255,248,235,.7); }
.consultation-actions { display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; }

.pj-faq-list { display: grid; gap: 13px; }
.pj-faq-item,
.faq-list details {
    overflow: hidden;
    border: 1px solid var(--pj-line);
    border-radius: var(--pj-radius-sm);
    background: var(--pj-paper);
    box-shadow: 0 8px 24px rgba(57,20,29,.04);
}
.pj-faq-item summary,
.faq-list summary {
    min-height: 62px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 15px 20px;
    cursor: pointer;
    color: var(--pj-wine-900);
    font-weight: 850;
    list-style: none;
}
.pj-faq-item summary::-webkit-details-marker,
.faq-list summary::-webkit-details-marker { display: none; }
.pj-faq-item summary span,
.faq-list summary span {
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: var(--pj-gold-100);
    color: var(--pj-wine-800);
    transition: transform .2s ease;
}
details[open] > summary span { transform: rotate(45deg); }
.pj-faq-answer,
.faq-list details > p { padding: 0 20px 20px; color: var(--pj-muted); }

.site-footer,
.footer-luxury {
    position: relative;
    overflow: hidden;
    padding: 82px 0 100px;
    background:
        radial-gradient(circle at 20% 15%, rgba(231,201,142,.08), transparent 28%),
        radial-gradient(circle at 90% 80%, rgba(201,155,77,.06), transparent 30%),
        linear-gradient(145deg, #190408, var(--pj-wine-950) 55%, #2f0a13);
    color: #efe4dd;
}
.footer-luxury::before,
.site-footer::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .07;
    background-image: repeating-radial-gradient(circle at 75% 20%, transparent 0 31px, rgba(231,201,142,.7) 32px 33px);
}
.footer-grid { position: relative; display: grid; grid-template-columns: 1.45fr .85fr .85fr; gap: 54px; }
.brand-footer .brand-copy strong { color: #fff8eb; }
.brand-footer .brand-copy small { color: rgba(255,248,235,.58); }
.footer-brand p { max-width: 460px; color: rgba(255,248,235,.64); }
.site-footer h2 { margin-top: 5px; color: var(--pj-gold-300); font-family: var(--pj-serif); font-size: 1.08rem; font-weight: 600; }
.footer-menu li, .footer-contact li { margin: 11px 0; color: rgba(255,248,235,.72); }
.footer-menu a:hover, .footer-contact a:hover { color: var(--pj-gold-300); }
.footer-bottom {
    position: relative;
    display: flex;
    justify-content: space-between;
    gap: 20px;
    margin-top: 50px;
    padding-top: 25px;
    border-top: 1px solid rgba(231,201,142,.12);
    color: rgba(255,248,235,.48);
    font-size: .79rem;
}

.mobile-actions,
.mobile-action-dock { display: none; }

.pj-consent {
    position: fixed;
    z-index: 10000;
    left: 22px;
    bottom: 88px;
    max-width: 470px;
    padding: 21px;
    border: 1px solid var(--pj-line-gold);
    border-radius: 20px;
    background: rgba(255,253,248,.98);
    box-shadow: var(--pj-shadow-elevated);
    color: var(--pj-ink);
}
.pj-consent p { margin: 0 0 14px; color: var(--pj-muted); font-size: .88rem; }
.pj-consent > div { display: flex; gap: 8px; flex-wrap: wrap; }
.pj-consent-reset {
    position: fixed;
    z-index: 9999;
    right: 18px;
    bottom: 78px;
    border: 1px solid var(--pj-line-gold);
    border-radius: 999px;
    background: var(--pj-paper);
    color: var(--pj-wine-800);
    padding: 7px 11px;
    font-size: .68rem;
    cursor: pointer;
}

@media (max-width: 1060px) {
    .primary-nav, .header-actions { display: none; }
    .menu-toggle { display: block; }
    .header-inner { min-height: 72px; }
    .footer-grid { grid-template-columns: 1fr 1fr; }
    .footer-brand { grid-column: 1 / -1; }
}

@media (max-width: 760px) {
    body { padding-bottom: calc(76px + env(safe-area-inset-bottom)); }
    .brand { min-width: 0; max-width: calc(100% - 60px); }
    .brand-copy small { display: none; }
    .brand-copy strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .mobile-nav { max-height: calc(100vh - 72px); overflow: auto; }
    .section-head-row, .split-heading { align-items: flex-start; flex-direction: column; gap: 14px; }
    .consultation-panel { align-items: stretch; flex-direction: column; }
    .consultation-actions { justify-content: flex-start; }
    .footer-grid { grid-template-columns: 1fr; }
    .footer-brand { grid-column: auto; }
    .footer-bottom { flex-direction: column; }
    .site-footer { padding-bottom: 70px; }
    .mobile-actions,
    .mobile-action-dock {
        position: fixed;
        z-index: 80;
        left: 10px;
        right: 10px;
        bottom: max(8px, env(safe-area-inset-bottom));
        height: 66px;
        display: grid;
        grid-template-columns: 1fr 1.18fr 1fr;
        padding: 6px;
        border: 1px solid rgba(71,16,31,.12);
        border-radius: 22px;
        background: rgba(255,253,248,.94);
        box-shadow: 0 16px 48px rgba(34,7,13,.2);
        backdrop-filter: blur(18px);
    }
    .mobile-actions a {
        min-height: 48px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 1px;
        border-radius: 16px;
        color: var(--pj-wine-800);
        font-size: .69rem;
        font-weight: 850;
    }
    .mobile-actions a span { font-size: 1rem; }
    .mobile-actions .mobile-book {
        margin: -14px 2px 0;
        min-height: 64px;
        background: linear-gradient(145deg, var(--pj-wine-700), var(--pj-wine-950));
        color: var(--pj-gold-100);
        border: 1px solid rgba(231,201,142,.2);
        box-shadow: 0 10px 26px rgba(34,7,13,.28);
    }
    .pj-consent { left: 12px; right: 12px; bottom: 92px; max-width: none; }
    .pj-consent-reset { right: 12px; bottom: 90px; }
}

@media (prefers-reduced-motion: reduce) {
    .puja-card:hover, .puja-product-card:hover { transform: none; }
    .puja-card:hover .puja-card-media img { transform: none; }
}

/* Sacred Royal 3.0 global shell */
.sr-announcement { background: linear-gradient(90deg, #16070d, #641b2e 46%, #300b14); border: 0; color: #f5e7c9; }
.sr-announcement-inner { min-height: 34px; display: flex; align-items: center; justify-content: center; gap: 12px; font-size: .78rem; letter-spacing: .025em; }
.sr-announcement-inner a { color: var(--pj-gold-300); font-weight: 800; margin-left: 8px; }
.sr-announcement-mark { color: var(--pj-gold-500); }
.site-header.sr-header { background: rgba(255,253,248,.9); border-bottom-color: rgba(100,27,46,.08); backdrop-filter: blur(20px) saturate(1.1); transition: box-shadow .3s ease, background .3s ease, transform .3s ease; }
.site-header.sr-header.is-scrolled { background: rgba(255,253,248,.96); box-shadow: 0 14px 42px rgba(34,7,13,.1); }
.sr-header-inner { min-height: 78px; }
.sr-brand-mark { position: relative; overflow: hidden; background: radial-gradient(circle at 35% 30%, #f2dcaa, #c99b4d 58%, #7c5220); color: #300b14; box-shadow: 0 10px 30px rgba(183,131,50,.28); }
.sr-brand-mark::after { content: ""; position: absolute; inset: 4px; border: 1px solid rgba(48,11,20,.18); border-radius: inherit; }
.sr-brand-mark span { position: relative; z-index: 1; }
.sr-primary-nav .primary-menu > li > a { position: relative; font-size: .84rem; }
.sr-primary-nav .primary-menu > li > a::after { content: ""; position: absolute; left: 14px; right: 14px; bottom: 4px; height: 1px; background: var(--pj-gold-500); transform: scaleX(0); transition: transform .28s ease; }
.sr-primary-nav .primary-menu > li > a:hover::after,.sr-primary-nav .current-menu-item > a::after { transform: scaleX(1); }
.sr-header-actions { gap: 8px; }
.sr-head-icon { min-width: 42px; height: 42px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; padding-inline: 12px; border: 1px solid rgba(100,27,46,.1); border-radius: 14px; background: rgba(255,255,255,.56); }
.sr-whatsapp-link { color: #287c4a; }
.sr-book-cta { border-radius: 14px; min-height: 44px; }
.sr-mobile-panel { background: linear-gradient(160deg, rgba(255,253,248,.99), rgba(246,234,208,.98)); border-bottom: 1px solid rgba(201,155,77,.28); box-shadow: 0 30px 65px rgba(34,7,13,.18); }
.sr-mobile-head { display: flex; flex-direction: column; gap: 2px; padding: 18px 0; border-bottom: 1px solid rgba(100,27,46,.09); }
.sr-mobile-head strong { font-family: var(--pj-serif); font-size: 1.3rem; color: var(--pj-wine-900); }
.sr-mobile-head small { color: var(--pj-muted); }
.sr-mobile-actions { display: grid; gap: 10px; padding-block: 18px 6px; }

.sr-footer { position: relative; overflow: hidden; background: linear-gradient(145deg, #16070d, #300b14 54%, #47101f); }
.sr-footer::before { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .12; background-image: radial-gradient(circle at 15% 15%, #e7c98e 0 1px, transparent 1.5px); background-size: 32px 32px; }
.sr-footer > * { position: relative; z-index: 1; }
.sr-footer-cta { margin-bottom: 46px; padding: 30px 32px; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 24px; border: 1px solid rgba(231,201,142,.25); border-radius: 26px; background: linear-gradient(130deg, rgba(255,255,255,.075), rgba(201,155,77,.09)); box-shadow: inset 0 1px rgba(255,255,255,.08), 0 30px 70px rgba(0,0,0,.18); }
.sr-footer-cta h2 { margin: 8px 0 0; max-width: 760px; color: #fff8eb; font-family: var(--pj-serif); font-size: clamp(1.8rem,3.2vw,3rem); line-height: 1.05; font-weight: 500; }
.sr-footer-cta-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.sr-footer-grid { grid-template-columns: 1.35fr .8fr .8fr 1fr; }
.sr-footer-brand p { max-width: 420px; }
.sr-footer-badges { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.sr-footer-badges span { padding: 7px 10px; border-radius: 999px; color: rgba(255,248,235,.72); border: 1px solid rgba(231,201,142,.14); font-size: .72rem; }
.sr-footer-column h2 { color: var(--pj-gold-300); }
.sr-footer-contact li { display: flex; align-items: flex-start; gap: 9px; }

@media (max-width: 1100px) { .sr-action-label { display:none; } .sr-head-icon { padding-inline: 0; } .sr-footer-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 760px) {
    .sr-announcement-inner { justify-content: flex-start; overflow: hidden; white-space: nowrap; }
    .sr-announcement-inner a { display: none; }
    .sr-header-inner { min-height: 68px; }
    .sr-footer-cta { grid-template-columns: 1fr; padding: 24px; }
    .sr-footer-grid { grid-template-columns: 1fr; }
    .sr-footer-cta-actions .button { flex: 1; }
}

/* ==========================================================
   Reference Match v0.8.0 — announcement/header/footer shell
   ========================================================== */
.rm-announcement {
    background:
        radial-gradient(circle at 8% 50%, rgba(255,211,87,.16), transparent 17%),
        linear-gradient(90deg, #5a030c 0%, #9b091b 48%, #5a030c 100%);
    border-bottom: 1px solid rgba(255,215,109,.30);
    color: #fff1c5;
}
.rm-announcement .sr-announcement-inner { min-height: 42px; justify-content: center; gap: 14px; font-size: .8rem; }
.rm-announcement .sr-announcement-mark { color: #ffd96d; text-shadow: 0 0 15px rgba(255,215,87,.85); }
.rm-announcement a { margin-left: auto; color: #fff3c8; font-weight: 800; }
.rm-header {
    background: rgba(255, 250, 237, .97);
    border-bottom: 1px solid rgba(164, 100, 22, .15);
    box-shadow: 0 8px 26px rgba(80, 30, 15, .06);
}
.rm-header .sr-header-inner { min-height: 76px; }
.rm-header-brand .brand-mark {
    width: 44px; height: 44px; border-radius: 12px;
    background: linear-gradient(135deg, #fff6d9, #f2c85a);
    color: #7a0714; border: 1px solid rgba(168,102,22,.3);
    box-shadow: 0 8px 22px rgba(185,128,30,.18);
}
.rm-header-brand .brand-copy strong { font-family: var(--pj-serif); color: #3d170f; font-size: 1.08rem; }
.rm-header-brand .brand-copy small { color: #9a6b2c; font-size: .66rem; letter-spacing: .04em; }
.rm-header .primary-menu a { font-size: .82rem; font-weight: 700; color: #3e2b24; }
.rm-header .primary-menu a:hover { color: var(--rm-maroon); }
.rm-header .rm-header-cta { min-height: 42px; padding-inline: 20px; }
.rm-header .sr-whatsapp-link { color: #108344; }
.rm-footer {
    overflow: hidden;
    background:
      linear-gradient(90deg, rgba(25,3,7,.98), rgba(75,5,14,.93)),
      url('../images/reference/footer-temple-bg.jpg') right center / 44% auto no-repeat,
      #26050a;
    color: rgba(255,246,224,.78);
    border-top: 1px solid rgba(231,178,65,.24);
}
.rm-footer::before { content:""; position:absolute; inset:0; pointer-events:none; opacity:.18; background: radial-gradient(circle at 80% 20%, #e8ad35 0, transparent 22%); }
.rm-footer .sr-footer-cta { border: 1px solid rgba(236,188,84,.24); background: rgba(31,4,8,.58); backdrop-filter: blur(12px); }
.rm-footer h2, .rm-footer strong { color: #fff4ce; }
.rm-footer a { color: rgba(255,244,216,.78); }
.rm-footer a:hover { color: #ffd96d; }
.rm-footer-temple { position: relative; }
.rm-footer-blessing {
    border-top: 1px solid rgba(231,178,65,.17);
    color: rgba(255,242,211,.58);
}
.rm-footer-blessing::after { content: "May Maa Baglamukhi bless you always"; margin-left:auto; color:#e9bc58; font-family:var(--pj-serif); font-style:italic; }
@media (max-width: 980px) {
    .rm-header .header-actions .text-action { display:none; }
    .rm-footer { background-size: auto 55%; }
}
@media (max-width: 760px) {
    .rm-announcement .sr-announcement-inner { min-height:36px; font-size:.72rem; white-space:nowrap; overflow:hidden; }
    .rm-announcement a { display:none; }
    .rm-header .sr-header-inner { min-height:64px; }
    .rm-footer-blessing::after { display:none; }
}

/* =========================================================
   Final Exact Homepage v0.9.0 — utility, header, footer
   ========================================================= */
.fx-utility{position:relative;z-index:80;color:#ffe9a6;background:#42050a;border-bottom:1px solid rgba(231,182,66,.18)}
.fx-utility-inner{min-height:26px!important;display:grid!important;grid-template-columns:auto 1fr auto;align-items:center;gap:22px!important;padding-block:2px;font-family:var(--pj-sans);font-size:.64rem!important;letter-spacing:.01em}
.fx-utility-mantra,.fx-utility-contact{display:flex;align-items:center;gap:8px;white-space:nowrap}
.fx-utility-mantra>span:first-child{color:#ffcf4f;font-size:.84rem}
.fx-utility-benefits{text-align:center;color:#f3cc70;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fx-utility-contact{justify-content:flex-end}
.fx-utility-contact a{color:#fff0bd!important;font-weight:750}
.fx-utility-contact .fx-wa{width:17px;height:17px;display:grid;place-items:center;border-radius:50%;background:#27a844;color:white!important;font-size:.48rem}

.site-header.fx-header{position:sticky;top:0;z-index:70;background:linear-gradient(180deg,#5e0b12,#4a060c)!important;border-bottom:1px solid rgba(232,183,69,.24)!important;box-shadow:0 8px 24px rgba(31,0,5,.2);backdrop-filter:none!important}
.fx-header-inner{min-height:58px!important;display:grid!important;grid-template-columns:minmax(230px,1fr) auto minmax(120px,.45fr);align-items:center;gap:18px}
.fx-brand{min-width:0;display:flex;align-items:center;gap:10px;color:#fff6db!important}
.fx-brand-logo{width:50px;height:50px;display:grid;place-items:center;overflow:hidden}
.fx-brand-logo img{max-width:100%;max-height:48px;width:auto;height:auto;object-fit:contain}
.fx-brand-mark{width:43px!important;height:43px!important;border-radius:50%!important;color:#fee28a!important;border:1px solid rgba(240,198,90,.62)!important;background:radial-gradient(circle,#89131c,#43050a 72%)!important;box-shadow:0 0 0 3px rgba(240,198,90,.08)!important}
.fx-brand-copy{display:flex;flex-direction:column;line-height:1.05}
.fx-brand-copy strong{font-family:var(--pj-serif)!important;font-size:.98rem!important;color:#ffe58b!important;letter-spacing:.01em}
.fx-brand-copy small{margin-top:4px;color:#f1c761!important;font-size:.57rem!important;letter-spacing:.05em}
.fx-nav .primary-menu{display:flex;align-items:center;gap:0;margin:0;padding:0}
.fx-nav .primary-menu>li{position:relative}
.fx-nav .primary-menu a{display:flex;align-items:center;min-height:58px;padding:0 11px;color:#fff0d2!important;font-size:.69rem!important;font-weight:700!important;white-space:nowrap;border-bottom:2px solid transparent;transition:color .18s ease,border-color .18s ease,background .18s ease}
.fx-nav .primary-menu a:hover,.fx-nav .primary-menu .current-menu-item>a{color:#ffdf73!important;border-bottom-color:#f3b936;background:rgba(255,255,255,.025)}
.fx-header-actions{display:flex!important;justify-content:flex-end;align-items:center;gap:8px!important}
.fx-header-actions .language-switcher{border-color:rgba(239,194,80,.25);background:rgba(255,255,255,.05)}
.fx-header-actions .language-switcher a{color:#ffe49a}
.fx-book-cta{min-height:36px!important;padding:8px 15px!important;border-radius:7px!important;font-size:.69rem!important;white-space:nowrap}
.fx-menu-toggle{border-color:rgba(255,225,138,.3)!important}
.fx-menu-toggle span{background:#ffe298!important}
.fx-mobile-panel{background:linear-gradient(180deg,#4d070c,#250306)!important;color:#fff1d0!important;border-top:1px solid rgba(235,186,67,.18)!important}
.fx-mobile-panel .mobile-menu a{color:#fff1d0!important}
.fx-mobile-head{color:#ffe07b}
.fx-mobile-actions .button-outline{border-color:rgba(244,198,83,.34);color:#ffe9ab}

.fx-consult-strip{background:linear-gradient(90deg,#6e0b13,#51070d 58%,#360307);border-top:1px solid rgba(239,185,59,.28);border-bottom:1px solid rgba(239,185,59,.18);color:#fff0c7}
.fx-consult-strip-inner{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.fx-consult-strip-inner>div:first-child{display:flex;flex-direction:column;gap:3px}
.fx-consult-strip strong{font-family:var(--pj-serif);font-size:1.25rem;color:#ffe38a}
.fx-consult-strip span{font-size:.76rem;color:#efcfa1}
.fx-consult-strip-actions{display:flex;align-items:center;gap:12px}
.fx-footer-phone{display:inline-flex;align-items:center;min-height:40px;padding:8px 15px;border:1px solid rgba(240,191,69,.34);border-radius:6px;color:#ffe9ac!important;font-weight:800;font-size:.78rem}

.fx-footer{position:relative;background:#260306!important;color:#edd8b6!important;overflow:hidden}
.fx-footer::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(38,3,6,.97),rgba(38,3,6,.94)),url('../images/final/footer-bg.webp') center/cover no-repeat;opacity:.9;pointer-events:none}
.fx-footer>*{position:relative;z-index:1}
.fx-footer-main{padding:34px 0 28px;border-bottom:1px solid rgba(236,183,60,.13)}
.fx-footer-grid{display:grid!important;grid-template-columns:1.3fr .75fr .8fr 1fr!important;gap:36px!important;align-items:start}
.fx-footer-brandline{display:flex;gap:12px;align-items:center}
.fx-footer-mark{width:44px;height:44px;display:grid;place-items:center;border:1px solid rgba(236,183,60,.35);border-radius:50%;color:#f5c74f;font-family:var(--pj-serif);font-size:1.15rem}
.fx-footer-brandline>div{display:flex;flex-direction:column;line-height:1.08}
.fx-footer-brandline strong{font-family:var(--pj-serif);font-size:1rem;color:#ffe28a!important}
.fx-footer-brandline small{font-size:.59rem;color:#cfa95b}
.fx-footer-brand p{max-width:330px;margin:13px 0 0;font-size:.72rem;line-height:1.6;color:#c9aa82}
.fx-footer-col h2{margin:0 0 11px;color:#edbd4c!important;font-size:.8rem;font-family:var(--pj-serif)}
.fx-footer .footer-menu{display:grid;gap:5px;margin:0;padding:0;list-style:none}
.fx-footer .footer-menu a{font-size:.67rem;color:#d4b896!important}
.fx-footer .footer-menu a:hover{color:#ffe07a!important}
.fx-socials{display:flex;gap:7px;align-items:center;margin-bottom:10px}
.fx-socials a{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:#70101a;color:#ffe89d!important;border:1px solid rgba(242,192,68,.2);font-size:.62rem;font-weight:900}
.fx-footer-email{font-size:.65rem;color:#e4c592!important}
.fx-newsletter p{margin:0 0 8px;color:#caa87d;font-size:.68rem}
.fx-newsletter form{display:grid;grid-template-columns:1fr auto;gap:6px}
.fx-newsletter input{min-width:0;height:34px;border:1px solid rgba(234,184,61,.2);background:#fff7e8;border-radius:4px;padding:6px 8px;color:#32120e;font-size:.67rem}
.fx-newsletter button{height:34px;border:0;border-radius:4px;padding:0 10px;background:#efb83d;color:#32120e;font-size:.64rem;font-weight:850;cursor:pointer}
.fx-footer-legal{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:15px;font-size:.61rem;line-height:1.45}
.fx-footer-legal a{color:#d9bc8a!important;text-decoration:none;transition:color .2s ease,opacity .2s ease}
.fx-footer-legal a:hover{color:#ffe07a!important}
.fx-footer-legal span{color:#76503f;opacity:.9}
.fx-footer-bottom{background:#180104;border-top:1px solid rgba(255,255,255,.03)}
.fx-footer-bottom>.site-container{min-height:40px;display:flex;align-items:center;justify-content:center;gap:18px;color:#b99570;font-size:.6rem;text-align:center}
.pj-theme-credit-row{background:#180104;padding:10px 0 20px}
.pj-theme-credit-row>.site-container{display:flex;align-items:center;justify-content:center}
.pj-theme-credit{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:42px;padding:9px 18px;background:#fff;border:1px solid rgba(255,255,255,.88);border-radius:14px;box-shadow:0 8px 24px rgba(0,0,0,.2);color:#17233b!important;font-size:.68rem;font-weight:800;letter-spacing:.01em;white-space:nowrap;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}
.pj-theme-credit img{display:block;width:auto;height:20px;max-width:34px;object-fit:contain!important}
.pj-theme-credit span{color:#17233b!important}
.pj-theme-credit:hover{transform:translateY(-1px);box-shadow:0 10px 28px rgba(0,0,0,.26);color:#17233b!important}
.fx-mobile-dock{background:#3b0509!important;border-top-color:rgba(232,183,69,.28)!important}
.fx-mobile-dock a{color:#ffe8ad!important}
.fx-mobile-dock .mobile-book{background:#e7b642!important;color:#2c1108!important}

@media(max-width:1100px){
  .fx-header-inner{grid-template-columns:1fr auto}
  .fx-nav{display:none!important}
  .fx-header-actions{margin-left:auto}
  .fx-menu-toggle{display:inline-flex!important}
  .fx-footer-grid{grid-template-columns:1fr 1fr!important}
}
@media(max-width:760px){
  .fx-utility-inner{grid-template-columns:1fr auto!important;min-height:30px!important;gap:8px!important;padding-inline:0}
  .fx-utility-benefits{display:none}
  .fx-utility-mantra{font-size:.58rem}
  .fx-utility-contact a:first-child{display:none}
  .fx-header-inner{min-height:58px!important}
  .fx-brand-copy strong{font-size:.88rem!important}
  .fx-brand-copy small{font-size:.53rem!important}
  .fx-header-actions .language-switcher,.fx-header-actions .fx-book-cta{display:none}
  .fx-consult-strip-inner{padding:15px 0;min-height:unset;align-items:flex-start;flex-direction:column}
  .fx-consult-strip-actions{width:100%;flex-wrap:wrap}
  .fx-consult-strip-actions .button,.fx-footer-phone{flex:1}
  .fx-footer-grid{grid-template-columns:1fr!important;gap:24px!important}
  .fx-footer-main{padding:28px 0 82px}
  .fx-footer-bottom>.site-container{padding:12px 0;min-height:unset;align-items:center;justify-content:center;text-align:center}
  .fx-footer-legal{gap:6px 7px;margin-top:13px}
  .pj-theme-credit-row{padding:8px 0 86px}
  .pj-theme-credit{max-width:calc(100vw - 32px);min-height:40px;padding:8px 15px;font-size:.64rem;border-radius:13px}
}

/* =========================================================
   Responsive shell polish v0.9.1
   ========================================================= */
@media(max-width:1180px){
  .fx-header-inner{grid-template-columns:minmax(210px,1fr) auto minmax(110px,.35fr);gap:12px}
  .fx-nav .primary-menu a{padding-inline:8px;font-size:.66rem!important}
  .fx-footer-grid{grid-template-columns:1.2fr .8fr .8fr 1fr!important;gap:28px!important}
}
@media(max-width:980px){
  .fx-header-inner{grid-template-columns:1fr auto}
  .fx-nav{display:none!important}
  .fx-menu-toggle{display:inline-flex!important}
  .fx-footer-grid{grid-template-columns:1fr 1fr!important}
}
@media(max-width:760px){
  .site-header.fx-header{top:0}
  .fx-header-inner{min-height:58px!important;gap:10px}
  .fx-brand{max-width:calc(100vw - 90px)}
  .fx-brand-logo{width:42px;height:42px}
  .fx-brand-logo img{max-height:40px}
  .fx-brand-copy{min-width:0}
  .fx-brand-copy strong,.fx-brand-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .fx-footer-grid{grid-template-columns:1fr!important}
  .fx-mobile-dock{padding-bottom:max(8px,env(safe-area-inset-bottom))!important}
}
@media(max-width:430px){
  .fx-brand-copy strong{font-size:.8rem!important}
  .fx-brand-copy small{font-size:.48rem!important}
  .fx-mobile-panel{max-height:calc(100dvh - 88px);overflow-y:auto}
}


/* v1.1.71 — premium footer inspired by approved 3rd concept */
.fx-footer-royal{position:relative;background:#081121!important;color:#f3e3ba!important;overflow:hidden}
.fx-footer-royal::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,13,29,.96) 0,rgba(4,14,34,.92) 28%,rgba(4,12,28,.88) 55%,rgba(6,13,29,.93) 100%),url('../images/final/footer-royal-v1171.png') center/cover no-repeat;pointer-events:none;opacity:1}
.fx-footer-royal::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 14% 80%,rgba(247,188,73,.13),transparent 24%),radial-gradient(circle at 87% 22%,rgba(247,188,73,.1),transparent 18%);pointer-events:none}
.fx-footer-royal>*{position:relative;z-index:1}
.fx-footer-royal .fx-footer-main{padding:44px 0 24px;border-bottom:1px solid rgba(224,176,78,.18)}
.fx-footer-royal-shell{display:grid;grid-template-columns:minmax(280px,1.15fr) minmax(430px,1.4fr) minmax(300px,1fr);gap:34px;align-items:start}
.fx-footer-brand{padding-top:8px}
.fx-footer-brandcrest{width:86px;height:86px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(245,197,86,.45);box-shadow:inset 0 0 0 1px rgba(255,255,255,.04),0 18px 40px rgba(0,0,0,.22);background:linear-gradient(180deg,rgba(255,214,111,.08),rgba(255,214,111,.02));color:#f2c65d}
.fx-footer-brandcrest .pj-icon{width:44px;height:44px;stroke-width:1.45}
.fx-footer-brandname{margin:18px 0 8px;font-family:var(--pj-serif);font-size:clamp(2rem,3vw,3rem);line-height:.95;color:#f7d57b!important}
.fx-footer-tagline{margin:0;font-size:1rem;color:#ead39d;line-height:1.6}
.fx-footer-description{max-width:420px;margin:14px 0 0;color:#ccb98d;font-size:.95rem;line-height:1.75}
.fx-footer-socials{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.fx-footer-socials a{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(241,192,83,.6);background:rgba(7,18,40,.45);box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 12px 24px rgba(0,0,0,.2);color:#f2c85f!important;transition:transform .22s ease,background .22s ease,border-color .22s ease}
.fx-footer-socials a:hover{transform:translateY(-2px);background:rgba(13,28,59,.72);border-color:#ffd873}
.fx-footer-socials .pj-icon{width:23px;height:23px}
.fx-footer-links-wrap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;align-items:start;border-left:1px solid rgba(224,176,78,.2)}
.fx-footer-links-wrap>.fx-footer-col{padding:0 28px;min-height:100%}
.fx-footer-links-wrap>.fx-footer-col+.fx-footer-col{border-left:1px solid rgba(224,176,78,.2)}
.fx-footer-royal .fx-footer-col h2{margin:0 0 18px;color:#f2c85f!important;font-size:1.15rem;font-family:var(--pj-serif)}
.fx-footer-royal .footer-menu{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.fx-footer-royal .footer-menu li{margin:0;padding:0;list-style:none}
.fx-footer-royal .footer-menu a{display:inline-flex;align-items:flex-start;gap:12px;font-size:1.02rem;line-height:1.45;color:#f0e2c3!important;text-decoration:none;transition:color .2s ease,transform .2s ease}
.fx-footer-royal .footer-menu a:hover{color:#ffd871!important;transform:translateX(2px)}
.fx-footer-royal .footer-menu a .pj-icon{width:22px;height:22px;color:#efc254;flex:none;margin-top:1px}
.fx-footer-newsletter{padding:28px 30px;border-radius:28px;border:1px solid rgba(233,186,82,.42);background:linear-gradient(180deg,rgba(6,14,31,.74),rgba(8,17,36,.62));box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 24px 54px rgba(0,0,0,.24)}
.fx-footer-newsletter h2{margin:0 0 14px;color:#f5d57d;font-family:var(--pj-serif);font-size:clamp(1.8rem,2.5vw,2.5rem);line-height:1.1}
.fx-footer-newsletter p{margin:0 0 24px;color:#eee0bf;font-size:1rem;line-height:1.7}
.fx-footer-newsletter form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0;border-radius:20px;overflow:hidden;border:1px solid rgba(237,188,85,.34);background:rgba(8,19,42,.84)}
.fx-footer-newsletter input{min-width:0;height:72px;padding:0 24px;border:0;background:transparent;color:#f3e3ba;font-size:1rem}
.fx-footer-newsletter input::placeholder{color:#b9a37a;opacity:1}
.fx-footer-newsletter button{width:90px;height:72px;border:0;background:linear-gradient(180deg,#f0c75f,#dfae39);color:#211408;display:grid;place-items:center;cursor:pointer;transition:filter .2s ease,transform .2s ease}
.fx-footer-newsletter button:hover{filter:brightness(1.04)}
.fx-footer-newsletter button .pj-icon{width:30px;height:30px;stroke-width:1.8}
.fx-footer-royal .fx-footer-bottom{background:#081121;border-top:1px solid rgba(224,176,78,.12)}
.fx-footer-bottom-inner{min-height:76px;display:grid;grid-template-columns:1.1fr auto 1.1fr;gap:18px;align-items:center}
.fx-footer-bottom-inner>span{font-size:.95rem;color:#d7c094}
.fx-footer-royal .fx-footer-legal{display:flex;align-items:center;justify-content:center;gap:22px;flex-wrap:wrap;margin:0;font-size:.93rem}
.fx-footer-royal .fx-footer-legal a{color:#ecdab4!important;text-decoration:none}
.fx-footer-royal .fx-footer-legal a:hover{color:#ffd871!important}
.fx-footer-mantra{display:flex;align-items:center;justify-content:flex-end;gap:12px;color:#ebcb74;text-align:right}
.fx-footer-mantra .pj-icon{width:24px;height:24px}
.fx-footer-mantra em{font-style:normal;font-size:1rem;color:#e7d8b1}
.fx-footer-royal .pj-theme-credit-row{background:#081121;padding:10px 0 22px;border-top:1px solid rgba(255,255,255,.03)}
@media(max-width:1280px){.fx-footer-royal-shell{grid-template-columns:1fr 1.35fr}.fx-footer-newsletter{grid-column:1/-1}.fx-footer-links-wrap{border-left:0;border-top:1px solid rgba(224,176,78,.2);padding-top:20px}}
@media(max-width:980px){.fx-footer-royal .fx-footer-main{padding:34px 0 24px}.fx-footer-royal-shell{grid-template-columns:1fr;gap:26px}.fx-footer-links-wrap{grid-template-columns:1fr 1fr;border-top:0;padding-top:0}.fx-footer-links-wrap>.fx-footer-col{padding:0 0 0 22px}.fx-footer-links-wrap>.fx-footer-col:first-child,.fx-footer-links-wrap>.fx-footer-col:nth-child(3){padding-left:0}.fx-footer-links-wrap>.fx-footer-col:nth-child(3){grid-column:1/-1;border-left:0;padding-top:18px;border-top:1px solid rgba(224,176,78,.18)}.fx-footer-links-wrap>.fx-footer-col+.fx-footer-col{border-left:1px solid rgba(224,176,78,.2)}.fx-footer-links-wrap>.fx-footer-col:nth-child(3){border-left:0}.fx-footer-bottom-inner{grid-template-columns:1fr;min-height:unset;padding:16px 0 6px;text-align:center}.fx-footer-bottom-inner>span,.fx-footer-mantra{text-align:center;justify-content:center}.fx-footer-royal .fx-footer-legal{justify-content:center}}
@media(max-width:640px){.fx-footer-brandcrest{width:72px;height:72px}.fx-footer-brandcrest .pj-icon{width:36px;height:36px}.fx-footer-brandname{font-size:2.3rem}.fx-footer-tagline,.fx-footer-description{font-size:.95rem}.fx-footer-socials a{width:48px;height:48px}.fx-footer-links-wrap{grid-template-columns:1fr;gap:22px}.fx-footer-links-wrap>.fx-footer-col{padding:0!important;border-left:0!important;border-top:1px solid rgba(224,176,78,.18);padding-top:18px!important}.fx-footer-links-wrap>.fx-footer-col:first-child{border-top:0;padding-top:0!important}.fx-footer-newsletter{padding:22px 18px;border-radius:24px}.fx-footer-newsletter h2{font-size:1.8rem}.fx-footer-newsletter p{font-size:.94rem;margin-bottom:18px}.fx-footer-newsletter form{grid-template-columns:minmax(0,1fr) 74px;border-radius:18px}.fx-footer-newsletter input,.fx-footer-newsletter button{height:60px}.fx-footer-bottom-inner>span{font-size:.86rem}.fx-footer-royal .fx-footer-legal{gap:12px 18px;font-size:.85rem}.fx-footer-mantra{gap:8px;flex-wrap:wrap}.fx-footer-mantra em{font-size:.88rem}.fx-footer-royal .pj-theme-credit-row{padding:10px 0 86px}}
