:root{
  --vp-bg:#08121b;
  --vp-surface:#101d28;
  --vp-surface-2:#142532;
  --vp-text:#f4f2ed;
  --vp-muted:#aab5bd;
  --vp-faint:#7e8c96;
  --vp-accent:#d84a5d;
  --vp-accent-soft:#f19aa6;
  --vp-line:rgba(255,255,255,.11);
  --vp-shadow:0 24px 70px rgba(0,0,0,.28);
  --vp-radius:18px;
  --vp-reading:760px;
}

html{scroll-behavior:smooth}
body.vp-polished{background:var(--vp-bg);color:var(--vp-text);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
body.vp-polished header{position:relative;z-index:50;border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:saturate(140%) blur(14px)}
body.vp-polished img{max-width:100%}
body.vp-polished a{transition:color .18s ease,background-color .18s ease,border-color .18s ease,transform .18s ease,opacity .18s ease}
body.vp-polished a:focus-visible,body.vp-polished button:focus-visible,body.vp-polished input:focus-visible{outline:3px solid rgba(241,154,166,.45);outline-offset:3px}

/* Route heroes */
body.vp-polished .site-route-hero{position:relative;isolation:isolate;overflow:hidden;padding:64px 0 52px;border-bottom:1px solid var(--vp-line);background:linear-gradient(135deg,#0d1c28 0%,#09141e 58%,#111923 100%)}
body.vp-polished .site-route-hero::before{content:"";position:absolute;z-index:-2;inset:0;background:radial-gradient(circle at 82% 18%,rgba(216,74,93,.18),transparent 30%),radial-gradient(circle at 10% 100%,rgba(57,103,137,.18),transparent 34%)}
body.vp-polished .site-route-hero::after{content:"";position:absolute;z-index:-1;right:-7%;bottom:-48%;width:42vw;min-width:420px;aspect-ratio:1;border:1px solid rgba(255,255,255,.07);border-radius:50%;box-shadow:0 0 0 44px rgba(255,255,255,.018),0 0 0 88px rgba(255,255,255,.012)}
body.vp-polished .site-route-hero.vp-hero-has-image{min-height:430px;display:flex;align-items:flex-end;background-image:linear-gradient(90deg,rgba(5,14,22,.97) 0%,rgba(5,14,22,.9) 42%,rgba(5,14,22,.38) 72%,rgba(5,14,22,.64) 100%),var(--vp-hero-image);background-size:cover;background-position:center var(--vp-hero-position,40%)}
body.vp-polished .site-route-hero.vp-hero-has-image::before{background:linear-gradient(180deg,rgba(5,14,22,.05),rgba(5,14,22,.36))}
body.vp-polished .site-route-hero.vp-hero-has-image::after{display:none}
body.vp-polished .site-route-hero .container,body.vp-polished .site-route-hero>[class*="container"]{position:relative;z-index:2}
body.vp-polished .site-route-hero h1{max-width:19ch;margin:16px 0 16px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(34px,4.4vw,58px);font-weight:700;line-height:1.035;letter-spacing:-.035em;text-wrap:balance}
body.vp-polished .site-route-hero p{max-width:720px;margin:0;color:#c1c9cf;font-size:clamp(16px,1.5vw,18px);line-height:1.6;text-wrap:pretty}
body.vp-polished .site-route-eyebrow,body.vp-polished .site-card-label{color:var(--vp-accent-soft);font-size:15px;font-weight:850;letter-spacing:.13em}
body.vp-polished .site-breadcrumbs{margin-bottom:14px;color:#a7b2ba;font-size:16px}
body.vp-polished .site-route-meta{margin-top:14px;color:#a0adb6;font-size:17px}

/* Reading experience */
body.vp-polished .site-route-content{padding:62px 0 96px;background:linear-gradient(180deg,#0a151f,#08121b)}
body.vp-polished .site-content-shell{max-width:var(--vp-reading)}
body.vp-polished .wordpress-content,body.vp-polished .managed-content{max-width:var(--vp-reading);color:#d3d8dc;font-family:Georgia,"Times New Roman",serif;font-size:clamp(16.5px,1.2vw,18px);line-height:1.78;letter-spacing:.002em}
body.vp-polished .wordpress-content>p:first-of-type,body.vp-polished .managed-content>p:first-of-type{font-size:1.08em;line-height:1.72;color:#e0e3e5}
body.vp-polished .wordpress-content p,body.vp-polished .managed-content p{margin:0 0 1.35em}
body.vp-polished .wordpress-content p:empty,body.vp-polished .managed-content p:empty{display:none}
body.vp-polished .wordpress-content h2,body.vp-polished .managed-content h2{margin:2.15em 0 .65em;font-size:clamp(28px,3.1vw,38px);line-height:1.12;letter-spacing:-.025em;text-wrap:balance}
body.vp-polished .wordpress-content h3,body.vp-polished .managed-content h3{margin:1.8em 0 .55em;font-size:clamp(23px,2.4vw,30px);line-height:1.18;letter-spacing:-.018em}
body.vp-polished .wordpress-content h4,body.vp-polished .managed-content h4{margin:1.6em 0 .5em;font-size:20px;line-height:1.25}
body.vp-polished .wordpress-content ul,body.vp-polished .wordpress-content ol,body.vp-polished .managed-content ul,body.vp-polished .managed-content ol{padding-left:1.25em;margin:0 0 1.5em}
body.vp-polished .wordpress-content li,body.vp-polished .managed-content li{margin:.42em 0;padding-left:.2em}
body.vp-polished .wordpress-content a,body.vp-polished .managed-content a{color:#f3a5af;text-decoration-thickness:1px;text-underline-offset:4px}
body.vp-polished .wordpress-content a:hover,body.vp-polished .managed-content a:hover{color:#fff}
body.vp-polished .wordpress-content blockquote,body.vp-polished .managed-content blockquote{margin:2em 0;padding:22px 26px;border-left:4px solid var(--vp-accent);border-radius:0 12px 12px 0;background:rgba(255,255,255,.045);color:#e5e7e8;font-size:1.05em}
body.vp-polished .wordpress-content hr,body.vp-polished .managed-content hr{height:1px;border:0;background:var(--vp-line);margin:3em 0}
body.vp-polished .site-featured-image,body.vp-polished .managed-featured{display:block;width:100%;max-height:560px;margin:0 0 42px;border-radius:var(--vp-radius);object-fit:cover;box-shadow:var(--vp-shadow)}
body.vp-polished .vp-featured-in-hero{display:none}
body.vp-polished .wordpress-content img:not(.site-featured-image),body.vp-polished .managed-content img:not(.managed-featured){height:auto;margin:1.4em auto;border-radius:14px;box-shadow:0 16px 42px rgba(0,0,0,.22)}
body.vp-polished .wordpress-content figure,body.vp-polished .managed-content figure{margin:2em 0}
body.vp-polished figcaption{margin-top:10px;color:var(--vp-faint);font-family:Inter,ui-sans-serif,sans-serif;font-size:16px;line-height:1.5;text-align:center}
body.vp-polished .wordpress-content iframe,body.vp-polished .wordpress-content video,body.vp-polished .managed-content iframe,body.vp-polished .managed-content video{min-height:0;aspect-ratio:16/9;border-radius:16px;box-shadow:var(--vp-shadow)}

/* Archives and cards */
body.vp-polished .site-archive-toolbar{margin-bottom:30px}
body.vp-polished .site-archive-toolbar input{min-height:46px;border-color:rgba(255,255,255,.14);background:#0c1923;box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}
body.vp-polished .site-archive-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
body.vp-polished .site-archive-card{display:flex;min-width:0;flex-direction:column;border:1px solid var(--vp-line);border-radius:var(--vp-radius);background:linear-gradient(180deg,#12222e,#0e1b25);box-shadow:0 12px 34px rgba(0,0,0,.14);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
body.vp-polished .site-archive-card:hover{transform:translateY(-4px);border-color:rgba(241,154,166,.34);box-shadow:0 22px 54px rgba(0,0,0,.24)}
body.vp-polished .site-card-media{position:relative;min-height:0;aspect-ratio:16/9;overflow:hidden;background:radial-gradient(circle at 75% 20%,rgba(216,74,93,.48),transparent 27%),linear-gradient(135deg,#28465a,#111e28 62%,#32141c)}
body.vp-polished .site-card-media::after{content:"BAN SHARIA";position:absolute;right:16px;bottom:12px;color:rgba(255,255,255,.16);font-size:15px;font-weight:900;letter-spacing:.16em}
body.vp-polished .site-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
body.vp-polished .site-archive-card:hover .site-card-media img{transform:scale(1.035)}
body.vp-polished .site-card-media span{font-size:42px;color:rgba(255,255,255,.25)}
body.vp-polished .site-card-body{display:flex;flex:1;flex-direction:column;padding:22px}
body.vp-polished .site-card-body h2{margin:8px 0 11px;font-size:clamp(20px,1.8vw,25px);line-height:1.14;letter-spacing:-.02em;text-wrap:balance}
body.vp-polished .site-card-body p{color:#aeb9c1;font-size:14px;line-height:1.62}
body.vp-polished .site-card-body .site-card-link{margin-top:auto;padding-top:10px;color:var(--vp-accent-soft)}
body.vp-polished .site-library-list{gap:14px}
body.vp-polished .site-library-row{padding:20px 22px;border-color:var(--vp-line);background:linear-gradient(135deg,#11212d,#0d1923);transition:transform .18s ease,border-color .18s ease}
body.vp-polished .site-library-row:hover{transform:translateX(3px);border-color:rgba(241,154,166,.28)}

/* Video pages */
body.vp-polished .site-video-embed,body.vp-polished .managed-video{margin-bottom:28px;border:1px solid rgba(255,255,255,.12);border-radius:18px;box-shadow:var(--vp-shadow)}
body.vp-polished .site-video-context{padding:22px;border-color:var(--vp-line);background:linear-gradient(135deg,#11212d,#0d1923)}

/* Navigation and footer */
body.vp-polished .site-structure-nav{gap:18px}
body.vp-polished .site-structure-nav a{font-size:16px;letter-spacing:.01em}
body.vp-polished .site-structure-nav a:not(.site-nav-action):hover{color:var(--vp-accent-soft)}
body.vp-polished .site-structure-nav .site-nav-action{border:1px solid rgba(255,255,255,.08);background:linear-gradient(135deg,#df5365,#bd2f43);box-shadow:0 10px 24px rgba(207,51,71,.2)}
body.vp-polished footer{border-top:1px solid var(--vp-line)}
body.vp-polished .site-footer-links{gap:18px}

@media(max-width:1080px){
  body.vp-polished .site-archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.vp-polished .site-route-hero.vp-hero-has-image{min-height:390px}
}
@media(max-width:760px){
  body.vp-polished .site-route-hero{padding:48px 0 40px}
  body.vp-polished .site-route-hero.vp-hero-has-image{min-height:350px;background-image:linear-gradient(180deg,rgba(5,14,22,.38),rgba(5,14,22,.96) 78%),var(--vp-hero-image);background-position:center}
  body.vp-polished .site-route-hero h1{font-size:clamp(31px,9.5vw,44px);line-height:1.06}
  body.vp-polished .site-route-hero p{font-size:16px}
  body.vp-polished .site-route-content{padding:44px 0 72px}
  body.vp-polished .wordpress-content,body.vp-polished .managed-content{font-size:16.5px;line-height:1.72}
  body.vp-polished .site-archive-grid{grid-template-columns:1fr;gap:18px}
  body.vp-polished .site-card-body{padding:20px}
  body.vp-polished .site-card-body h2{font-size:22px}
  body.vp-polished .site-featured-image,body.vp-polished .managed-featured{margin-bottom:30px;border-radius:14px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none!important;animation:none!important}
}

/* Production typography standards — loaded after the mirrored source styles. */
body.vp-polished{font-size:18px;line-height:1.65}
body.vp-polished :where(button,input,select,textarea){font:inherit}
body.vp-polished :where(p,li,dd,dt,figcaption){text-wrap:pretty}
body.vp-polished :where(.site-route-content,.site-video-context,.site-library-row,.site-archive-card,.interior-card,.feature-copy) p{font-size:18px;line-height:1.65}
body.vp-polished :where(.site-route-content,.site-video-context,.site-library-row,.site-archive-card,.interior-card,.feature-copy) li{font-size:18px;line-height:1.65}
body.vp-polished :where(.site-route-eyebrow,.site-card-label,.document-chip,.eyebrow,[class*="eyebrow"],[class*="label"]){font-size:17px;line-height:1.35}
body.vp-polished :where(.site-breadcrumbs,.site-route-meta,.site-card-meta,time,[class*="date"],[class*="meta"],[class*="caption"]){font-size:14px!important;line-height:1.5}
body.vp-polished :where(.btn,button,input[type="submit"],input[type="button"],.site-nav-action,.site-card-link,[class*="cta"],a[class*="button"]){min-height:44px;font-size:16px;line-height:1.25}

/* Header, menus, and footer remain legible without changing their structure. */
body.vp-polished .site-structure-nav a{font-size:16px;line-height:1.35}
body.vp-polished .site-structure-nav .site-nav-action{padding:12px 18px}
body.vp-polished footer,body.vp-polished footer a,body.vp-polished .site-footer-links,body.vp-polished .site-footer-links a{font-size:15px;line-height:1.55}
body.vp-polished .site-menu-toggle{min-width:44px;min-height:44px}

/* Readable article and research pages. */
body.vp-polished .wordpress-content,body.vp-polished .managed-content{max-width:760px;font-size:clamp(18px,1.25vw,20px);line-height:1.68}
body.vp-polished .wordpress-content p,body.vp-polished .managed-content p{margin-bottom:1.45em}
body.vp-polished figcaption{font-size:17px;line-height:1.55}
body.vp-polished .site-route-hero p{max-width:760px;font-size:clamp(18px,1.55vw,20px);line-height:1.65}
body.vp-polished .site-route-eyebrow,body.vp-polished .site-card-label{font-size:17px}
body.vp-polished .site-breadcrumbs{font-size:14px}

/* Archive, evidence, media, and video cards. */
body.vp-polished .site-card-body{padding:28px}
body.vp-polished .site-card-body h2{font-size:clamp(24px,2vw,30px);line-height:1.16}
body.vp-polished .site-card-body p{font-size:17px;line-height:1.62}
body.vp-polished .site-card-meta{font-size:14px!important;line-height:1.5!important}
body.vp-polished .site-card-body .site-card-link{padding-top:16px;font-size:16px}
body.vp-polished .site-card-media::after{font-size:16px}
body.vp-polished .site-library-row{padding:24px 26px}
body.vp-polished .site-library-row h2{font-size:clamp(23px,2vw,30px);line-height:1.2}
body.vp-polished .site-library-row p,body.vp-polished .site-library-row>a{font-size:16px;line-height:1.6}
body.vp-polished .site-video-context{padding:28px}

/* Homepage and campaign treatments support the existing authored markup. */
body.vp-polished :is(.home-hero,.homepage-hero,.hero,.site-home-hero) h1{max-width:12ch;font-size:clamp(72px,6vw,112px);line-height:.98;letter-spacing:-.05em}
body.vp-polished :is(.home-hero,.homepage-hero,.hero,.site-home-hero) p{max-width:700px;font-size:clamp(21px,1.7vw,22px);line-height:1.6}
body.vp-polished :is(.home-hero,.homepage-hero,.hero,.site-home-hero) :is(.btn,button,[class*="cta"]){font-size:17px}
body.vp-polished :is(.home-hero,.homepage-hero,.hero,.site-home-hero){padding-block:clamp(72px,10vw,136px)}
body.vp-polished :is(.brief-card,.featured-brief,.brief-feature,.research-brief) {padding:clamp(28px,4vw,56px)}
body.vp-polished :is(.brief-card,.featured-brief,.brief-feature,.research-brief) h2{font-size:clamp(42px,3.2vw,58px);line-height:1.04}
body.vp-polished :is(.brief-card,.featured-brief,.brief-feature,.research-brief) p{font-size:clamp(18px,1.55vw,19px);line-height:1.6}
body.vp-polished :is(.brief-card,.featured-brief,.brief-feature,.research-brief) :is(.meta,.eyebrow,.label){font-size:14px!important}
body.vp-polished :is(.brief-card,.featured-brief,.brief-feature,.research-brief) :is(.stat-label,.stat-caption){font-size:14px!important}
body.vp-polished :is(.brief-card,.featured-brief,.brief-feature,.research-brief) :is(.btn,button,[class*="cta"]){font-size:17px}
body.vp-polished :is(.campaign-section,.campaign-hero,.campaign) > :is(h2,h3){font-size:clamp(54px,5vw,82px);line-height:1.02;letter-spacing:-.045em}
body.vp-polished :is(.campaign-section,.campaign-hero,.campaign) :is(p,.intro){font-size:clamp(18px,1.5vw,20px);line-height:1.65}
body.vp-polished :is(.pledge-card,.campaign-card) :is(.category,.eyebrow,.label){font-size:17px!important}
body.vp-polished :is(.pledge-card,.campaign-card) :is(h2,h3){font-size:clamp(30px,2.8vw,36px);line-height:1.12}
body.vp-polished :is(.pledge-card,.campaign-card) p{font-size:17px;line-height:1.62}
body.vp-polished :is(.pledge-card,.campaign-card) :is(.btn,button,[class*="cta"]){font-size:16px}

@media(max-width:1080px){
  body.vp-polished .site-structure-nav{gap:14px}
  body.vp-polished .site-structure-nav a{font-size:15px}
  body.vp-polished .site-card-body{padding:24px}
  body.vp-polished :is(.home-hero,.homepage-hero,.hero,.site-home-hero) h1{font-size:clamp(60px,7vw,84px)}
  body.vp-polished :is(.campaign-section,.campaign-hero,.campaign) > :is(h2,h3){font-size:clamp(48px,5.5vw,68px)}
}
@media(max-width:760px){
  body.vp-polished{font-size:17px}
  body.vp-polished .site-structure-nav a{min-height:44px;padding:12px 14px;font-size:16px}
  body.vp-polished .site-route-hero p{font-size:17px;line-height:1.62}
  body.vp-polished .wordpress-content,body.vp-polished .managed-content{font-size:17px;line-height:1.68}
  body.vp-polished .site-card-body{padding:22px}
  body.vp-polished .site-card-body p{font-size:16px;line-height:1.62}
  body.vp-polished .site-card-body .site-card-link{font-size:16px}
  body.vp-polished .site-library-row p,body.vp-polished .site-library-row>a{font-size:16px}
  body.vp-polished :is(.home-hero,.homepage-hero,.hero,.site-home-hero){padding-block:64px}
  body.vp-polished :is(.home-hero,.homepage-hero,.hero,.site-home-hero) h1{font-size:clamp(48px,14vw,62px);line-height:1.01}
  body.vp-polished :is(.home-hero,.homepage-hero,.hero,.site-home-hero) p{font-size:18px}
  body.vp-polished :is(.campaign-section,.campaign-hero,.campaign) > :is(h2,h3){font-size:clamp(38px,11vw,48px)}
  body.vp-polished :is(.brief-card,.featured-brief,.brief-feature,.research-brief){padding:28px 22px}
  body.vp-polished :is(.brief-card,.featured-brief,.brief-feature,.research-brief) h2{font-size:clamp(36px,10vw,46px)}
}

/* Mirrored homepage components. */
body.vp-polished .main-nav a{font-size:16px;line-height:1.35}
body.vp-polished .utility,body.vp-polished .utility a{font-size:14px;line-height:1.5}
body.vp-polished .hero h1{max-width:12ch;font-size:clamp(72px,6vw,112px);line-height:.98;letter-spacing:-.05em}
body.vp-polished .hero-copy>p{max-width:700px;font-size:clamp(21px,1.7vw,22px);line-height:1.62}
body.vp-polished .hero .btn{font-size:17px}
body.vp-polished .hero-inner{padding-block:clamp(72px,9vw,126px)}
body.vp-polished .proof-item{font-size:14px;line-height:1.5}
body.vp-polished .video-label .live-chip,body.vp-polished .video-meta span{font-size:14px;line-height:1.5}
body.vp-polished .video-label h3{font-size:clamp(42px,3.2vw,58px);line-height:1.04}
body.vp-polished .video-label p,body.vp-polished .video-meta{font-size:18px;line-height:1.6}
body.vp-polished .video-meta .btn{font-size:17px}
body.vp-polished .feature-copy{padding:clamp(28px,4vw,56px)}
body.vp-polished .feature-copy h3{font-size:clamp(42px,3.2vw,58px);line-height:1.06}
body.vp-polished .feature-copy p{font-size:19px;line-height:1.6}
body.vp-polished .document-chip,body.vp-polished .short-meta,body.vp-polished .news-meta,body.vp-polished .news-tag{font-size:17px!important;line-height:1.45}
body.vp-polished .short-copy h4,body.vp-polished .document-card h4{font-size:19px;line-height:1.25}
body.vp-polished .short-copy p,body.vp-polished .document-card p,body.vp-polished .news-card p{font-size:17px;line-height:1.62}
body.vp-polished .text-link{font-size:16px;line-height:1.4}
body.vp-polished .section-title{font-size:clamp(54px,5vw,82px);line-height:1.04;letter-spacing:-.045em}
body.vp-polished .section-intro{font-size:clamp(18px,1.5vw,20px);line-height:1.65}
body.vp-polished .campaign-grid{align-items:center;gap:clamp(32px,5vw,72px)}
body.vp-polished .campaign-copy h2{font-size:clamp(54px,5vw,82px);line-height:1.04;letter-spacing:-.045em}
body.vp-polished .campaign-copy>p{font-size:clamp(18px,1.5vw,20px);line-height:1.65}
body.vp-polished .campaign-point strong{font-size:18px;line-height:1.35}
body.vp-polished .campaign-point span{font-size:16px;line-height:1.55}
body.vp-polished .footer-col,body.vp-polished .footer-col a,body.vp-polished .footer-bottom,body.vp-polished .privacy{font-size:15px;line-height:1.55}
@media(max-width:760px){
  body.vp-polished .main-nav a{min-height:44px;padding:12px 14px;font-size:16px}
  body.vp-polished .hero h1{font-size:clamp(48px,14vw,62px);line-height:1.01}
  body.vp-polished .hero-copy>p{font-size:18px}
  body.vp-polished .section-title,body.vp-polished .campaign-copy h2{font-size:clamp(38px,11vw,48px)}
  body.vp-polished .feature-copy h3,body.vp-polished .video-label h3{font-size:clamp(36px,10vw,46px)}
  body.vp-polished .short-copy p,body.vp-polished .document-card p,body.vp-polished .news-card p{font-size:16px}
}

small{font-size:max(0.85em,14px)}
