/* ==========================================================================
   Theme layer on top of design.css (the approved design, unchanged).
   ========================================================================== */

[hidden]{display:none !important}
.sr-only{position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:absolute;left:12px;top:-60px;z-index:200;padding:10px 16px;border-radius:12px;background:var(--navy);color:#FFFFFF;font-weight:700;text-decoration:none;transition:top .2s ease}
.skip:focus{top:12px;color:#FFFFFF}
.admin-bar .hdr{top:32px}
@media (max-width:782px){.admin-bar .hdr{top:46px}}
@media (max-width:600px){.admin-bar .hdr{top:0}}

/* English side: Latin-first font stack */
.lang-en .sa,.lang-en .sa :where(h1,h2,h3,h4,p,a,span,strong,small,li,button,input,select,textarea,label,figcaption,div){font-family:'Inter','Noto Sans Bengali',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif}
.lang-en .h1{line-height:1.2;letter-spacing:-.02em}
.lang-en .h2{line-height:1.25;letter-spacing:-.015em}
.lang-en .p,.lang-en .prose p{line-height:1.75}

/* ---------- header extras ---------- */
.hdr{transition:box-shadow .3s ease,background-color .3s ease}
.hdr.scrolled{box-shadow:0 10px 30px -18px rgba(74,29,63,.35);background:rgba(255,255,255,.97)}
.lang-sw{display:inline-flex;align-items:center;gap:6px;min-height:44px;min-width:44px;justify-content:center;padding:0 12px;border-radius:12px;border:1px solid #EBD9E3;background:#FFFFFF;color:var(--navy);font-weight:700;font-size:14px;text-decoration:none;transition:border-color .2s ease,background-color .2s ease}
.lang-sw svg{color:var(--teal-ink)}
.lang-sw:hover{border-color:var(--navy);color:var(--navy)}
@media (max-width:430px){
	.hdr-act{gap:6px}
	.lang-sw{width:40px;min-width:40px;min-height:40px;height:40px;padding:0;font-size:13px}
	.lang-sw svg{display:none}
	.hdr-call,.burger{width:40px;height:40px}
	.brand{gap:8px}
	.brand .mono{width:38px;height:38px;font-size:13px}
	.brand-name{font-size:15px}
	.brand-name,.brand-sub{overflow:hidden;text-overflow:ellipsis}
}
@media (max-width:359px){.brand-sub{display:none}.brand-name{font-size:14px}}
.progress{position:absolute;left:0;right:0;bottom:-1px;height:2px;pointer-events:none}
.progress span{display:block;height:100%;width:100%;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,#C2185B,#F48FB1)}
.brand .mono{flex:none}
.brand-ft{color:#FFFFFF}
.brand-ft .brand-sub{display:block;color:#D3B5C5}
.brand-ft .mono{background:#FFFFFF;color:var(--navy)}
.brand-ft .mono::after{border-color:var(--navy-d)}

/* ---------- centred page header (inner pages without a side photo) ---------- */
.phero-c .phero-grid{justify-items:center}
.phero-c .in{display:flex;flex-direction:column;align-items:center;width:100%;max-width:880px;margin:0 auto;text-align:center}
.phero-c .crumb{justify-content:center}
.phero-c .crumb a:first-child{margin-left:0}
.phero-c .h1{max-width:820px}
.phero-c .phero-lead{max-width:680px;margin-left:auto;margin-right:auto}
.phero-c .jump,.phero-c .phero-chips{justify-content:center}
.phero-c .orb-a{right:auto;left:50%;top:-170px;margin-left:-160px}
.phero-c .hero-lines{-webkit-mask-image:radial-gradient(70% 60% at 50% 35%,#000 0%,transparent 78%);mask-image:radial-gradient(70% 60% at 50% 35%,#000 0%,transparent 78%)}
.phero-c .hero-bg{background:radial-gradient(60% 55% at 50% 0%,rgba(214,51,108,.30),rgba(214,51,108,0) 70%),radial-gradient(50% 45% at 0% 100%,rgba(122,46,94,.45),rgba(122,46,94,0) 70%),radial-gradient(50% 45% at 100% 100%,rgba(122,46,94,.45),rgba(122,46,94,0) 70%),linear-gradient(165deg,#2E1027 0%,#4A1D3F 55%,#5A1E45 100%)}

/* ---------- image placeholders (until the real photos are uploaded) ---------- */
.ph-empty{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:100%;background:radial-gradient(120% 90% at 30% 20%,#FBE4EE 0%,#F3D3E2 45%,#E9BDD2 100%);color:#A3154F}
.ph-empty svg{width:44px;height:44px;opacity:.55}
.ph-empty::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);background-size:220% 100%;animation:saShimmer 3.2s ease-in-out infinite}
.ph-frame .ph-empty,.phero-img .ph-empty{background:radial-gradient(110% 80% at 50% 10%,#8E3A70 0%,#5A1E45 60%,#3A1430 100%);color:#F7A1C4}
.ph-frame .ph-empty svg,.phero-img .ph-empty svg{width:88px;height:88px;opacity:.5}
.ph-frame .ph-empty::after,.phero-img .ph-empty::after{background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.08) 50%,transparent 70%);background-size:220% 100%}
.vplayer .ph-empty{position:absolute;inset:0;background:linear-gradient(135deg,#4A1D3F 0%,#8E1F55 100%);color:#F7A1C4}
.ev figure .ph-empty,.gal figure .ph-empty{position:absolute;inset:0}
@keyframes saShimmer{0%{background-position:120% 0}100%{background-position:-120% 0}}

/* ---------- reveal on scroll (IntersectionObserver, all browsers) ---------- */
@media (prefers-reduced-motion: no-preference){
	.js .rv{animation:none !important;opacity:0;transform:translateY(28px);transition:opacity .85s cubic-bezier(.2,.7,.2,1) var(--d,0s),transform .85s cubic-bezier(.2,.7,.2,1) var(--d,0s)}
	.js .rv.vis{opacity:1;transform:none}
	.js .rv.rv-l{transform:translateX(-32px)}
	.js .rv.rv-r{transform:translateX(32px)}
	.js .rv.rv-z{transform:scale(.96)}
	.js .rv.vis.rv-l,.js .rv.vis.rv-r,.js .rv.vis.rv-z{transform:none}
	.hero-title em{background-size:200% 100% !important;animation:saGrad 6s ease-in-out infinite}
	.ph[data-tilt]{transition:transform .5s cubic-bezier(.2,.7,.2,1);transform-style:preserve-3d;will-change:transform}
	.ph-ring2{animation:saSpin 40s linear infinite}
	.hero-badge span{animation:saPulseTeal 2.6s ease-out infinite}
}
@keyframes saGrad{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes saSpin{to{transform:rotate(360deg)}}
@keyframes saPulseTeal{0%{box-shadow:0 0 0 0 rgba(214,51,108,.55)}70%{box-shadow:0 0 0 10px rgba(214,51,108,0)}100%{box-shadow:0 0 0 0 rgba(214,51,108,0)}}
.hero-title em{background-image:linear-gradient(90deg,#FFD6E6 0%,#F48FB1 50%,#FFD6E6 100%)}

/* shine sweep on primary buttons */
.btn-shine{position:relative;overflow:hidden;isolation:isolate}
.btn-shine::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;z-index:-1;background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-18deg);pointer-events:none}
@media (prefers-reduced-motion: no-preference){.btn-shine::after{animation:saShine 4.5s ease-in-out 1.5s infinite}}
@keyframes saShine{0%{left:-60%}22%,100%{left:130%}}

/* whole-card links */
.stretched{color:inherit;text-decoration:none}
.stretched::after{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit}
.stretched:hover{color:inherit}
.scard,.bcard,.bfeat{position:relative}
.scard h3 a:hover,.bcard h3 a:hover,.bfeat h2 a:hover{color:var(--teal-ink)}
.bcard h3 a,.bfeat h2 a{color:inherit}

/* ---------- gallery ---------- */
.gal figure{isolation:isolate}
.gal-btn{display:block;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:zoom-in}
.gal-btn img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.gal figure .cap{opacity:0;transform:translateY(8px);transition:opacity .3s ease,transform .3s ease;pointer-events:none}
.gal figure:hover .cap,.gal figure:focus-within .cap{opacity:1;transform:none}
.gal .ph-empty + .cap{opacity:1;transform:none}
@media (hover:hover){.gal figure:hover .gal-btn img{transform:scale(1.05)}}
.gitem .gcap{position:absolute;left:0;right:0;bottom:0;padding:28px 14px 12px;background:linear-gradient(180deg,rgba(46,16,39,0),rgba(46,16,39,.85));color:#FFFFFF;font-size:13.5px;font-weight:600;line-height:1.45;opacity:0;transform:translateY(6px);transition:opacity .3s ease,transform .3s ease}
.gitem:hover .gcap,.gitem:focus-visible .gcap{opacity:1;transform:none}
.gitem.gph{cursor:default;aspect-ratio:4/5}
.gitem.gph-1{aspect-ratio:1/1}
.gitem.gph-2{aspect-ratio:4/3}
.gitem.gph .ph-empty{position:absolute;inset:0}
/* ---------- gallery page: bento grid ---------- */
.gal-bar{display:flex;flex-direction:column;align-items:center;gap:14px;margin-bottom:26px}
.gal-count{margin:0;display:inline-flex;align-items:center;gap:8px;font-size:14.5px;font-weight:600;color:var(--muted)}
.gal-count svg{color:var(--teal-ink)}
.gal-filters{margin:0}
.fcount{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:22px;margin-left:6px;padding:0 7px;border-radius:999px;background:#F6EAF0;color:var(--teal-ink);font-size:12.5px;font-weight:700;line-height:1}
.fbtn.on .fcount{background:rgba(255,255,255,.18);color:#FFFFFF}
.bento{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:150px;grid-auto-flow:dense;gap:10px}
.btile{position:relative;display:block;margin:0;padding:0;border:0;border-radius:18px;overflow:hidden;background:var(--sky);cursor:zoom-in;isolation:isolate;box-shadow:0 1px 2px rgba(74,29,63,.06),0 12px 28px -18px rgba(74,29,63,.35);transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s ease}
.btile-wide{grid-column:span 2}
.btile-tall{grid-row:span 2}
.btile.hide{display:none}
.btile-fill{grid-column:span 2}
.btile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.btile::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(46,16,39,0) 45%,rgba(46,16,39,.82) 100%);transition:opacity .4s ease}
.bt-chip{position:absolute;left:10px;top:10px;z-index:2;max-width:calc(100% - 60px);padding:4px 10px;border-radius:999px;background:rgba(255,255,255,.9);color:var(--navy);font-size:12px;font-weight:700;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.bt-zoom{position:absolute;right:10px;top:10px;z-index:2;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.92);color:var(--navy);display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.8);transition:opacity .3s ease,transform .3s ease}
.bt-cap{position:absolute;left:12px;right:12px;bottom:10px;z-index:2;color:#FFFFFF;font-size:13.5px;font-weight:600;line-height:1.45;text-align:left;text-shadow:0 1px 8px rgba(0,0,0,.35);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;transition:transform .35s ease}
.btile:focus-visible{outline:3px solid var(--teal);outline-offset:3px}
.btile:focus-visible .bt-zoom{opacity:1;transform:none}
@media (hover:hover){
	.btile:hover{transform:translateY(-4px);box-shadow:0 2px 6px rgba(74,29,63,.08),0 26px 50px -22px rgba(74,29,63,.5)}
	.btile:hover img{transform:scale(1.06)}
	.btile:hover .bt-zoom{opacity:1;transform:none}
	.btile:hover .bt-cap{transform:translateY(-2px)}
}
@media (max-width:899px){
	.gal-bar{align-items:stretch}
	.gal-count{justify-content:center}
	.gal-filters{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;margin:0 -16px;padding:2px 16px 8px;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 16px,#000 calc(100% - 24px),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 16px,#000 calc(100% - 24px),transparent 100%)}
	.gal-filters::-webkit-scrollbar{display:none}
	.gal-filters .fbtn{flex:none;scroll-snap-align:start;white-space:nowrap}
}
@media (max-width:639px){.btile:not(.btile-wide):not(.btile-fill) .bt-chip{display:none}.bt-cap{font-size:12.5px}}
@media (min-width:640px){.bento{grid-auto-rows:190px;gap:14px}.bt-cap{font-size:14.5px;left:16px;right:16px;bottom:14px}.btile{border-radius:20px}.bt-chip{left:14px;top:14px}.bt-zoom{right:14px;top:14px}}
@media (min-width:900px){.bento{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:210px;gap:16px}.gal-filters{justify-content:center;flex-wrap:wrap}}
@media (min-width:1200px){.bento{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:220px;gap:18px}.btile{border-radius:22px}}

/* ---------- lightbox ---------- */
.lb{background:rgba(24,8,20,.9) !important;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);gap:12px !important}
.lb img{transition:opacity .3s ease,transform .35s cubic-bezier(.2,.7,.2,1);max-height:calc(100vh - 290px) !important;max-height:calc(100dvh - 290px) !important}
.lb.loading img{opacity:0;transform:scale(.985)}
.lb-meta{display:flex;flex-direction:column;align-items:center;gap:6px;max-width:680px;text-align:center}
.lb-chip{padding:3px 12px;border-radius:999px;background:rgba(247,161,196,.18);border:1px solid rgba(247,161,196,.35);color:#F7A1C4;font-size:12.5px;font-weight:700}
.lb-meta .lb-cap{margin:0;font-size:15.5px;font-weight:600;color:#FFFFFF}
.lb-thumbs{display:flex;gap:8px;max-width:min(720px,92vw);overflow-x:auto;padding:4px 2px 6px;scrollbar-width:thin;scroll-snap-type:x proximity}
.lb-thumbs button{flex:none;width:58px;height:58px;padding:0;border:0;border-radius:12px;overflow:hidden;background:#3A1430;cursor:pointer;opacity:.5;scroll-snap-align:center;transition:opacity .2s ease,transform .2s ease,box-shadow .2s ease}
.lb-thumbs button img{width:100%;height:100%;object-fit:cover;max-height:none !important;border-radius:0;box-shadow:none;transform:none !important;opacity:1 !important}
.lb-thumbs button.on{opacity:1;box-shadow:0 0 0 2px #F7A1C4}
.lb-thumbs button:hover{opacity:.9;transform:translateY(-2px)}
@media (max-width:640px){.lb-thumbs button{width:48px;height:48px;border-radius:10px}.lb img{max-height:calc(100dvh - 260px) !important}}

/* ---------- forms ---------- */
.form-title{margin:0;font-weight:700;font-size:clamp(19px,5vw,24px);color:#4A1D3F}
.hp{position:absolute !important;left:-9999px;width:1px;height:1px;overflow:hidden}
.inp.bad{border-color:#D92D20}
.form button[disabled]{opacity:.7;cursor:progress}
.form button.is-blocked{opacity:.45;cursor:not-allowed;filter:grayscale(.35);transform:none !important;box-shadow:none !important}
.ok{animation:saUp .5s cubic-bezier(.2,.7,.2,1) both}
.ok-timer{height:4px;border-radius:4px;background:#F5E6EE;overflow:hidden}
.ok-timer span{display:block;height:100%;background:linear-gradient(90deg,#C2185B,#F48FB1);transform-origin:left;transform:scaleX(1)}
.ok-count{margin:-8px 0 0;font-size:13px;color:var(--muted)}

/* ---------- date picker ---------- */
.dp{position:relative}
.dp-input{padding-right:48px;cursor:pointer;caret-color:transparent}
.dp-input:disabled{cursor:not-allowed;background:#F6F1F4;color:var(--muted);opacity:1}
.dp > svg{position:absolute;right:16px;top:16px;color:var(--navy);pointer-events:none}
.dp-input:disabled ~ svg{color:#C4A9B8}
.dp.open .dp-input{border-color:var(--teal);box-shadow:0 0 0 4px rgba(214,51,108,.2)}
.dp-hint{font-size:13.5px;line-height:1.5;color:var(--muted)}
.dp-hint:empty{display:none}
.dp-pop{position:absolute;left:0;top:calc(100% + 8px);z-index:30;width:min(340px,100%);padding:14px;border-radius:18px;background:#FFFFFF;border:1px solid #EBD9E3;box-shadow:0 24px 48px -20px rgba(46,16,39,.4);animation:saUp .22s cubic-bezier(.2,.7,.2,1) both}
.modal .dp-pop{position:static;width:100%;max-width:400px;margin-top:8px;box-shadow:0 10px 30px -18px rgba(46,16,39,.35)}
.dp-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}
.dp-title{font-size:16px;color:var(--navy)}
.dp-nav{width:40px;height:40px;border-radius:12px;border:1px solid #EBD9E3;background:#FFFFFF;color:var(--navy);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s ease,border-color .2s ease}
.dp-nav:disabled{opacity:.35;cursor:default}
.dp-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.dp-week{margin-bottom:4px}
.dp-week span{text-align:center;font-size:12px;font-weight:700;color:var(--muted);padding:4px 0}
.dp-day{height:42px;border:0;border-radius:12px;background:#FBE4EE;color:var(--navy);font-weight:700;font-size:14.5px;cursor:pointer;transition:background-color .15s ease,color .15s ease,transform .15s ease}
.dp-day.off{background:transparent;color:#C9B6C1;font-weight:500;text-decoration:line-through;text-decoration-color:rgba(201,182,193,.7);cursor:not-allowed}
.dp-day.today{box-shadow:inset 0 0 0 1.5px var(--teal)}
.dp-day.sel,.dp-day.sel:hover{background:var(--navy);color:#FFFFFF}
.dp-day:focus-visible{outline:3px solid var(--teal);outline-offset:1px}
.dp-legend{display:flex;gap:16px;margin-top:10px;font-size:12.5px;color:var(--muted)}
.dp-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.dp-legend i.lg-open{background:#FBE4EE;box-shadow:inset 0 0 0 1px #EFB8CF}
.dp-legend i.lg-closed{background:#F1ECEF}
@media (hover:hover){
	.dp-day:not(.off):not(.sel):hover{background:var(--teal);color:#FFFFFF;transform:translateY(-1px)}
	.dp-nav:not(:disabled):hover{background:var(--sky);border-color:#EFB8CF}
}

/* ---------- blog ---------- */
.btop{flex-wrap:wrap}
.bdate{font-size:13px;color:var(--muted);font-weight:500}
.bimg{display:block}
.bimg .ph-empty,.bfeat-img .ph-empty{position:absolute;inset:0}
.bimg{position:relative}
.bimg-art{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#4A1D3F 0%,#8E1F55 100%) !important;color:#F7A1C4;overflow:hidden}
.bimg-art::after{content:"";position:absolute;right:-20%;bottom:-60%;width:70%;aspect-ratio:1;border-radius:50%;border:26px solid rgba(255,255,255,.06)}
.bimg-art .big{width:84px;height:84px;border-radius:24px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);display:flex;align-items:center;justify-content:center;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.bfeat-img.bimg-art .big{width:104px;height:104px;border-radius:30px}
@media (hover:hover){.bcard:hover .bimg-art .big{transform:scale(1.08) rotate(-4deg)}}
.bmore{color:var(--teal-ink) !important}
.bvid{position:absolute;left:12px;bottom:12px;z-index:2;display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;background:rgba(204,0,0,.92);color:#FFFFFF;font-size:12px;font-weight:700;line-height:1.3}
.bfeat-img .bvid{left:16px;bottom:16px}
.bcard.hide{display:none}
.pager{margin-top:32px}
.pager .nav-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.pager .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 12px;border-radius:999px;border:1.5px solid #E6D3DE;background:#FFFFFF;color:var(--navy);font-weight:700;text-decoration:none}
.pager .page-numbers.current{background:var(--navy);border-color:var(--navy);color:#FFFFFF}
.pager a.page-numbers:hover{border-color:var(--navy)}

/* ---------- article page (v3) ---------- */
.art-hero{padding:28px 0 40px}
.art-hero-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:26px;align-items:center}
.art-head{max-width:760px}
.art-head .h1{font-size:clamp(26px,5.4vw,44px);line-height:1.3;letter-spacing:-.005em}
.art-head .phero-lead{font-size:clamp(15.5px,4vw,18.5px)}
.art-tags{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 14px}
.art-cat,.art-vid{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:3px 12px;border-radius:999px;font-size:13px;font-weight:700;text-decoration:none}
.art-cat{background:var(--teal);color:#FFFFFF}
.art-cat:hover{background:#A3134C;color:#FFFFFF}
.art-vid{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);color:#FBEAF1}
.art-vid svg{color:#F7A1C4}
.art-meta{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;margin-top:22px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);color:#EAD3DF;font-size:14px}
.art-author{display:inline-flex;align-items:center;gap:10px}
.art-author .ct-mono{width:44px;height:44px;border-radius:13px;flex:none}
.art-author strong{display:block;color:#FFFFFF;font-size:15.5px;line-height:1.3}
.art-author small{display:block;color:#DDBFCF;font-size:12.5px}
.art-facts{display:flex;flex-wrap:wrap;gap:8px 18px}
.art-facts > span{display:inline-flex;align-items:center;gap:7px}
.art-facts svg{color:#F7A1C4}
.art-hero-media{position:relative;margin:0;border-radius:22px;overflow:hidden;background:#2E1027;box-shadow:0 40px 80px -30px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.14)}
.art-hero-media .vplayer{aspect-ratio:16/9}
.art-hero-media .vp-btn{width:76px !important;height:54px !important;margin:-27px 0 0 -38px !important;border-radius:16px}
.art-hero-media .vp-btn svg{width:28px;height:28px}
.art-hero-media > img{display:block;width:100%;height:auto}
.art-hero-media figcaption{display:flex;align-items:center;gap:8px;padding:11px 16px;background:rgba(255,255,255,.08);color:#FBEAF1;font-size:13.5px;font-weight:600;border-top:1px solid rgba(255,255,255,.1)}
.art-hero-media figcaption svg{color:#FF4D4D;flex:none}

.art-sec{padding-top:36px}
.art-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:32px}
.art-main{min-width:0;display:flex;flex-direction:column;gap:28px}

/* key points */
.art-keys{position:relative;padding:22px;border-radius:22px;background:#FFFFFF;border:1px solid #F0DCE6;box-shadow:0 18px 40px -30px rgba(74,29,63,.45);overflow:hidden}
.art-keys::before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:linear-gradient(180deg,#C2185B,#7A2E5E)}
.art-keys-h{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.art-keys-ic{width:38px;height:38px;border-radius:12px;background:#FBE4EE;color:var(--teal-ink);display:flex;align-items:center;justify-content:center;flex:none}
.art-keys h2{margin:0;font-size:18.5px;color:var(--navy)}
.art-keys ul{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
.art-keys li{position:relative;padding:10px 12px 10px 40px;border-radius:14px;background:#FDF6F9;font-size:15px;line-height:1.65;color:var(--ink)}
.art-keys li::before{content:"";position:absolute;left:12px;top:14px;width:18px;height:18px;border-radius:50%;background:var(--teal) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5L20 7'/%3E%3C/svg%3E") center/11px no-repeat}

/* mobile toc */
.art-toc-m{border:1px solid var(--line);border-radius:16px;background:#FFFFFF;padding:2px 16px}
.art-toc-m summary{display:flex;align-items:center;gap:8px;min-height:50px;cursor:pointer;font-weight:700;color:var(--navy);list-style:none}
.art-toc-m summary::-webkit-details-marker{display:none}
.art-toc-m summary svg{color:var(--teal-ink)}
.art-toc-n{margin-left:auto;font-size:12.5px;font-weight:600;color:var(--muted)}
.art-toc-m ol{margin:0 0 12px;padding-left:1.4em}
.art-toc-m li{margin:7px 0}
.art-toc-m a{color:var(--ink2);text-decoration:none}

/* body */
.art-body{max-width:740px;font-size:clamp(15.5px,4vw,17.5px);line-height:1.95}
.art-intro > p:first-child{font-size:1.08em;line-height:1.85;color:var(--ink)}
.art-intro{padding-bottom:6px}
.art-s{margin-top:34px;scroll-margin-top:96px}
.art-s h2{display:flex;align-items:flex-start;gap:12px;margin:0 0 14px;font-size:clamp(20px,5vw,26px);line-height:1.4;color:var(--navy);scroll-margin-top:96px}
.art-s-n{flex:none;display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:36px;margin-top:1px;padding:0 8px;border-radius:11px;background:var(--sky);color:var(--teal-ink);font-size:15px;font-weight:800;letter-spacing:.02em}
.art-s-ic{flex:none;width:38px;height:38px;border-radius:12px;background:#FEE4E2;color:#B42318;display:inline-flex;align-items:center;justify-content:center}
.art-s-body > *{margin:0 0 16px}
.art-s-body > *:last-child{margin-bottom:0}
.art-body ul,.art-body ol{padding-left:0;list-style:none}
.art-body ul > li{position:relative;padding-left:30px;margin:10px 0}
.art-body ul > li::before{content:"";position:absolute;left:4px;top:.55em;width:16px;height:16px;border-radius:50%;background:#FBE4EE url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A3154F' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5L20 7'/%3E%3C/svg%3E") center/10px no-repeat}
.art-body ol{counter-reset:ol}
.art-body ol > li{position:relative;padding-left:38px;margin:12px 0;counter-increment:ol}
.art-body ol > li::before{content:counter(ol);position:absolute;left:0;top:.15em;width:26px;height:26px;border-radius:8px;background:var(--navy);color:#FFFFFF;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center}
.art-body h3{margin:22px 0 10px;font-size:clamp(17px,4.4vw,20px);color:var(--navy)}
.art-body strong{color:var(--navy)}
/* warning section */
.art-s-alert{padding:22px 20px;border-radius:22px;background:linear-gradient(180deg,#FFF6F5,#FFFFFF);border:1.5px solid #FBC9C4}
.art-s-alert h2{color:#7A1A12}
.art-s-alert .art-s-body ul > li::before{background:#FEE4E2 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B42318' stroke-width='3.5' stroke-linecap='round'%3E%3Cpath d='M12 7v6M12 17h.01'/%3E%3C/svg%3E") center/11px no-repeat}
.art-s-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.art-s-actions .btn{min-height:46px;font-size:15px}
/* mid CTA */
.art-cta{display:grid;grid-template-columns:56px minmax(0,1fr);gap:14px;align-items:center;margin:34px 0 4px;padding:18px;border-radius:22px;background:linear-gradient(125deg,#4A1D3F 0%,#6B2556 60%,#8E1F55 100%);color:#FFFFFF;box-shadow:0 24px 50px -30px rgba(74,29,63,.7)}
.art-cta-ph{width:56px;height:56px;border-radius:16px;overflow:hidden;border:2px solid rgba(255,255,255,.35);background:#5A1E45}
.art-cta-ph img,.art-cta-ph .ph-empty{width:100%;height:100%;object-fit:cover;object-position:40% 20%}
.art-cta-t strong,.art-body .art-cta-t strong{display:block;font-size:17px;line-height:1.4;color:#FFFFFF}
.art-cta-t span{display:block;margin-top:2px;font-size:14px;line-height:1.6;color:#F1DCE6}
.art-cta .btn{grid-column:1 / -1;min-height:48px}

/* FAQ */
.art-faq{padding-top:4px}
.art-faq-h{margin-bottom:14px}
.art-faq-h .eyebrow{margin-bottom:6px}
.art-faq h2{margin:0;font-size:clamp(21px,5vw,28px);color:var(--navy);scroll-margin-top:96px}

/* author */
.art-author-box{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;padding:22px;border-radius:24px;background:linear-gradient(180deg,#FDF6F9,#FFFFFF);border:1px solid var(--line)}
.aab-photo{width:96px;height:96px;border-radius:24px;overflow:hidden;background:var(--sky);box-shadow:0 14px 30px -18px rgba(74,29,63,.6)}
.aab-photo img,.aab-photo .ph-empty{width:100%;height:100%;object-fit:cover;object-position:40% 20%}
.aab-k{margin:0;font-size:12.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--teal-ink)}
.aab-name{margin:2px 0 0;font-size:21px;font-weight:700;color:var(--navy)}
.aab-role{margin:2px 0 0;font-size:14.5px;color:var(--ink2)}
.aab-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.aab-chips span{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:#FFFFFF;border:1px solid var(--line);font-size:12.5px;font-weight:600;color:var(--navy)}
.aab-chips svg{color:var(--teal-ink)}
.aab-bio{margin:10px 0 0;font-size:14.5px;line-height:1.7;color:var(--muted)}
.aab-btns{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.aab-btns .btn{min-height:46px;font-size:14.5px}

/* tags + share card */
.art-foot{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:22px;background:#FFFFFF;overflow:hidden;box-shadow:0 14px 34px -28px rgba(74,29,63,.45)}
.af-col{display:flex;flex-direction:column;gap:12px;padding:18px 20px}
.af-share{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;padding:14px 20px;background:linear-gradient(90deg,#FDF6F9 0%,#FBEFF4 100%);border-top:1px solid var(--line)}
.art-foot.no-tags .af-share{border-top:0}
.af-k{display:flex;align-items:center;gap:8px;margin:0;font-size:13.5px;font-weight:700;color:var(--navy)}
.af-k svg{color:var(--teal-ink)}
.af-tags .af-k{font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.art-tagcloud{display:flex;flex-wrap:wrap;gap:8px}
.art-tagcloud a{display:inline-flex;align-items:center;gap:2px;min-height:34px;padding:4px 14px 4px 12px;border-radius:10px;background:#FFFFFF;border:1px solid #EBD9E3;color:var(--navy);font-size:13.5px;font-weight:600;text-decoration:none;transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .2s ease}
.art-tagcloud a::first-letter{color:var(--teal);font-weight:800}
.art-tagcloud a:hover{background:var(--navy);border-color:var(--navy);color:#FFFFFF;transform:translateY(-1px)}
.art-tagcloud a:hover::first-letter{color:#F7A1C4}
.af-btns{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.af-share .cp-ok{flex-basis:100%;justify-content:flex-end}
.sbtn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;padding:0;border-radius:50%;border:1px solid transparent;text-decoration:none;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease,color .2s ease}
.sbtn svg{flex:none;max-width:none}
.sbtn-cp .ic-done{display:none}
.sbtn-cp.done .ic-link{display:none}
.sbtn-cp.done .ic-done{display:block}
.sbtn-fb{background:#1877F2;color:#FFFFFF}
.sbtn-wa{background:#25D366;color:#FFFFFF}
.sbtn-cp{background:#FFFFFF;border-color:#E6D3DE;color:var(--navy)}
.sbtn.done{background:#0E7A40;border-color:#0E7A40;color:#FFFFFF}
@media (hover:hover){
	.sbtn:hover{transform:translateY(-2px);box-shadow:0 10px 22px -12px rgba(0,0,0,.35)}
	.sbtn-fb:hover{background:#0F63D1;color:#FFFFFF}
	.sbtn-wa:hover{background:#1DB954;color:#FFFFFF}
	.sbtn-cp:hover{border-color:var(--navy);color:var(--navy)}
}
.cp-ok{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:600;color:#0E7A40}
.sbtn{width:42px;height:42px}
@media (min-width:640px){.af-col{padding:20px 24px}.af-share{padding:14px 24px}}

/* previous / next */
.art-adj{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
.art-adj-i{display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px;align-items:center;padding:12px;border-radius:18px;border:1px solid var(--line);background:#FFFFFF;text-decoration:none;color:var(--ink);transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}
.art-adj-th{width:64px;height:64px;border-radius:12px;overflow:hidden;background:var(--sky)}
.art-adj-th img{width:100%;height:100%;object-fit:cover}
.art-adj-t small{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;font-weight:700;color:var(--teal-ink)}
.art-adj-t strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:14.5px;line-height:1.5;color:var(--navy)}
.art-adj-next{text-align:right;grid-template-columns:minmax(0,1fr) 64px}
.art-adj-next .art-adj-th{order:2}
@media (hover:hover){.art-adj-i:hover{border-color:#EFB8CF;transform:translateY(-2px);box-shadow:0 16px 30px -22px rgba(74,29,63,.5);color:var(--ink)}}

/* sidebar */
.art-side{display:none}
.art-toc{padding:18px 18px 12px;border-radius:20px}
.art-toc-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.art-toc-k{display:flex;align-items:center;gap:8px;margin:0;font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--teal-ink)}
.art-toc-pct{font-size:12.5px;font-weight:700;color:var(--muted);font-variant-numeric:tabular-nums}
.art-toc-bar{height:4px;margin:10px 0 8px;border-radius:4px;background:#F4E6ED;overflow:hidden}
.art-toc-bar span{display:block;height:100%;width:0;background:linear-gradient(90deg,#C2185B,#F48FB1);transition:width .15s linear}
.art-toc ol{margin:0;padding:0;list-style:none}
.art-toc a{display:flex;gap:10px;align-items:flex-start;padding:8px 8px;border-radius:10px;color:var(--ink2);font-size:14px;line-height:1.5;text-decoration:none;transition:color .2s ease,background-color .2s ease}
.art-toc .tn{flex:none;min-width:24px;font-size:12px;font-weight:800;color:#C4A9B8;padding-top:2px}
.art-toc a:hover{color:var(--navy);background:#FDF6F9}
.art-toc a.on{color:var(--navy);font-weight:700;background:#FBE4EE}
.art-toc a.on .tn{color:var(--teal-ink)}
.art-book{display:flex;flex-direction:column;gap:12px;padding:18px;border-radius:22px;background:#FFFFFF;border:1px solid var(--line);box-shadow:0 20px 40px -30px rgba(74,29,63,.45)}
.art-book-top{display:flex;align-items:center;gap:12px}
.art-book-ph{width:48px;height:48px;border-radius:14px;overflow:hidden;background:var(--sky);flex:none}
.art-book-ph img,.art-book-ph .ph-empty{width:100%;height:100%;object-fit:cover;object-position:50% 18%}
.art-book-k{margin:0;font-weight:700;color:var(--navy)}
.art-book-s{margin:0;font-size:13px;color:var(--muted)}
.art-rel-head{flex-direction:row;align-items:flex-end;justify-content:space-between;flex-wrap:wrap}

@media (min-width:640px){
	.art-keys{padding:26px 28px}
	.art-keys ul{grid-template-columns:repeat(2,minmax(0,1fr))}
	.art-cta{grid-template-columns:64px minmax(0,1fr) auto;padding:20px 22px}
	.art-cta-ph{width:64px;height:64px}
	.art-cta .btn{grid-column:auto}
	.art-author-box{grid-template-columns:120px minmax(0,1fr);padding:26px;gap:22px}
	.aab-photo{width:120px;height:120px;border-radius:28px}
	.art-adj{grid-template-columns:repeat(2,minmax(0,1fr))}
	.art-s-alert{padding:26px 28px}
}
@media (min-width:1024px){
	.art-hero{padding:40px 0 64px}
	.art-hero.has-media .art-hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:56px}
	.art-hero.has-media .art-hero-media{transform:translateY(40px);margin-top:-12px}
	.art-sec{padding-top:56px}
	.art-grid{grid-template-columns:minmax(0,1fr) 330px;gap:56px;align-items:start}
	.art-side{display:flex;flex-direction:column;gap:18px;position:sticky;top:100px}
	.art-toc-m{display:none}
}

/* single article */
.phero-post .post-head{max-width:860px}
.phero-post .h1{font-size:clamp(26px,6vw,44px)}
.post-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:32px}
.post-body{min-width:0;display:flex;flex-direction:column;gap:22px}
.post-thumb{margin:0;border-radius:24px;overflow:hidden;background:var(--sky)}
.post-thumb img{width:100%;height:auto}
.entry{font-size:var(--fs-body);line-height:1.9;color:var(--ink2)}
.entry > *{margin:0 0 18px}
.entry > *:last-child{margin-bottom:0}
.entry h2{margin-top:34px;font-size:clamp(21px,5vw,28px);line-height:1.4;color:var(--navy)}
.entry h3{margin-top:26px;font-size:clamp(18px,4.6vw,22px);line-height:1.45;color:var(--navy)}
.entry h4{margin-top:20px;font-size:18px;color:var(--navy)}
.entry ul,.entry ol{padding-left:1.3em}
.entry li{margin:6px 0}
.entry li::marker{color:var(--teal)}
.entry a{color:var(--teal-ink);font-weight:600}
.entry blockquote{margin-left:0;padding:16px 20px;border-left:4px solid var(--teal);border-radius:0 16px 16px 0;background:#FDF6F9;color:var(--navy);font-weight:500}
.entry img{height:auto;border-radius:18px}
.entry figure{margin-left:0;margin-right:0}
.entry figcaption{font-size:14px;color:var(--muted);text-align:center;margin-top:8px}
.entry table{width:100%;border-collapse:collapse;font-size:15px;display:block;overflow-x:auto}
.entry th,.entry td{padding:10px 12px;border:1px solid var(--line);text-align:left}
.entry th{background:#FDF6F9;color:var(--navy)}
.entry iframe{max-width:100%;border:0;border-radius:18px}
.share{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding-top:18px;border-top:1px solid var(--line);font-weight:600;color:var(--navy)}
.share .soc{background:var(--sky);border-color:var(--line);color:var(--navy)}
.share .soc.wa:hover{background:#25D366;border-color:#25D366;color:#FFFFFF}
.post-side .side-card{gap:16px}
.quick-light{grid-template-columns:minmax(0,1fr) !important;background:#FDF6F9 !important;border-color:var(--line) !important;-webkit-backdrop-filter:none;backdrop-filter:none}
.quick-light .qrow{border-right:0 !important;border-bottom:1px solid var(--line) !important;padding:12px 14px !important}
.quick-light .qi{background:#FBE4EE;color:var(--teal-ink)}
.quick-light .qk{color:var(--muted)}
.quick-light .qv{color:var(--navy);font-size:15px}
.quick-light .qcall{grid-column:auto !important;background:#FBE4EE;color:var(--navy);padding:12px 14px !important}
.quick-light .qcall strong{color:var(--navy);font-size:18px}
.quick-light .qcall .qk{color:var(--muted)}
.med-note{background:#FDF6F9;border-color:var(--line);color:var(--ink2)}
.med-note svg{color:var(--teal-ink)}
.med-note strong{color:var(--navy)}
@media (min-width:1024px){
	.post-grid{grid-template-columns:minmax(0,1fr) 340px;gap:48px;align-items:start}
	.post-side{position:sticky;top:100px}
}

/* ---------- misc ---------- */
.tagx{text-decoration:none;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}
@media (hover:hover){.tagx:hover{border-color:#EFB8CF;transform:translateY(-2px);box-shadow:0 12px 24px -16px rgba(74,29,63,.4);color:var(--navy)}}
.svc-book{align-self:flex-start;margin-top:6px;min-height:46px}
.vgrid{margin-top:24px}
/* video titles: max 2 lines, full title in the tooltip */
.vcard .vbody h3,.vfeat .vtitle{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;overflow-wrap:anywhere}
.vlen{position:absolute;right:10px;bottom:10px;z-index:2;padding:3px 8px;border-radius:7px;background:rgba(20,8,17,.82);color:#FFFFFF;font-size:12.5px;font-weight:700;line-height:1.4;letter-spacing:.02em;pointer-events:none}
.vplayer.playing .vlen{display:none}
.vplayer[data-yt] img{object-position:50% 50%;image-rendering:auto}
/* smaller YouTube play button (design default 76×54 / 88×62 was too big on cards) */
.vplayer .vp-btn{width:54px !important;height:38px !important;margin:-19px 0 0 -27px !important;border-radius:11px}
.vplayer .vp-btn svg{width:20px;height:20px}
.vfeat .vplayer .vp-btn{width:64px !important;height:45px !important;margin:-22.5px 0 0 -32px !important;border-radius:13px}
.vfeat .vplayer .vp-btn svg{width:24px;height:24px}
.more-count{font-weight:600;opacity:.75}
.vcard .vplayer{aspect-ratio:16/9;min-height:0}
.vplayer{color:inherit}
.vplayer.playing{cursor:default}
.ct-mono{font-family:'Inter',sans-serif}
.ch-v a{color:var(--teal-ink)}
.fq{transition:border-color .25s ease,box-shadow .25s ease}
.fq.open{box-shadow:0 16px 34px -24px rgba(194,24,91,.45)}
.empty.show{display:block}
.mbar{transition:transform .3s ease}
.mbar.hide{transform:translateY(110%)}
.fab-top{animation:saUp .3s ease both;text-decoration:none}

/* ---------- hover system ----------
   The design's blanket ".card:hover" (lift + every icon turns navy) is replaced:
   - small single-topic cards lift and fill their one icon;
   - large info cards (facts, chambers, forms, services, video/blog features) stay put,
     only the border/shadow warms up, and each row highlights on its own. */
.card .ico{transition:background-color .3s ease,color .3s ease,transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .3s ease}
.ch-row .ico{color:#A3154F}
.fact,.ch-row{transition:background-color .25s ease}
.facts .fact,.side-card .fact{margin-left:-12px;margin-right:-12px;padding-left:12px;padding-right:12px;border-radius:14px}
.ch-row{margin-left:-12px;margin-right:-12px;padding-left:12px;padding-right:12px;border-radius:14px}
@media (hover:hover){
	/* neutralise the design's generic rule */
	.card:hover{transform:none;border-color:var(--line);box-shadow:0 1px 2px rgba(74,29,63,.04),0 10px 28px -16px rgba(74,29,63,.16)}
	.card:hover .ico{background:#FBE4EE;color:var(--teal-ink)}
	.card:hover .ico.sky{background:var(--sky);color:var(--navy)}
	.card:hover .ch-row .ico{color:#A3154F}
	.card.ch:hover .ch-name .ico{background:rgba(255,255,255,.18);color:#FFFFFF}

	/* small cards: lift + single icon fill */
	.tcard:hover,.scard:hover,.tc:hover,.step:hover,.pstep:hover,.bcard:hover,.vcard:hover{transform:translateY(-6px);border-color:#EFB8CF;box-shadow:0 2px 6px rgba(74,29,63,.05),0 26px 48px -22px rgba(74,29,63,.3)}
	.tcard:hover .ico,.scard:hover .ico,.tc:hover .ico,.step:hover .ico,.tc:hover .ico.sky{background:linear-gradient(145deg,#D6336C,#A3154F);color:#FFFFFF;transform:scale(1.07);box-shadow:0 10px 22px -10px rgba(214,51,108,.65)}
	.pstep:hover .pnum{background:linear-gradient(145deg,#D6336C,#A3154F)}
	.pnum{transition:background-color .3s ease}

	/* large cards: no movement, gentle emphasis */
	.facts:hover,.side-card:hover,.ch:hover,.svc:hover,.vfeat:hover,.bfeat:hover,.ytcta:hover{border-color:#EFB8CF;box-shadow:0 2px 6px rgba(74,29,63,.05),0 22px 44px -26px rgba(74,29,63,.28)}

	/* row-level highlight inside list cards */
	.fact:hover,.ch-row:hover{background:#FDF6F9}
	.fact:hover .ico,.fact:hover .ico.sky,.ch-row:hover .ico,.card:hover .ch-row:hover .ico{background:var(--navy);color:#FFFFFF}
	.lst{transition:border-color .25s ease,background-color .25s ease}
	.lst:hover{border-color:#EFB8CF;background:#FFFFFF}
}

/* ---------- tag / category archive ---------- */
.phero-kind{display:inline-flex;align-items:center;gap:6px;margin:14px 0 10px;padding:6px 14px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);color:#F7A1C4;font-size:13.5px;font-weight:700;letter-spacing:.02em}
.phero-kind span{font-size:16px;line-height:1}
.arch-stats{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:22px}
.arch-stat{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 16px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);color:#FFFFFF;font-size:14px;font-weight:600;text-decoration:none}
.arch-back{transition:background .25s,border-color .25s}
.arch-back:hover{background:#FFFFFF;border-color:#FFFFFF;color:var(--navy)}
.arch{background:#FFFBFD}
.arch-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;align-items:start}
.arch-head{display:flex;align-items:center;gap:12px;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid #F0E1E9}
.arch-h{margin:0;font-size:clamp(19px,4.6vw,23px);color:var(--navy)}
.arch-count{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 10px;border-radius:999px;background:#FCE7F1;color:#8E1F55;font-weight:800;font-size:15px}
.arch-list{display:flex;flex-direction:column;gap:18px}
.arow{position:relative;display:grid;grid-template-columns:minmax(0,1fr);padding:0;overflow:hidden;border-radius:22px;transition:box-shadow .35s,border-color .35s,transform .35s}
.arow-img{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:var(--sky)}
.arow-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.arow-body{display:flex;flex-direction:column;gap:10px;padding:18px 20px 20px}
.arow-body .btop{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.arow-body .bdate{display:inline-flex;align-items:center;gap:5px}
.arow-body h3{margin:0;font-size:clamp(18px,4.4vw,21px);line-height:1.5;color:var(--navy)}
.arow-body h3 a{color:inherit;text-decoration:none}
.arow-body p{margin:0;font-size:15px;line-height:1.8;color:#5A4652;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.arow-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:12px;border-top:1px dashed #EEDCE6}
.arow-tags{display:flex;flex-wrap:wrap;gap:6px}
.arow-tags span{padding:3px 10px;border-radius:999px;background:#F6EEF2;color:#6B4A5D;font-size:12.5px;font-weight:600}
.arow-tags span.on{background:#8E1F55;color:#FFFFFF}
.arow-go{display:inline-flex;align-items:center;gap:6px;color:#8E1F55;font-weight:700;font-size:14.5px}
.arow-go svg{transition:transform .3s}
@media (hover: hover){
	.arow:hover{transform:translateY(-3px);border-color:#EBC6D8;box-shadow:0 22px 44px -26px rgba(74,29,63,.45)}
	.arow:hover .arow-img img{transform:scale(1.05)}
	.arow:hover h3{color:#8E1F55}
	.arow:hover .arow-go svg{transform:translateX(4px)}
}
.arch-side{display:flex;flex-direction:column;gap:18px}
.aside-box{padding:20px;border-radius:20px}
.aside-h{display:flex;align-items:center;gap:8px;margin:0 0 14px;font-size:16.5px;color:var(--navy)}
.aside-h svg,.aside-h .hash{color:#8E1F55}
.aside-h .hash{font-size:20px;font-weight:800;line-height:1}
.acat{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.acat a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:12px;color:#3D2A36;font-weight:600;font-size:15px;text-decoration:none;transition:background .25s,color .25s}
.acat b{min-width:28px;height:24px;padding:0 8px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#F6EEF2;color:#6B4A5D;font-size:12.5px}
.acat a:hover{background:#FCF1F6;color:#8E1F55}
.acat a.on{background:var(--navy);color:#FFFFFF}
.acat a.on b{background:rgba(255,255,255,.18);color:#FFFFFF}
.atags{display:flex;flex-wrap:wrap;gap:8px}
.atags a{padding:6px 12px;border-radius:999px;border:1px solid #EEDCE6;background:#FFFFFF;color:#5A4652;font-size:13.5px;font-weight:600;text-decoration:none;transition:background .25s,border-color .25s,color .25s}
.atags a:hover{border-color:#8E1F55;color:#8E1F55}
.atags a.on{background:#8E1F55;border-color:#8E1F55;color:#FFFFFF}
.aside-book{position:relative;overflow:hidden;padding:24px 22px;border-radius:22px;background:linear-gradient(150deg,#4A1D3F 0%,#8E1F55 100%);color:#FFFFFF}
.aside-book::after{content:"";position:absolute;right:-60px;top:-60px;width:180px;height:180px;border-radius:50%;border:26px solid rgba(255,255,255,.07);pointer-events:none}
.ab-ic{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:14px;background:rgba(255,255,255,.14);color:#F7A1C4;margin-bottom:12px}
.aside-book h2{margin:0 0 6px;font-size:18px;color:#FFFFFF}
.aside-book p{margin:0 0 16px;font-size:14px;line-height:1.75;color:#EAD3DF}
.sec-head-row{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px}
.arch-all{display:inline-flex;align-items:center;gap:6px;color:#8E1F55;font-weight:700;text-decoration:none}
.arch-all:hover{text-decoration:underline}
@media (min-width: 640px){
	.arow{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
	.arow-img{aspect-ratio:auto;min-height:220px}
	.arow-body{padding:22px 24px}
}
@media (min-width: 1024px){
	.arch-grid{grid-template-columns:minmax(0,1fr) 320px;gap:40px}
	.arch-side{position:sticky;top:96px}
	.arow{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
}
.arow-img{margin:12px 12px 0;border-radius:16px;aspect-ratio:16/9}
.arel{margin-top:30px}
.arel-h{margin:0 0 14px;font-size:18px;color:var(--navy)}
.arel-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
.arel-item{position:relative;display:grid;grid-template-columns:116px minmax(0,1fr);gap:14px;align-items:center;padding:10px;border-radius:18px;background:#FFFFFF;border:1px solid #F0E1E9;transition:border-color .3s,box-shadow .3s}
.arel-img{position:relative;display:block;aspect-ratio:16/10;border-radius:12px;overflow:hidden;background:var(--sky)}
.arel-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.arel-item .bcat{font-size:12px}
.arel-item h3{margin:6px 0 4px;font-size:15px;line-height:1.5;color:var(--navy);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.arel-item h3 a{color:inherit;text-decoration:none}
.arel-item .bdate{font-size:12.5px}
@media (hover: hover){.arel-item:hover{border-color:#EBC6D8;box-shadow:0 14px 30px -22px rgba(74,29,63,.45)}.arel-item:hover h3{color:#8E1F55}}
@media (min-width: 640px){
	.arow{align-items:center}
	.arow-img{margin:14px 0 14px 14px;min-height:0;aspect-ratio:16/9}
	.arel-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
.sec-head.sec-head-row{max-width:none;margin-left:0;margin-right:0;text-align:left}
.sec-head-row .eyebrow{justify-content:flex-start}
.sec-head.sec-head-row{flex-direction:row}
/* WordPress's own screen-reader labels (e.g. "Posts pagination") — hidden visually, kept for screen readers */
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}
.screen-reader-text:focus{position:static!important;width:auto;height:auto;margin:0;clip:auto;clip-path:none;white-space:normal}

/* ---------- footer (v3) ---------- */
.ft{position:relative;padding-top:0;background:#260C1F;color:#D9BFCD}
.ft::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,#8E1F55,#E86A9E 50%,#8E1F55)}
.ft-top{display:flex;flex-direction:column;gap:20px;padding:40px 0 28px;border-bottom:1px solid rgba(255,255,255,.09)}
.ft-id{display:flex;flex-direction:column;gap:12px}
.ft-tag{margin:0;max-width:440px;font-size:14.5px;line-height:1.7;color:#E7CEDB}
.ft-top-r{display:flex;align-items:center;gap:12px}
.ft-top-r .social{display:flex;gap:10px}
.ft-lang{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 16px;border-radius:999px;border:1px solid rgba(255,255,255,.18);color:#FFFFFF;font-size:14px;font-weight:600;text-decoration:none;transition:background .2s,border-color .2s}
.ft-lang:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.35)}
.ft-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:34px;padding:36px 0 34px;border-bottom:1px solid rgba(255,255,255,.09)}
.ft-col{gap:10px}
.ft-k{margin:0 0 6px;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#E86A9E}
.ft-name{margin:0;font-size:17px;font-weight:700;color:#FFFFFF}
.ft-txt{margin:0;font-size:14px;line-height:1.75;color:#D9BFCD}
.ft-more{display:inline-flex;align-items:center;gap:6px;margin-top:4px;color:#FFFFFF;font-size:14px;font-weight:600;text-decoration:none}
.ft-more svg{transition:transform .2s}
.ft-more:hover svg{transform:translateX(3px)}
.fnav{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 20px}
.ft .flink{min-height:36px;font-size:14.5px;color:#D9BFCD;text-decoration:none;transition:color .2s}
.ft .flink:hover{color:#FFFFFF;text-decoration:none}
.ft-chs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}
.ft-chs li{padding-left:14px;border-left:2px solid rgba(232,106,158,.55)}
.ft-ch-name{margin:0 0 4px;font-size:14.5px;font-weight:700;line-height:1.5;color:#FFFFFF}
.ft-ch-meta{display:flex;align-items:center;gap:6px;margin:0;font-size:13.5px;line-height:1.7;color:#D9BFCD}
.ft-ch-meta svg{flex:none;color:#E86A9E}
.ft-tel{display:inline-block;min-height:0;font-size:24px;font-weight:700;letter-spacing:.01em;color:#FFFFFF;text-decoration:none}
.ft-tel:hover{color:#F7C6DA}
.ft-hint{margin-top:-6px;font-size:13px}
.ft-acts{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.ft-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:0 16px;border-radius:10px;border:1px solid rgba(255,255,255,.2);background:transparent;color:#FFFFFF;font-family:inherit;font-size:14px;font-weight:700;text-decoration:none;cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.ft-btn:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.4)}
.ft-btn-p{background:#8E1F55;border-color:#8E1F55}
.ft-btn-p:hover{background:#A3285F;border-color:#A3285F}
.ft-note{margin:22px 0 0;font-size:13px;line-height:1.7;color:#B596A7}
.ft-bot{display:flex;flex-direction:column;gap:8px;margin:14px 0 0;padding:0;border:0;font-size:13.5px;color:#B596A7}
.ft-bot p{margin:0}
.ft-credit a{color:#FFFFFF;font-weight:700;text-decoration:none;background:linear-gradient(#E86A9E,#E86A9E) 0 100%/0 1px no-repeat;transition:background-size .3s}
.ft-credit a:hover{background-size:100% 1px}
@media (min-width: 768px){
	.ft-top{flex-direction:row;align-items:center;justify-content:space-between}
	.ft-id{flex-direction:row;align-items:center;gap:22px}
	.ft-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
	.ft-bot{flex-direction:row;justify-content:space-between}
}
@media (min-width: 1024px){
	.ft-top{padding:48px 0 32px}
	.ft-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) minmax(0,1.25fr) minmax(0,1fr);gap:48px;padding:44px 0 40px}
}
.ft-acts .ft-btn{flex:1 1 140px}
@media (min-width: 768px) and (max-width: 1023px){.ft-top{flex-direction:column;align-items:flex-start}}
.ft-top-r{flex-wrap:nowrap}

/* ---------- footer: hover & focus system ----------
   The global a:hover turns links navy, which vanishes on the dark footer.
   Every footer control gets an explicit, consistent state instead. */
.ft a:hover,.ft a:focus-visible{color:#FFFFFF}
.ft a:focus-visible,.ft button:focus-visible{outline:2px solid #F7A1C4;outline-offset:3px;border-radius:8px}

/* text links: soft → white, rose underline grows from the left */
.ft .flink,.ft-more,.ft-credit a{
	background:linear-gradient(#E86A9E,#E86A9E) 0 100%/0 1px no-repeat;
	transition:color .25s ease,background-size .3s ease}
.ft .flink{display:inline-flex;min-height:0;padding:6px 0;line-height:1.5;background-position:0 calc(100% - 4px)}
.ft .flink:hover,.ft .flink:focus-visible{color:#FFFFFF;text-decoration:none;background-size:100% 1px}
.ft-more{padding-bottom:2px}
.ft-more:hover,.ft-more:focus-visible{color:#FFFFFF;background-size:calc(100% - 22px) 1px}
.ft-more:hover svg{transform:translateX(4px);color:#E86A9E}
.ft-credit a:hover,.ft-credit a:focus-visible{color:#FFFFFF;background-size:100% 1px}

/* phone number */
.ft-tel{transition:color .25s ease}
.ft .ft-tel:hover,.ft .ft-tel:focus-visible{color:#F7C6DA}

/* outline pills / buttons: fill white, text turns plum */
.ft-lang,.ft-btn{transition:background-color .25s ease,border-color .25s ease,color .25s ease,box-shadow .25s ease}
.ft .ft-lang:hover,.ft .ft-lang:focus-visible,
.ft .ft-btn:hover,.ft .ft-btn:focus-visible{background:#FFFFFF;border-color:#FFFFFF;color:#4A1D3F}
.ft .ft-acts a.ft-btn:hover svg{color:#25D366}

/* primary button: brighter rose + soft glow, text stays white */
.ft .ft-btn-p:hover,.ft .ft-btn-p:focus-visible{background:#B3306C;border-color:#B3306C;color:#FFFFFF;box-shadow:0 10px 22px -12px rgba(232,106,158,.8)}

/* social: brand colour, small lift (from design.css) — keep icon white */
.ft .soc:hover,.ft .soc:focus-visible{color:#FFFFFF}

/* logo */
.ft-id a{transition:opacity .25s ease}
.ft-id a:hover{opacity:.92}

@media (prefers-reduced-motion: reduce){
	.ft *{transition:none!important}
}

/* contact card phone: the global a:hover would turn it navy on the dark card */
.ct-tel{transition:color .25s ease}
.ct-tel:hover,.ct-tel:focus-visible{color:#F7C6DA}
.ft-more{align-self:flex-start}

/* ---------- footer polish (v4) ---------- */
.ft{position:relative;isolation:isolate;overflow:hidden;padding-bottom:0;background:linear-gradient(180deg,#2C0F25 0%,#230B1D 100%)}
.ft-deco{position:absolute;inset:0;z-index:-1;pointer-events:none}
.ft-orb{position:absolute;border-radius:50%;filter:blur(10px)}
.ft-orb-a{width:520px;height:520px;right:-160px;top:-260px;background:radial-gradient(circle,rgba(214,51,108,.32),transparent 65%)}
.ft-orb-b{width:460px;height:460px;left:-200px;bottom:-220px;background:radial-gradient(circle,rgba(142,31,85,.35),transparent 65%)}
.ft-lines{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:radial-gradient(60% 70% at 85% 0%,#000,transparent 75%);mask-image:radial-gradient(60% 70% at 85% 0%,#000,transparent 75%)}

/* brand bar */
.ft-id .ft-logo,.ft-id > a{box-shadow:0 18px 40px -22px rgba(0,0,0,.7)}
.ft-tag{position:relative;padding-left:20px}
.ft-tag::before{content:"";position:absolute;left:0;top:.35em;bottom:.35em;width:2px;border-radius:2px;background:linear-gradient(#E86A9E,rgba(232,106,158,.2))}
@media (max-width: 767px){.ft-tag{padding-left:0}.ft-tag::before{display:none}}

/* column headings: rose bar + label */
.ft-k{display:flex;align-items:center;gap:10px;margin:0 0 10px;font-size:13px;letter-spacing:.06em;color:#F29BC0}
.ft-k::before{content:"";width:18px;height:2px;border-radius:2px;background:#E86A9E;flex:none}

/* doctor */
.ft-doc{display:flex;align-items:center;gap:14px;margin-bottom:4px}
.ft-ava{flex:none;width:56px;height:56px;border-radius:50%;overflow:hidden;padding:2px;background:linear-gradient(135deg,#F7A1C4,#8E1F55)}
.ft-ava img{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:50% 20%;border:2px solid #2C0F25}
.ft-name{font-size:17px;line-height:1.4}
.ft-deg{margin:2px 0 0;font-size:13px;color:#F2C9DA}
.ft-note{display:flex;align-items:flex-start;gap:8px;margin:8px 0 0;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);font-size:12.5px;line-height:1.65;color:#B99AAC}
.ft-note svg{flex:none;margin-top:3px;color:#E86A9E}

/* links */
.fnav{gap:4px 22px}

/* chambers */
.ft-chs li{position:relative;padding:2px 0 2px 16px;border-left:0}
.ft-chs li::before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:2px;border-radius:2px;background:linear-gradient(#E86A9E,rgba(232,106,158,.15))}

/* phone */
.ft .ft-tel{display:inline-flex;align-items:center;gap:12px;font-size:23px;line-height:1.2}
.ft-tel-ic{flex:none;display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,#D6336C,#8E1F55);color:#FFFFFF;box-shadow:0 12px 24px -12px rgba(214,51,108,.9);transition:transform .25s ease}
.ft-tel-t small{display:block;margin-bottom:3px;font-size:12.5px;font-weight:500;letter-spacing:0;color:#C9A9BB}
.ft .ft-tel:hover .ft-tel-ic{transform:rotate(-8deg) scale(1.05)}
.ft-acts{margin-top:14px}

/* bottom band */
.ft-band{margin-top:6px;padding:18px 0 calc(18px + 76px + env(safe-area-inset-bottom,0px));background:rgba(0,0,0,.22);border-top:1px solid rgba(255,255,255,.06)}
.ft-band .ft-bot{margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0;border:0;align-items:center}
.ft-grid{border-bottom:0}
@media (min-width: 768px){.ft-band{padding:20px 0}}
@media (prefers-reduced-motion: reduce){.ft .ft-tel:hover .ft-tel-ic{transform:none}}
.ft-band .ft-bot{margin-left:auto;margin-right:auto}

/* ---------- default page template ---------- */
.pg{background:linear-gradient(180deg,#FFFBFD 0%,#FFFFFF 60%)}
.pg .wrap{max-width:1180px}
.pg-standard .pg-main{max-width:860px;margin:0 auto}
.pg-standard .pg-grid .pg-main{max-width:none;margin:0}
.pg-narrow .pg-main{max-width:760px;margin:0 auto}
.pg-wide .pg-main{max-width:none}
.pg-card{position:relative;padding:28px 20px;border:1px solid var(--line);border-radius:24px;background:#FFFFFF;box-shadow:0 1px 2px rgba(74,29,63,.04),0 24px 50px -36px rgba(74,29,63,.35)}
.pg-wide .pg-card{padding:0;border:0;background:none;box-shadow:none}
.pg-narrow .pg-card{padding:28px 22px}
.pg-narrow .entry{font-size:16px}
.pg-narrow .entry h2{font-size:clamp(19px,4.6vw,23px);margin-top:32px}
.pg-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;align-items:start}
.pg-side{display:none}
.pg-toc-m{margin-bottom:18px}
.pg-lang-note{display:flex;align-items:center;gap:8px;margin:0 0 18px;padding:10px 14px;border-radius:12px;background:#F3F8FE;color:#1D3A5F;font-size:14px}
.pg-updated{display:flex;align-items:center;gap:8px;margin:28px 0 0;padding-top:18px;border-top:1px dashed var(--line);font-size:13.5px;color:var(--muted)}
.pg-updated svg{color:var(--teal)}
.pg-help{padding:20px;border-radius:20px;background:linear-gradient(150deg,#4A1D3F 0%,#8E1F55 100%);color:#FFFFFF}
.pg-help-k{margin:0;font-size:17px;font-weight:700;color:#FFFFFF}
.pg-help-s{margin:2px 0 12px;font-size:13.5px;color:#F1DCE6}
.pg-help-tel{display:flex;align-items:center;gap:8px;margin-bottom:12px;color:#FFFFFF;font-size:19px;font-weight:700;text-decoration:none}
.pg-help-tel:hover{color:#F7C6DA}
.pg-help .btn{min-height:46px}
.pg-wide .entry > .alignfull{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);border-radius:0}
.pg .entry > .alignwide{max-width:none}
@media (min-width: 768px){
	.pg-card{padding:40px 44px}
	.pg-narrow .pg-card{padding:36px 40px}
}
@media (min-width: 1024px){
	.pg-grid{grid-template-columns:minmax(0,1fr) 300px;gap:40px}
	.pg-side{display:flex;flex-direction:column;gap:18px;position:sticky;top:100px}
	.pg-toc-mobile{display:none}
	.pg-card{padding:44px 52px}
}

/* ---------- booking section (v2) ---------- */
.bk{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr);gap:28px;padding:28px 20px;border-radius:28px;color:#FFFFFF;background:linear-gradient(135deg,#2E1027 0%,#4A1D3F 45%,#7A1E4E 100%);box-shadow:0 40px 80px -48px rgba(46,16,39,.9)}
.bk-deco{position:absolute;inset:0;z-index:-1;pointer-events:none}
.bk-orb{position:absolute;right:-120px;top:-160px;width:460px;height:460px;border-radius:50%;background:radial-gradient(circle,rgba(214,51,108,.45),transparent 65%)}
.bk-lines{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:40px 40px;-webkit-mask-image:radial-gradient(70% 80% at 100% 0%,#000,transparent 70%);mask-image:radial-gradient(70% 80% at 100% 0%,#000,transparent 70%)}
.bk-main{display:flex;flex-direction:column;gap:14px;min-width:0}
.bk-doc{display:flex;align-items:center;gap:12px;align-self:flex-start;padding:6px 16px 6px 6px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14)}
.bk-ava{flex:none;width:44px;height:44px;border-radius:50%;overflow:hidden;padding:2px;background:linear-gradient(135deg,#F7A1C4,#C2185B)}
.bk-ava img{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:50% 18%;border:2px solid #4A1D3F}
.bk-doc-n{margin:0;font-size:14.5px;font-weight:700;color:#FFFFFF;line-height:1.35}
.bk-doc-s{margin:0;font-size:12.5px;color:#E8CCDA;line-height:1.4}
.bk .eyebrow{margin:8px 0 0}
.bk-title{margin:0;font-size:clamp(24px,5.6vw,36px);line-height:1.3;font-weight:700;color:#FFFFFF}
.bk-points{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}
.bk-points li{display:flex;align-items:center;gap:10px;font-size:15px;color:#F1DCE6}
.bk-pt-ic{flex:none;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:9px;background:rgba(247,161,196,.15);color:#F7A1C4}
.bk-btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.bk-btn{flex:1 1 200px;min-height:54px;border-radius:16px}
.bk-btn-wa{background:#FFFFFF;color:#1F5E3B}
.bk-btn-wa svg{color:#25D366}
.bk-btn-wa:hover{background:#F1FBF5;color:#14482C;transform:translateY(-2px)}
.bk .btn-teal{box-shadow:0 16px 30px -16px rgba(214,51,108,.95)}
.bk .btn-teal:hover{transform:translateY(-2px)}
.bk-side{display:flex;flex-direction:column;gap:12px;min-width:0}
.bk-ch{padding:18px;border-radius:20px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.13);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:background .25s,border-color .25s}
.bk-ch:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.22)}
.bk-ch-top{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px}
.bk-ch-ic{flex:none;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:11px}
.bk-ch-ic.is-n{background:rgba(247,161,196,.16);color:#F7A1C4}
.bk-ch-ic.is-d{background:rgba(255,224,150,.16);color:#FFE096}
.bk-ch-lab{font-size:13px;font-weight:700;color:#FFFFFF}
.bk-ch-days{display:inline-flex;align-items:center;gap:5px;margin-left:auto;padding:3px 10px;border-radius:999px;background:rgba(255,255,255,.1);font-size:12px;font-weight:600;color:#F1DCE6}
.bk-ch-time{margin:0;font-size:clamp(19px,4.6vw,22px);font-weight:700;line-height:1.35;color:#FFFFFF}
.bk-ch-name{margin:4px 0 0;font-size:14px;font-weight:600;line-height:1.5;color:#F1DCE6}
.bk-ch-area{display:flex;align-items:center;gap:6px;margin:2px 0 0;font-size:13px;color:#D9B8C9}
.bk-ch-area svg{flex:none;color:#F7A1C4}
.bk-ch-area a{color:#F7C6DA;font-weight:600;text-decoration:none}
.bk-ch-area a:hover{color:#FFFFFF;text-decoration:underline}
.bk-call{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:20px;background:#FFFFFF;color:var(--navy);text-decoration:none;box-shadow:0 18px 36px -22px rgba(0,0,0,.6);transition:transform .25s,box-shadow .25s}
.bk-call:hover{color:var(--navy);transform:translateY(-2px);box-shadow:0 22px 40px -20px rgba(0,0,0,.65)}
.bk-call-ic{flex:none;display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,#D6336C,#8E1F55);color:#FFFFFF}
.bk-call-t{display:flex;flex-direction:column;min-width:0}
.bk-call-t small{font-size:12.5px;color:var(--muted)}
.bk-call-t strong{font-size:clamp(19px,4.6vw,22px);line-height:1.25;color:var(--navy)}
.bk-call-go{margin-left:auto;flex:none;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:#FBE7F0;color:#A3154F;transition:transform .25s}
.bk-call:hover .bk-call-go{transform:translateX(3px)}
.bk-call:focus-visible,.bk-ch-area a:focus-visible{outline:2px solid #F7A1C4;outline-offset:3px}
@media (min-width: 768px){
	.bk{padding:40px}
	.bk-side{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
	.bk-call{grid-column:1 / -1}
}
@media (min-width: 1024px){
	.bk{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:44px;align-items:center;padding:52px 56px}
	.bk-btn{flex:0 0 auto;padding:0 28px}
}
@media (prefers-reduced-motion: reduce){.bk *{transition:none!important}}
@media (min-width: 1024px){
	.bk-side{grid-template-columns:minmax(0,1fr)}
	.bk-ch{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:16px;align-items:center;padding:16px 18px}
	.bk-ch-top{grid-column:1 / -1;margin-bottom:8px}
	.bk-ch-time{grid-column:2;grid-row:2 / span 2;text-align:right;white-space:nowrap}
	.bk-ch-name{grid-column:1;grid-row:2;margin:0}
	.bk-ch-area{grid-column:1;grid-row:3}
}

.ft-sep{margin:0 6px;color:#7E5F70}
.ft .ft-legal{color:#D9BFCD;text-decoration:none;background:linear-gradient(#E86A9E,#E86A9E) 0 100%/0 1px no-repeat;transition:color .25s,background-size .3s}
.ft .ft-legal:hover,.ft .ft-legal:focus-visible{color:#FFFFFF;background-size:100% 1px}
.pg .pg-toc-m:not(.pg-toc-mobile){display:block}
@media (min-width: 1024px){.pg .pg-toc-mobile{display:none}}

.med-note .med-more{font-weight:700;color:var(--teal-ink);text-decoration:none;white-space:nowrap}
.med-note .med-more:hover{text-decoration:underline}

.ft .ft-legal{white-space:nowrap}
@media (max-width: 767px){.ft-legals{display:block;margin-top:6px}.ft-legals > .ft-sep:first-child{display:none}}

/* ---------- contact page (v2) ---------- */
.ctp-hero-acts{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:22px}
.ctp-hero-btn{min-height:50px;padding:0 22px;border-radius:14px;font-size:15.5px}
.ctp-hero-wa{background:#FFFFFF;color:#1F5E3B}
.ctp-hero-wa svg{color:#25D366}
.ctp-hero-wa:hover{background:#F1FBF5;color:#14482C}
.ctp-hero-ghost{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.28);color:#FFFFFF}
.ctp-hero-ghost:hover{background:rgba(255,255,255,.16);color:#FFFFFF}
.ctp-barsec{position:relative;z-index:2;margin-top:-44px}
.ctp-bar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden;border-radius:22px;background:#FFFFFF;border:1px solid var(--line);box-shadow:0 30px 60px -36px rgba(46,16,39,.5)}
.ctp-seg{display:flex;align-items:center;gap:12px;min-width:0;padding:16px;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line);transition:background-color .2s ease}
.ctp-seg:nth-child(odd){border-right:1px solid var(--line)}
.ctp-seg:hover{background:#FDF6F9;color:var(--ink)}
.ctp-seg:focus-visible{outline:2px solid var(--teal);outline-offset:-3px}
.ctp-ic{flex:none;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:14px;transition:transform .2s ease}
.ctp-seg:hover .ctp-ic{transform:scale(1.06)}
.ctp-call .ctp-ic{background:#FBE7F0;color:#A3154F}
.ctp-wa .ctp-ic{background:#E7F8EE;color:#1A9E52}
.ctp-fb .ctp-ic{background:#E8F0FE;color:#1877F2}
.ctp-yt .ctp-ic{background:#FDECEC;color:#E00000}
.ctp-mail .ctp-ic{background:#F4E8F0;color:var(--navy)}
.ctp-seg-t{display:flex;flex-direction:column;min-width:0}
.ctp-k{font-size:12.5px;font-weight:600;color:var(--muted);line-height:1.4}
.ctp-v{font-size:15.5px;line-height:1.35;color:var(--navy);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ctp-main{padding-top:48px}
.ctp-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;align-items:start}
.ctp-chambers .sec-head{margin-bottom:18px}
.ctp-chs{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
.ctp-ch{display:flex;flex-direction:column;overflow:hidden;padding:0;border-radius:22px;background:#FFFFFF;border:1px solid var(--line);box-shadow:0 18px 40px -32px rgba(74,29,63,.45);transition:transform .25s ease,box-shadow .25s ease}
.ctp-ch:hover{transform:translateY(-2px);box-shadow:0 26px 48px -30px rgba(74,29,63,.55)}
.ctp-ch-top{position:relative;padding:18px 20px 16px;color:#FFFFFF}
.ctp-ch-top.is-n{background:linear-gradient(135deg,#4A1D3F 0%,#6B2457 100%)}
.ctp-ch-top.is-d{background:linear-gradient(135deg,#8E1F55 0%,#4A1D3F 100%)}
.ctp-ch-badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;background:rgba(255,255,255,.14);font-size:12px;font-weight:700;color:#FFFFFF}
.ctp-ch-top.is-n .ctp-ch-badge svg{color:#F7A1C4}
.ctp-ch-top.is-d .ctp-ch-badge svg{color:#FFE096}
.ctp-ch-name{margin:10px 0 2px;font-size:clamp(17px,4.4vw,19px);line-height:1.4;color:#FFFFFF}
.ctp-ch-area{display:flex;align-items:center;gap:6px;margin:0;font-size:13.5px;color:#F1DCE6}
.ctp-ch-dl{margin:0;padding:6px 20px}
.ctp-ch-dl > div{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #F5ECF1}
.ctp-ch-dl > div:last-child{border-bottom:0}
.ctp-ch-dl dt{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;color:var(--muted)}
.ctp-ch-dl dt svg{color:var(--teal)}
.ctp-ch-dl dd{margin:0;text-align:right;font-size:14.5px;color:var(--ink2)}
.ctp-ch-dl strong{font-size:16px;color:var(--navy)}
.ctp-ch-acts{display:flex;gap:8px;margin-top:auto;padding:4px 20px 20px}
.ctp-btn{flex:1 1 0;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:0 14px;border-radius:12px;border:1.5px solid #E2CBD7;background:#FFFFFF;color:var(--navy);font-weight:700;font-size:14px;text-decoration:none;transition:background-color .2s,border-color .2s,color .2s}
.ctp-btn:hover{border-color:var(--navy);background:#FDF6F9;color:var(--navy)}
.ctp-btn-p{background:var(--navy);border-color:var(--navy);color:#FFFFFF}
.ctp-btn-p:hover{background:#2E1027;border-color:#2E1027;color:#FFFFFF}
.ctp-week{margin-top:16px;overflow:hidden;border-radius:22px;background:#FFFFFF;border:1px solid var(--line)}
.ctp-week-h{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px;padding:14px 20px;border-bottom:1px solid var(--line);background:#FDF6F9}
.ctp-week-h p{display:inline-flex;align-items:center;gap:8px;margin:0;font-weight:700;color:var(--navy)}
.ctp-week-h p svg{color:var(--teal)}
.ctp-week-h span{font-size:12.5px;color:var(--muted)}
.ctp-week table{width:100%;border-collapse:collapse;font-size:14px}
.ctp-week th,.ctp-week td{padding:10px 20px;text-align:left;border-bottom:1px solid #F5ECF1}
.ctp-week thead th{font-size:12.5px;font-weight:700;color:var(--muted);text-transform:none}
.ctp-week tbody th{font-weight:600;color:var(--ink)}
.ctp-week tbody td{color:var(--navy);font-weight:600;font-variant-numeric:tabular-nums}
.ctp-week tbody tr:last-child :is(th,td){border-bottom:0}
.ctp-week tr.is-today{background:#FBE7F0}
.ctp-week tr.is-today th em{margin-left:6px;padding:1px 8px;border-radius:999px;background:var(--teal);color:#FFFFFF;font-size:11px;font-style:normal;font-weight:700;vertical-align:1px}
.ctp-off{color:#B89AAA;font-weight:500}
.ctp-fcard{overflow:hidden;border-radius:24px;background:#FFFFFF;border:1px solid var(--line);box-shadow:0 30px 60px -40px rgba(74,29,63,.45);scroll-margin-top:100px}
.ctp-fhead{position:relative;overflow:hidden;padding:22px 22px 20px;color:#FFFFFF;background:linear-gradient(135deg,#4A1D3F 0%,#8E1F55 100%)}
.ctp-fhead::after{content:"";position:absolute;right:-50px;top:-70px;width:200px;height:200px;border-radius:50%;border:26px solid rgba(255,255,255,.07);pointer-events:none}
.ctp-fk{margin:0;font-size:12.5px;font-weight:700;letter-spacing:.04em;color:#F7A1C4}
.ctp-ft{margin:4px 0 14px;font-size:clamp(20px,5vw,24px);line-height:1.35;color:#FFFFFF}
.ctp-steps{position:relative;z-index:1;list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.ctp-steps li{display:inline-flex;align-items:center;gap:7px;padding:5px 12px 5px 5px;border-radius:999px;background:rgba(255,255,255,.12);font-size:13px;color:#F7E5EE}
.ctp-steps li span{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#FFFFFF;color:var(--navy);font-size:12px;font-weight:800}
.ctp-fcard .ctp-form{margin:0;border:0;border-radius:0;box-shadow:none;background:#FFFFFF}
.ctp-fcard .form-title{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media (min-width: 640px){
	.ctp-bar{grid-template-columns:repeat(4,minmax(0,1fr))}
	.ctp-seg{border-bottom:0;border-right:1px solid var(--line);padding:20px 22px}
	.ctp-seg:last-child{border-right:0}
	.ctp-chs{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width: 1024px){
	.ctp-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:36px}
	.ctp-formcol{position:sticky;top:96px}
	.ctp-fhead{padding:26px 30px 22px}
	.ctp-main{padding-top:64px}
}
@media (prefers-reduced-motion: reduce){.ctp-seg,.ctp-ic,.ctp-ch{transition:none}}

/* contact v2 — small screens */
.ctp-v{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}
@media (min-width: 640px) and (max-width: 1023px){
	.ctp-bar{grid-template-columns:repeat(2,minmax(0,1fr))}
	.ctp-seg{border-right:0;border-bottom:1px solid var(--line)}
	.ctp-seg:nth-child(odd){border-right:1px solid var(--line)}
	.ctp-seg:nth-last-child(-n+2){border-bottom:0}
}
@media (max-width: 639px){
	.ctp-hero-acts .ctp-hero-btn{flex:1 1 150px}
	.ctp-hero-acts .ctp-hero-btn:first-child{flex-basis:100%}
	.ctp-seg{gap:10px;padding:14px 12px}
	.ctp-ic{width:38px;height:38px;border-radius:12px}
	.ctp-v{font-size:14.5px}
	.ctp-week thead{display:none}
	.ctp-week table,.ctp-week tbody,.ctp-week tr{display:block}
	.ctp-week tr{padding:10px 16px;border-bottom:1px solid #F5ECF1}
	.ctp-week tbody tr:last-child{border-bottom:0}
	.ctp-week tbody th,.ctp-week td{display:flex;justify-content:space-between;gap:10px;padding:2px 0;border:0}
	.ctp-week tbody th{margin-bottom:4px}
	.ctp-week td::before{content:attr(data-label);font-weight:500;color:var(--muted);font-size:12.5px}
	.ctp-week td{font-size:13.5px}
}
@media (max-width: 639px){
	.ctp-hero-acts .ctp-hero-btn{flex:1 1 100%;white-space:nowrap}
	.ctp-hero-acts .ctp-hero-ghost{display:none}
	.ctp-bar{grid-template-columns:minmax(0,1fr)}
	.ctp-seg,.ctp-seg:nth-child(odd){border-right:0;border-bottom:1px solid var(--line);padding:12px 16px}
	.ctp-seg:last-child{border-bottom:0}
	.ctp-seg-t{flex-direction:row;align-items:baseline;justify-content:space-between;gap:10px;flex:1}
	.ctp-v{white-space:nowrap;overflow-wrap:normal;text-align:right}
}

/* ---------- bio: qualifications (CV style) ---------- */
.qcv{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;align-items:start}
.qcv-intro{display:flex;flex-direction:column;gap:12px}
.qcv-intro .h2{margin:0}
.qcv-intro .p{margin:0;max-width:440px}
.qcv-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.qcv-chips span{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:#FFFFFF;border:1px solid var(--line);color:var(--navy);font-size:13px;font-weight:600}
.qcv-chips svg{color:var(--teal)}
.qcv-list{list-style:none;margin:0;padding:6px 24px;border-radius:24px;background:#FFFFFF;border:1px solid var(--line);box-shadow:0 1px 2px rgba(74,29,63,.04),0 24px 48px -36px rgba(74,29,63,.45)}
.qcv-row{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;padding:22px 0;border-bottom:1px solid #F3E8EE}
.qcv-row:last-child{border-bottom:0}
.qcv-meta{display:flex;align-items:center;gap:10px}
.qcv-ic{flex:none;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;background:#FBF0F5;color:#A3154F;border:1px solid #F3DCE7}
.qcv-k{font-size:13px;font-weight:700;color:#A3154F;letter-spacing:.01em}
.qcv-body h3{margin:0 0 6px;font-size:clamp(17px,4.4vw,19px);line-height:1.45;color:var(--navy)}
.qcv-body p{margin:0;font-size:15px;line-height:1.75;color:#5A4652}
@media (min-width: 720px){
	.qcv-row{grid-template-columns:200px minmax(0,1fr);gap:24px;align-items:start}
	.qcv-meta{flex-direction:column;align-items:flex-start;gap:10px}
}
@media (min-width: 1024px){
	.qcv{grid-template-columns:minmax(0,.85fr) minmax(0,1.35fr);gap:64px}
	.qcv-intro{position:sticky;top:110px}
	.qcv-list{padding:8px 36px}
	.qcv-row{padding:26px 0}
}

/* ---------- bio: at a glance ---------- */
.bio-glance{overflow:hidden;align-self:start;border-radius:24px;background:#FFFFFF;border:1px solid var(--line);box-shadow:0 1px 2px rgba(74,29,63,.04),0 26px 50px -34px rgba(74,29,63,.5)}
.gl-head{position:relative;overflow:hidden;display:flex;align-items:center;gap:14px;padding:20px;background:linear-gradient(135deg,#4A1D3F 0%,#8E1F55 100%);color:#FFFFFF}
.gl-head::after{content:"";position:absolute;right:-50px;top:-60px;width:170px;height:170px;border-radius:50%;border:24px solid rgba(255,255,255,.07);pointer-events:none}
.gl-ava{position:relative;z-index:1;flex:none;width:64px;height:64px;padding:3px;border-radius:50%;background:linear-gradient(135deg,#F7A1C4,#FFFFFF)}
.gl-ava img,.gl-ava .ph-empty{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:50% 18%;border:2px solid #4A1D3F}
.gl-who{position:relative;z-index:1;min-width:0}
.gl-k{margin:0;font-size:12px;font-weight:700;letter-spacing:.04em;color:#F7A1C4}
.gl-name{margin:2px 0 0;font-size:18px;font-weight:700;line-height:1.35;color:#FFFFFF}
.gl-role{margin:2px 0 0;font-size:13px;line-height:1.5;color:#F1DCE6}
.gl-list{list-style:none;margin:0;padding:6px 20px}
.gl-list li{display:flex;align-items:flex-start;gap:12px;padding:14px 0;border-bottom:1px solid #F5ECF1}
.gl-list li:last-child{border-bottom:0}
.gl-ic{flex:none;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:12px;background:#FBE7F0;color:#A3154F}
.gl-t{display:flex;flex-direction:column;min-width:0}
.gl-l{font-size:12.5px;font-weight:600;color:var(--muted)}
.gl-v{margin-top:1px;font-size:15px;font-weight:700;line-height:1.5;color:var(--navy)}
.gl-cta{display:flex;flex-direction:column;gap:12px;padding:16px 20px 20px;background:#FDF6F9;border-top:1px solid var(--line)}
.gl-tel{display:flex;align-items:center;gap:12px;color:var(--navy);text-decoration:none}
.gl-tel:hover{color:var(--navy)}
.gl-tel-ic{flex:none;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,#D6336C,#8E1F55);color:#FFFFFF;box-shadow:0 10px 20px -10px rgba(214,51,108,.85);transition:transform .25s ease}
.gl-tel:hover .gl-tel-ic{transform:rotate(-8deg) scale(1.05)}
.gl-tel small{display:block;font-size:12px;color:var(--muted)}
.gl-tel strong{display:block;font-size:20px;line-height:1.25}
.gl-btns{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.gl-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:0 12px;border-radius:12px;border:1.5px solid transparent;font-family:inherit;font-size:14px;font-weight:700;text-decoration:none;cursor:pointer;transition:background-color .2s,border-color .2s,color .2s,transform .2s}
.gl-btn-p{background:var(--navy);color:#FFFFFF}
.gl-btn-p:hover{background:#2E1027;transform:translateY(-1px)}
.gl-btn-wa{background:#FFFFFF;border-color:#CDEFD9;color:#1F5E3B}
.gl-btn-wa svg{color:#25D366}
.gl-btn-wa:hover{background:#F1FBF5;border-color:#25D366;color:#14482C;transform:translateY(-1px)}
.gl-btn:focus-visible,.gl-tel:focus-visible{outline:2px solid var(--teal);outline-offset:3px}
@media (min-width: 1024px){.bio-glance{position:sticky;top:96px}}
@media (prefers-reduced-motion: reduce){.gl-btn,.gl-tel-ic{transition:none}}

/* ---------- header dropdown sub-menus (Appearance → Menus) ---------- */
.ndrop{position:relative;display:flex;align-items:center}
.nlink.has-sub{padding-right:2px}
.nsub-t{display:inline-flex;align-items:center;justify-content:center;width:26px;height:34px;margin-left:-2px;padding:0;border:0;border-radius:8px;background:none;color:var(--ink);cursor:pointer}
.nsub-t svg{transition:transform .25s ease}
.nsub-t:hover,.nsub-t:focus-visible{color:var(--navy);background:#FBF1F6}
.ndrop.open .nsub-t svg{transform:rotate(180deg)}
.nsub{position:absolute;top:calc(100% + 12px);left:50%;z-index:60;min-width:230px;padding:8px;background:#fff;border:1px solid #EBD9E3;border-radius:16px;box-shadow:0 28px 50px -24px rgba(74,29,63,.4);opacity:0;visibility:hidden;transform:translate(-50%,8px);transition:opacity .22s ease,transform .22s ease,visibility 0s linear .22s}
.nsub::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}
.nsub::after{content:"";position:absolute;top:-6px;left:50%;width:11px;height:11px;margin-left:-6px;background:#fff;border-left:1px solid #EBD9E3;border-top:1px solid #EBD9E3;transform:rotate(45deg);border-radius:2px 0 0 0}
.ndrop.open .nsub{opacity:1;visibility:visible;transform:translate(-50%,0);transition:opacity .22s ease,transform .22s ease,visibility 0s}
@media (hover:hover){
	.ndrop:hover .nsub{opacity:1;visibility:visible;transform:translate(-50%,0);transition:opacity .22s ease,transform .22s ease,visibility 0s}
	.ndrop:hover .nsub-t svg{transform:rotate(180deg)}
	.ndrop:hover .nlink::after{transform:scaleX(1)}
}
.hdr .nsublink{position:relative;display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:10px;color:var(--ink);font-weight:600;font-size:15.5px;white-space:nowrap;text-decoration:none;transition:background .18s ease,color .18s ease,padding .18s ease}
.hdr .nsublink::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:#E3C6D5;transition:background .18s ease,transform .18s ease}
.hdr .nsublink:hover,.hdr .nsublink:focus-visible{background:#FBF1F6;color:var(--navy);padding-left:18px}
.hdr .nsublink:hover::before,.hdr .nsublink:focus-visible::before{background:var(--teal);transform:scale(1.25)}
.hdr .nsublink.active{background:#FBF1F6;color:var(--navy)}
.hdr .nsublink.active::before{background:var(--navy)}
@media (prefers-reduced-motion:reduce){.nsub,.nsub-t svg,.hdr .nsublink{transition:none}}

/* mobile menu: expandable groups */
.mrow{display:flex;align-items:center;gap:8px;border-bottom:1px solid #F6ECF1}
.mrow .mlink{flex:1;border-bottom:0}
.msub-t{flex:none;display:inline-flex;align-items:center;justify-content:center;width:44px;height:40px;padding:0;border:0;border-radius:10px;background:#FBF1F6;color:var(--navy);cursor:pointer}
.msub-t svg{transition:transform .25s ease}
.mgrp.open .msub-t svg{transform:rotate(180deg)}
.msub{margin:6px 0 8px 6px;padding:2px 0 2px 14px;border-left:2px solid #F0DCE6}
.msub[hidden]{display:none}
.hdr .msublink{display:flex;align-items:center;min-height:44px;color:#5B4552;font-weight:500;font-size:15.5px;text-decoration:none}
.hdr .msublink:hover,.hdr .msublink.active{color:var(--teal-ink)}
/* deeper menu levels: indented inside the dropdown */
.hdr .nsublink.d2{margin-left:16px;padding-top:8px;padding-bottom:8px;font-weight:500;font-size:14.5px;color:#5B4552}
.hdr .nsublink.d3{margin-left:32px;padding-top:7px;padding-bottom:7px;font-weight:500;font-size:14px;color:#6E5965}
.hdr .nsublink.d2::before,.hdr .nsublink.d3::before{width:8px;height:2px;border-radius:2px}
.hdr .msublink.d2{padding-left:16px;font-size:15px}
.hdr .msublink.d3{padding-left:32px;font-size:14.5px}

/* header with many menu items: the logo never shrinks; tighter spacing on small desktops */
@media (min-width:1024px){.hdr .brand{flex:none}.navlinks{min-width:0}}
@media (min-width:1024px) and (max-width:1279px){
	.navlinks{gap:14px}
	.nlink{font-size:15px;padding-left:2px;padding-right:2px}
	.hdr-cta{padding:0 14px}
}

/* ---------- Bangla typography: Noto Sans Bengali (text) + Noto Serif Bengali (main headings) ---------- */
.lang-bn .sa{font-feature-settings:normal;text-rendering:optimizeLegibility}
.lang-bn .sa :is(h1,h2,.h1,.h2),.lang-bn .sa .entry :is(h3){font-family:'Noto Serif Bengali','Noto Sans Bengali',serif;letter-spacing:0}
.lang-bn .sa :is(h1,.h1){line-height:1.38}
.lang-bn .sa :is(h2,.h2){line-height:1.42}
