/* Full menu popup and persistent bottom navigation */
html.portal-menu-open{overflow:hidden}
.portal-menu-overlay{position:fixed;inset:0 0 38px;z-index:210;display:flex;align-items:flex-end;justify-content:center;padding:18px;background:rgba(3,24,49,.58);visibility:hidden;opacity:0;transition:visibility .35s,opacity .35s}
.portal-menu-overlay.is-open{visibility:visible;opacity:1}
.portal-menu-sheet{width:min(1460px,100%);max-height:calc(100vh - 100px);overflow:hidden;border:1px solid rgba(255,255,255,.28);border-radius:24px 24px 10px 10px;background:#f8fbfd;box-shadow:0 28px 80px rgba(0,28,62,.42);transform:translateY(calc(100% + 30px));transition:transform .45s cubic-bezier(.2,.72,.2,1)}
.portal-menu-overlay.is-open .portal-menu-sheet{transform:translateY(0)}
.portal-menu-header{min-height:96px;padding:13px 28px;position:relative;display:grid;grid-template-columns:minmax(290px,1fr) minmax(300px,1.5fr) auto 48px;gap:24px;align-items:center;background:linear-gradient(110deg,#06376b,#001f48);color:#fff}
.portal-popup-brand{display:flex;gap:14px;align-items:center}.portal-popup-brand>i{width:62px;height:62px;display:grid;place-items:center;border:2px solid #fff;border-radius:50%;font-style:normal;font-size:34px}.portal-popup-brand small,.portal-popup-brand strong{display:block}.portal-popup-brand small{font-size:14px}.portal-popup-brand strong{font-size:34px;line-height:1}
.portal-menu-header>p{margin:0;text-align:center;font-family:serif;font-size:22px;font-style:italic;letter-spacing:.08em}.portal-menu-header>a{min-width:250px;padding:8px 20px;display:flex;flex-direction:column;align-items:center;border-radius:16px;background:#fff;color:var(--navy)}.portal-menu-header>a small{font-size:11px;font-weight:800}.portal-menu-header>a b{font-size:25px}.portal-menu-close{width:48px;height:48px;padding:0;border:0;background:transparent;color:#fff;font-size:46px;font-weight:200;line-height:1;cursor:pointer}
.portal-menu-content{display:grid;grid-template-columns:minmax(0,3fr) minmax(330px,1.25fr);max-height:calc(100vh - 250px);overflow:auto}.portal-menu-cards{padding:18px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;background:#fff}
.portal-menu-card{--menu-color:#1569be;min-width:0;padding:18px 20px;border:1px solid #dde5ed;border-top:6px solid var(--menu-color);border-radius:12px;background:#fff;box-shadow:0 5px 16px rgba(5,39,75,.08)}.portal-menu-card.menu-purple{--menu-color:#6e25ce}.portal-menu-card.menu-orange{--menu-color:#ff4a19}.portal-menu-card.menu-teal{--menu-color:#079b94}.portal-menu-card.menu-green{--menu-color:#078d3b}.portal-menu-card.menu-navy{--menu-color:#0968c5}
.portal-menu-card-head{display:flex;align-items:center;gap:13px;padding-bottom:13px}.portal-menu-card-head>i{width:58px;height:58px;flex:0 0 58px;display:grid;place-items:center;border-radius:50%;background:var(--menu-color);color:#fff;font-style:normal;font-size:27px}.portal-menu-card-head b,.portal-menu-card-head small{display:block}.portal-menu-card-head b{color:var(--menu-color);font-size:21px}.portal-menu-card-head small{color:#657588;font-size:11px}.portal-menu-card ul{margin:0;padding:0;list-style:none}.portal-menu-card li{border-top:1px solid #e1e7ed}.portal-menu-card li a{min-width:0;padding:10px 4px;display:flex;justify-content:space-between;align-items:center;font-size:14px;font-weight:700}.portal-menu-card li a:hover{color:var(--menu-color)}.portal-menu-card li span{font-size:22px;font-weight:400}
.portal-search-side{padding:22px;display:flex;flex-direction:column;gap:14px;background:linear-gradient(rgba(232,242,249,.88),rgba(244,248,251,.95)),url('/images/portal/sidebar-ad-condolence-wreath-20260826.png') right top/cover no-repeat}.portal-search-intro small,.portal-search-intro strong{display:block;color:var(--navy)}.portal-search-intro small{font-size:13px}.portal-search-intro strong{font-size:34px}.portal-search-intro p{margin:3px 0 0;color:#485e74;font-size:13px}
.portal-search-form{padding:18px;border-radius:14px;background:rgba(255,255,255,.96);box-shadow:0 7px 20px rgba(7,43,78,.1)}.portal-search-title{display:flex;gap:12px;align-items:center;margin-bottom:12px}.portal-search-title>i{color:var(--navy);font-style:normal;font-size:46px;line-height:1}.portal-search-title b,.portal-search-title small{display:block}.portal-search-title b{font-size:22px}.portal-search-title small{color:#637387;font-size:10px}.portal-search-form label{margin-top:9px;display:grid;grid-template-columns:88px minmax(0,1fr);gap:8px;align-items:center}.portal-search-form label>span{font-size:13px;font-weight:900}.portal-search-form select,.portal-search-form input{width:100%;height:40px;padding:0 12px;border:1px solid #bbc9d8;border-radius:6px;background:#fff}.portal-search-form>button{width:100%;height:52px;margin-top:13px;border:0;border-radius:12px;background:linear-gradient(90deg,#052b5b,#063c77);color:#fff;font-size:18px;font-weight:900;cursor:pointer}
.portal-popup-call{margin-top:auto;padding:14px;display:flex;flex-direction:column;align-items:center;border-radius:14px;background:rgba(255,255,255,.92);color:var(--navy);box-shadow:0 6px 18px rgba(4,37,71,.08)}.portal-popup-call small{font-weight:900}.portal-popup-call strong{font-size:27px}.portal-menu-quote{min-height:58px;padding:14px;text-align:center;background:linear-gradient(90deg,#002b59,#074a84);color:#fff;font-size:15px}
.bottom-fixed-menu{height:48px;position:fixed;z-index:250;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(4,1fr);box-shadow:0 -4px 14px rgba(5,36,68,.16)}.bottom-fixed-menu button{height:48px;padding:0;display:grid;place-items:center;border:0;color:#fff;font-size:14px;cursor:pointer}.bottom-fixed-menu button:nth-child(1){background:#6f259f}.bottom-fixed-menu button:nth-child(2){background:#23a7e2}.bottom-fixed-menu button:nth-child(3){background:#ff4c32}.bottom-fixed-menu button:nth-child(4){background:#4d8c30}.bottom-fixed-menu button:hover{filter:brightness(.94)}
.quick-panel-layer{position:fixed;inset:0 0 38px;z-index:240;display:flex;align-items:flex-end;justify-content:center;padding:18px;background:rgba(3,24,49,.16);backdrop-filter:blur(5px);visibility:hidden;opacity:0;pointer-events:none;transition:opacity .2s ease,visibility .2s}.quick-panel-layer.is-open{visibility:visible;opacity:1;pointer-events:auto}.quick-panel{width:min(1180px,calc(100% - 24px));position:relative;padding:24px;border:1px solid rgba(255,255,255,.72);border-radius:18px;background:rgba(255,255,255,.88);box-shadow:0 20px 55px rgba(2,27,56,.22);display:grid;grid-template-columns:280px minmax(0,1fr);gap:26px;align-items:center;transform:translateY(24px);transition:transform .22s ease}.quick-panel-layer.is-open .quick-panel{transform:translateY(0)}.quick-panel small{font-size:10px;font-weight:800;letter-spacing:.12em;color:#3b6f9d}.quick-panel h2{margin:3px 0 5px;font-size:25px}.quick-panel p{margin:0;color:#607186;font-size:11px}.quick-panel-close{width:34px;height:34px;position:absolute;right:12px;top:10px;border:0;background:transparent;color:#163a61;font-size:28px;cursor:pointer}.quick-panel form{display:grid;grid-template-columns:150px minmax(0,1fr) 110px;gap:8px}.quick-panel input,.quick-panel select,.quick-panel form>button{height:46px;padding:0 12px;border:1px solid rgba(130,154,178,.7);border-radius:7px;background:rgba(255,255,255,.9)}.quick-panel form>button{border-color:#082f5d;background:#082f5d;color:#fff;font-weight:800;cursor:pointer}.quick-consult-panel{background:rgba(220,197,158,.7);backdrop-filter:blur(9px)}.quick-consult-panel form{grid-template-columns:repeat(4,minmax(0,1fr)) 105px}.quick-region-panel{grid-template-columns:240px minmax(0,1fr)}.quick-region-list{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:7px}.quick-region-list a{padding:12px 5px;border:1px solid rgba(134,155,176,.55);border-radius:7px;background:rgba(255,255,255,.75);text-align:center;font-size:12px;font-weight:700}.quick-region-list a:hover{background:#082f5d;color:#fff}
body>footer{padding-bottom:48px}.floating-call{bottom:64px}
@media(max-width:1000px){.portal-menu-header{grid-template-columns:1fr auto 42px}.portal-menu-header>p{display:none}.portal-menu-header>a{min-width:210px}.portal-menu-content{grid-template-columns:1fr}.portal-menu-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-search-side{display:grid;grid-template-columns:1fr 1.3fr}.portal-popup-call{grid-column:1/-1}.portal-menu-quote{display:none}}
@media(max-width:768px){.portal-menu-overlay{inset:0 0 34px;padding:0;background:rgba(3,24,49,.64)}.portal-menu-sheet{width:100%;max-height:calc(100vh - 34px);border-radius:20px 20px 0 0}.portal-menu-header{min-height:150px;padding:20px 18px;display:flex;justify-content:center;background:linear-gradient(rgba(255,255,255,.92),rgba(255,255,255,.72)),url('/images/portal/sidebar-ad-condolence-wreath-20260826.png') right center/cover no-repeat;color:var(--navy)}.portal-popup-brand{flex-direction:column;gap:4px;text-align:center}.portal-popup-brand>i{width:52px;height:52px;border-color:var(--navy);font-size:29px}.portal-popup-brand small{font-size:13px}.portal-popup-brand strong{font-size:32px}.portal-menu-header>a,.portal-menu-header>p{display:none}.portal-menu-close{position:absolute;right:13px;top:11px;color:#222;font-size:42px}.portal-menu-content{display:block;max-height:calc(100vh - 184px);overflow-y:auto}.portal-menu-cards{padding:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;background:#f7f9fb}.portal-menu-card{padding:13px;border-top-width:4px}.portal-menu-card-head{gap:9px;padding-bottom:9px}.portal-menu-card-head>i{width:44px;height:44px;flex-basis:44px;font-size:20px}.portal-menu-card-head b{font-size:17px}.portal-menu-card-head small{font-size:9px}.portal-menu-card li a{padding:9px 2px;font-size:12px}.portal-search-side{padding:12px;display:block}.portal-search-intro{display:none}.portal-search-form{padding:14px}.portal-search-form label{grid-template-columns:72px 1fr}.portal-popup-call{margin-top:12px}.bottom-fixed-menu,.bottom-fixed-menu button,.bottom-fixed-menu a{height:34px}.bottom-fixed-menu button,.bottom-fixed-menu a{font-size:9px}.floating-call{bottom:46px}body>footer{padding-bottom:34px}}
@media(max-width:420px){.portal-menu-header{min-height:125px}.portal-menu-content{max-height:calc(100vh - 159px)}.portal-menu-card{padding:10px}.portal-menu-card-head{align-items:flex-start}.portal-menu-card-head>i{width:36px;height:36px;flex-basis:36px;font-size:16px}.portal-menu-card-head b{font-size:15px}.portal-menu-card-head small{display:none}.portal-menu-card li a{font-size:11px}.portal-search-form label{grid-template-columns:1fr;gap:3px}.portal-search-form select,.portal-search-form input{height:42px}.bottom-fixed-menu button,.bottom-fixed-menu a{font-size:8px}}

/* Header two-level mega menu */
.nav-bar{overflow:visible}
.nav-bar .nav-inner{z-index:2}
.nav-bar .primary-nav{justify-content:stretch}
.nav-bar .primary-nav-link{position:relative;flex:1;white-space:nowrap}
.header-mega-menu{position:absolute;left:0;right:0;top:100%;z-index:1;padding:0 0 18px;border-top:1px solid rgba(255,255,255,.16);background:#fff;color:#102c4f;box-shadow:0 18px 35px rgba(2,27,56,.2);visibility:hidden;opacity:0;pointer-events:none;transform:translateY(-10px);transition:opacity .2s ease,transform .2s ease,visibility .2s}
.nav-bar.mega-open .header-mega-menu{visibility:visible;opacity:1;pointer-events:auto;transform:translateY(0)}
.header-mega-inner{padding-top:0}
.header-mega-heading{display:flex;align-items:flex-end;gap:14px;padding:0 2px 13px;border-bottom:2px solid #092f5d}
.header-mega-heading strong{font-size:22px;color:#092f5d}
.header-mega-heading small{padding-bottom:2px;color:#6a7888;font-size:12px}
.header-mega-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border:1px solid #dde5ee;border-top:0;border-radius:0 0 12px 12px;overflow:hidden;background:#fff}
.header-mega-column{--mega-color:#1267b8;min-width:0;padding:18px 16px 16px;border-right:1px solid #e2e8ef;border-top:4px solid var(--mega-color)}
.header-mega-column:last-child{border-right:0}
.header-mega-column.menu-purple{--mega-color:#6c2ac4}.header-mega-column.menu-orange{--mega-color:#ee4b1c}.header-mega-column.menu-teal{--mega-color:#07938e}.header-mega-column.menu-green{--mega-color:#148b44}.header-mega-column.menu-navy{--mega-color:#174d87}
.header-mega-title{display:flex;align-items:center;gap:9px;padding-bottom:13px;color:var(--mega-color)}
.header-mega-title>i{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--mega-color) 13%,white);font-style:normal;font-size:19px}
.header-mega-title b,.header-mega-title small{display:block}
.header-mega-title b{font-size:17px;white-space:nowrap}.header-mega-title small{margin-top:2px;color:#7a8795;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.header-mega-column ul{margin:0;padding:0;list-style:none;border-top:1px solid #e3e8ee}
.header-mega-column li a{min-width:0;padding:10px 2px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #edf0f4;color:#263b53;font-size:13px;font-weight:700}
.header-mega-column li:last-child a{border-bottom:0}.header-mega-column li a:hover{padding-left:7px;background:#f6f9fc;color:var(--mega-color)}.header-mega-column li span{font-size:18px;color:#91a0b0}
@media(max-width:1250px){.header-mega-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.header-mega-column:nth-child(3){border-right:0}.header-mega-column:nth-child(-n+3){border-bottom:1px solid #e2e8ef}}
@media(max-width:768px){.nav-bar .nav-inner{justify-content:flex-end}.header-mega-menu{top:48px;max-height:calc(100vh - 104px);padding-bottom:10px;overflow-y:auto}.nav-bar.mega-open .header-mega-menu{transform:none}.header-mega-inner{width:100%;padding:0 10px 10px}.header-mega-grid{grid-template-columns:repeat(2,minmax(0,1fr));border-radius:0 0 8px 8px}.header-mega-column{padding:12px 10px;border-bottom:1px solid #e2e8ef}.header-mega-column:nth-child(2n){border-right:0}.header-mega-column:nth-child(3){border-right:1px solid #e2e8ef}.header-mega-title{gap:7px;padding-bottom:8px}.header-mega-title>i{width:32px;height:32px;flex-basis:32px;font-size:15px}.header-mega-title b{font-size:14px}.header-mega-title small{display:none}.header-mega-column li a{padding:8px 1px;font-size:11px}}
@media(max-width:420px){.header-mega-heading small{display:none}.header-mega-column{padding:10px 8px}.header-mega-title>i{display:none}.header-mega-title b{font-size:13px}.header-mega-column li a{font-size:10.5px}}
@media(max-width:768px){.quick-panel-layer{inset:0 0 34px;padding:8px}.quick-panel{width:100%;padding:20px 14px 14px;grid-template-columns:1fr;gap:12px;border-radius:16px 16px 5px 5px}.quick-panel h2{font-size:20px}.quick-panel p{font-size:10px}.quick-panel form,.quick-consult-panel form{grid-template-columns:1fr 1fr}.quick-panel form>button{grid-column:1/-1}.quick-search-panel form input{grid-column:2}.quick-region-panel{grid-template-columns:1fr}.quick-region-list{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.quick-region-list a{padding:9px 2px;font-size:10px}}
@media(max-width:420px){.quick-panel form,.quick-consult-panel form{grid-template-columns:1fr}.quick-search-panel form input,.quick-panel form>button{grid-column:auto}.quick-region-list{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* Persistent quick navigation dimensions */
.portal-menu-overlay{bottom:48px}.quick-panel-layer{bottom:48px}
@media(max-width:768px){.portal-menu-overlay,.quick-panel-layer{bottom:42px}.bottom-fixed-menu,.bottom-fixed-menu button,.bottom-fixed-menu a{height:42px}.bottom-fixed-menu button,.bottom-fixed-menu a{font-size:10px}.floating-call{bottom:54px}body>footer{padding-bottom:42px}}
