/* Self-hosted fonts (audit P6: faster, and no visitor data sent to Google) */
@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/inter-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/inter-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Inter";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/inter-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/inter-latin-ext-500-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Inter";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/inter-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/inter-latin-ext-600-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Inter";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/inter-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/inter-latin-ext-700-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(fonts/source-serif-4-latin-opsz-normal.woff2) format("woff2-variations"),url(fonts/source-serif-4-latin-opsz-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(fonts/source-serif-4-latin-ext-opsz-normal.woff2) format("woff2-variations"),url(fonts/source-serif-4-latin-ext-opsz-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Amiri";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/amiri-arabic-400-normal.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:"Amiri";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/amiri-arabic-700-normal.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
/* LawFiq shared styles: design tokens, header, navigation, footer and components used on every page.
   Page-specific styles stay in each page's own <style> block. */
:root{
 --navy:#0B1F3A; --navy-2:#12294B; --navy-3:#1B3A66;
 --white:#FFFFFF; --mist:#F5F7FA; --cool:#EEF2FA; --tint:#EDF2FC;
 --blue:#1D4ED8; --blue-dk:#1E40AF; --blue-lt:#7AA2F0;
 --ink:#0F172A; --ink-2:#42526B; --muted:#5A6B82;
 --line:#E4E8EF; --line-2:#C4CCDA; --line-d:rgba(245,248,255,.13);
 --inverse:#F5F8FF;

 --serif:"Source Serif 4",Georgia,serif; --sans:"Inter",system-ui,sans-serif; --arabic:"Noto Naskh Arabic",serif;

 --t-dxl:clamp(3rem,5.4vw,5rem); --t-d:clamp(2.9rem,5vw,4.7rem);
 --t-h2:clamp(2rem,3.2vw,2.9rem); --t-h3:clamp(1.5rem,2vw,1.85rem);
 --t-h4:clamp(1.25rem,1.6vw,1.4rem); --t-lg:clamp(1.12rem,1.35vw,1.28rem);
 --t-body:1.0625rem; --t-sm:.9375rem; --t-cap:.8125rem;

 --r:10px; --r-card:14px; --r-feat:18px; --r-media:22px; --r-pill:999px;
 --gutter:clamp(20px,5vw,72px); --sec:clamp(4.5rem,8vw,8rem); --wrap:1280px;
 --ease:cubic-bezier(.22,1,.36,1);
 --shadow-sm:0 12px 28px -18px rgba(11,31,58,.35);
 --shadow:0 34px 70px -40px rgba(11,31,58,.5);
 --shadow-lg:0 50px 90px -45px rgba(11,31,58,.55);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;overflow-x:hidden}
body{margin:0;background:var(--white);color:var(--ink);font-family:var(--sans);font-size:var(--t-body);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
button{font:inherit}
h1,h2,h3,h4{margin:0}
:focus-visible{outline:3px solid var(--blue);outline-offset:2px;border-radius:6px;box-shadow:0 0 0 5px rgba(29,78,216,.22)}
[id]{scroll-margin-top:92px}
.skip{position:absolute;left:-9999px;background:var(--navy);color:#fff;padding:.85rem 1.25rem;z-index:300;border-radius:var(--r)}
.skip:focus{left:1rem;top:1rem}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:var(--gutter)}
.eyebrow{font-weight:600;font-size:var(--t-cap);letter-spacing:.01em;text-transform:none;color:var(--blue);display:inline-flex;align-items:center;gap:.7rem}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--blue)}
.eyebrow.light{color:var(--blue-lt)}
.eyebrow.light::before{background:var(--blue-lt)}
.display{font-family:var(--serif);font-weight:600;font-size:var(--t-d);line-height:1.02;letter-spacing:-.018em}
.h2{font-family:var(--serif);font-weight:600;font-size:var(--t-h2);line-height:1.1;letter-spacing:-.015em}
.h3{font-family:var(--serif);font-weight:600;font-size:var(--t-h3);line-height:1.18;letter-spacing:-.01em}
.h4{font-family:var(--serif);font-weight:600;font-size:var(--t-h4);line-height:1.28}
.lg{font-size:var(--t-lg);line-height:1.55}
.sub{color:var(--ink-2)}
.ar{font-family:var(--arabic)}
.u{background:linear-gradient(transparent 60%,rgba(29,78,216,.20) 60%)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:52px;padding:.85rem 1.7rem;border-radius:var(--r);font-weight:600;font-size:.95rem;text-decoration:none;border:1.5px solid transparent;cursor:pointer;transition:.18s var(--ease)}
.btn .arw{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.9;transition:transform .2s}
@media (hover:hover){.btn:hover .arw{transform:translateX(3px)}}
.btn-primary{background:var(--blue);color:#fff;border-color:var(--blue);box-shadow:0 16px 30px -16px rgba(29,78,216,.6)}
@media (hover:hover){.btn-primary:hover{background:var(--blue-dk);border-color:var(--blue-dk)}}
.btn-secondary{background:transparent;color:var(--navy);border-color:var(--line-2)}
@media (hover:hover){.btn-secondary:hover{border-color:var(--navy);background:var(--mist)}}
.btn-light{background:#fff;color:var(--navy);border-color:#fff}
@media (hover:hover){.btn-light:hover{background:var(--cool)}}
.btn-quiet{background:transparent;border-color:var(--line-d);color:#fff}
@media (hover:hover){.btn-quiet:hover{border-color:#fff;background:rgba(245,248,255,.07)}}
.callbtn{display:inline-flex;align-items:center;gap:.55rem;min-height:52px;padding:.5rem .8rem;font-weight:500;color:var(--navy);text-decoration:none;font-size:.95rem}
.callbtn svg{width:18px;height:18px;stroke:var(--blue);fill:none;stroke-width:1.8}
@media (hover:hover){.callbtn:hover{color:var(--blue)}}
.tbc{border-bottom:1px dashed var(--blue);padding-bottom:1px}
.imgslot{position:relative;overflow:hidden;background:
  radial-gradient(120% 90% at 20% 0%,#1B3A66 0%,#0B1F3A 55%,#08152a 100%);
  isolation:isolate}
.imgslot .girih{position:absolute;inset:0;opacity:.10;mix-blend-mode:screen;pointer-events:none}
.imgslot .tag{position:absolute;left:1rem;bottom:1rem;right:1rem;font-size:var(--t-cap);color:#B9C7E0;line-height:1.4}
.imgslot .center{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:1.5rem;color:#9FB2D4;font-size:var(--t-cap);line-height:1.5}
.imgslot .art{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.arch-round{border-radius:var(--r-pill) var(--r-pill) var(--r-feat) var(--r-feat)}
.arch-point{clip-path:path("M0 100% L0 38% Q0 0 50% 0 Q100% 0 100% 38% L100% 100% Z")}
.hdr{position:sticky;top:0;z-index:200;background:#fff;backdrop-filter:saturate(160%) blur(12px);border-bottom:1px solid var(--line)}
.hdr-in{max-width:var(--wrap);margin:0 auto;padding-inline:var(--gutter);height:78px;display:flex;align-items:center;gap:1.75rem}
.brand{display:inline-flex;align-items:baseline;text-decoration:none;margin-right:auto;font-family:var(--serif);font-weight:700;font-size:1.55rem;letter-spacing:-.01em;color:var(--navy)}
.brand .stop{color:var(--blue);margin-left:1px}
.mainnav{display:flex;align-items:center;gap:.35rem}
@media (hover:hover){.navlink:hover,.navtrigger:hover{color:var(--blue);background:var(--mist)}}
.navtrigger .chev{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:2;transition:transform .2s}
.has-mega[aria-expanded="true"] .chev{transform:rotate(180deg)}
.hdr-actions{display:flex;align-items:center;gap:.75rem;margin-left:.4rem}
.mega{position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateY(-8px);transition:.22s}
.mega.open{opacity:1;visibility:visible;transform:none}
.mega-in{max-width:var(--wrap);margin:0 auto;padding:clamp(1.75rem,3vw,2.5rem) var(--gutter);display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}
.mega-col h5{font-size:var(--t-cap);letter-spacing:.01em;text-transform:none;color:var(--blue);font-weight:700;margin:0 0 .4rem}
.mega-col>p{margin:0 0 1rem;font-size:var(--t-sm);color:var(--muted);line-height:1.5}
.mega-col ul{list-style:none;margin:0;padding:0}
.mega-col a{display:block;text-decoration:none;font-size:var(--t-sm);color:var(--ink);padding:.5rem .6rem;border-radius:8px}
@media (hover:hover){.mega-col a:hover{background:var(--mist);color:var(--blue)}}
.burger{display:none;width:48px;height:48px;background:none;border:0;cursor:pointer;flex-direction:column;gap:5px;align-items:center;justify-content:center}
.burger span{display:block;width:23px;height:2px;background:var(--navy);transition:.25s}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.hero{position:relative;padding:clamp(3rem,5vw,5rem) 0 0;overflow:hidden}
.hero::before{content:"";position:absolute;top:-15%;right:-10%;width:60vw;height:60vw;max-width:780px;max-height:780px;
 background:radial-gradient(closest-side,rgba(29,78,216,.07),transparent 70%);pointer-events:none}
.hero-in{position:relative;display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(2rem,5vw,4.25rem);align-items:center}
.hero .eyebrow{margin-bottom:1.5rem}
.hero h1{margin-bottom:1.5rem;max-width:14ch}
.hero .lg{color:var(--ink-2);max-width:50ch;margin:0 0 2rem}
.hero-cta{display:flex;flex-wrap:wrap;gap:.85rem;align-items:center}
.arch-stage{position:relative;padding-top:1rem}
.arch-svg{width:100%;height:auto;display:block;filter:drop-shadow(0 40px 70px rgba(11,31,58,.30))}
.archwrap{position:relative;padding-top:2.2rem}
.arch-labels{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;padding-inline:.5rem}
.arch-labels span{font-size:.8125rem;letter-spacing:.01em;text-transform:none;color:var(--muted);font-weight:600;display:flex;flex-direction:column;gap:.15rem}
.arch-labels .ar{font-family:var(--arabic);font-size:1.15rem;letter-spacing:0;color:var(--blue);text-transform:none}
.arch-frame{position:relative;aspect-ratio:5/5.5;box-shadow:var(--shadow);border:1px solid var(--line)}
.keystone{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm);border-radius:var(--r-pill);
 padding:.5rem 1.1rem;font-family:var(--serif);font-weight:700;font-size:1.02rem;color:var(--navy);z-index:3}
.keystone i{display:inline-block;width:7px;height:7px;background:var(--blue);border-radius:50%;margin-right:.5rem;vertical-align:middle}
.cred-float .k{font-size:.8125rem;letter-spacing:.01em;text-transform:none;color:var(--blue);font-weight:700;margin-bottom:.35rem}
.cred-float .s{font-family:var(--sans);font-weight:400;font-size:.8rem;color:var(--ink-2);margin-top:.3rem;line-height:1.4}
.ribbon{margin-top:clamp(2.75rem,4vw,3.75rem);position:relative;z-index:1}
.ribbon-in{background:var(--navy);border-radius:var(--r-feat);display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden;position:relative;box-shadow:var(--shadow)}
.ribbon-in .girih{position:absolute;inset:0;opacity:.07;mix-blend-mode:screen}
.rib{padding:1.5rem 1.6rem;border-left:1px solid var(--line-d);display:flex;flex-direction:column;gap:.3rem;position:relative;z-index:1}
.rib:first-child{border-left:0}
.rib b{font-family:var(--serif);font-weight:600;font-size:1.24rem;color:#fff;line-height:1.15}
.rib b .ar{font-size:.82em;color:var(--blue-lt);margin-left:.35rem}
.rib span{font-size:.83rem;color:#9DB2D4;line-height:1.4}
.gap-in{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(2rem,5vw,4.5rem);align-items:start}
.gap-head .h2{margin:1.05rem 0 1.1rem}
.gap-head>p{color:var(--ink-2);font-size:var(--t-lg);line-height:1.55;margin:0}
.gap-foot{margin-top:1.75rem}
.gap-list{list-style:none;margin:0;padding:0}
.gap-item{display:grid;grid-template-columns:auto 1fr;gap:1.4rem;padding:1.5rem 0;border-top:1px solid var(--line);position:relative}
.gap-item:first-child{border-top:0}
.gap-num{font-family:var(--serif);font-weight:700;font-size:1.5rem;color:var(--blue);line-height:1}
.gap-item h4,
.gap-item h3{color:var(--navy);margin-bottom:.35rem;font-size:1.12rem}
.gap-item p{margin:0;color:var(--muted);font-size:var(--t-sm);line-height:1.5}
@media (max-width:1024px){.gap-in{grid-template-columns:1fr}}
.approach-head{max-width:60ch;margin-bottom:clamp(2.5rem,4vw,3.5rem)}
.approach-head .h2{margin:1.05rem 0 1.05rem}
.tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem}
.tab{min-height:48px;padding:.7rem 1.2rem;border:1px solid var(--line-2);background:#fff;border-radius:var(--r-pill);font-size:var(--t-sm);font-weight:500;color:var(--ink-2);cursor:pointer;transition:.18s}
@media (hover:hover){.tab:hover{border-color:var(--navy);color:var(--navy)}}
.tab[aria-selected="true"]{background:var(--navy);color:#fff;border-color:var(--navy)}
.panel{display:none}
.panel.on{display:block}
.pcols{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;position:relative}
.pcard{border-radius:var(--r-card);padding:clamp(1.6rem,2.4vw,2.15rem);border:1px solid var(--line);position:relative;background:#fff;box-shadow:var(--shadow-sm)}
.pcard.islamic{background:linear-gradient(180deg,var(--tint),#fff)}
.pcard.english{background:linear-gradient(180deg,var(--mist),#fff)}
.ptag{display:inline-flex;align-items:center;gap:.55rem;font-weight:700;font-size:var(--t-cap);letter-spacing:.01em;text-transform:none;color:var(--ink-2);margin-bottom:.9rem}
.ptag .ic{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:#fff;border:1px solid var(--line)}
.ptag .ic svg{width:18px;height:18px;stroke:var(--navy);fill:none;stroke-width:1.6}
.pcard.islamic .ic{background:var(--blue);border-color:var(--blue)}
.pcard.islamic .ic svg{stroke:#fff}
.pcard h3{margin-bottom:.5rem;color:var(--navy)}
.pcard h3 .ar{font-size:.86em;color:var(--blue);margin-left:.4rem}
.pcard p{margin:0;color:var(--ink-2);font-size:var(--t-body);line-height:1.6}
.converge{height:66px;position:relative;margin:-2px 0}
.converge svg{width:100%;height:100%;display:block}
.node{position:absolute;left:50%;top:52px;transform:translate(-50%,-50%);width:16px;height:16px;border-radius:50%;background:var(--blue);border:3px solid #fff;box-shadow:0 0 0 1px var(--line);z-index:2}
.pfix{position:relative;margin-top:0;background:var(--navy);color:var(--inverse);border-radius:var(--r-feat);padding:clamp(1.6rem,2.6vw,2.2rem) clamp(1.75rem,3vw,2.5rem);
 display:grid;grid-template-columns:1fr auto;gap:1.5rem;align-items:center;overflow:hidden;box-shadow:var(--shadow)}
.pfix .girih{position:absolute;inset:0;opacity:.08;mix-blend-mode:screen}
.pfix>div{position:relative;z-index:1}
.pfix .k{font-size:var(--t-cap);letter-spacing:.01em;text-transform:none;color:var(--blue-lt);font-weight:700;margin-bottom:.4rem;display:block}
.pfix p{margin:0;color:#fff;font-size:var(--t-lg);line-height:1.45;max-width:62ch;font-family:var(--serif);font-weight:500}
.pfix .btn{position:relative;z-index:1;white-space:nowrap}
.paths{padding:var(--sec) 0;background:var(--mist);border-top:1px solid var(--line)}
.paths-head{max-width:58ch;margin-bottom:clamp(2.5rem,4vw,3.25rem)}
.paths-head .h2{margin-top:1.05rem}
.paths-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.25rem,2.4vw,1.9rem)}
.pathcard{background:#fff;border:1px solid var(--line);border-radius:var(--r-feat);overflow:hidden;transition:transform .22s var(--ease),box-shadow .22s;box-shadow:var(--shadow-sm)}
@media (hover:hover){.pathcard:hover{transform:translateY(-4px);box-shadow:var(--shadow)}}
.pathcard-top{position:relative;height:172px;display:flex;align-items:flex-end;padding:1.25rem 1.5rem}
.pathcard-top .idx{position:absolute;top:.9rem;right:1.3rem;font-family:var(--serif);font-weight:700;font-size:3rem;line-height:1;color:#fff;opacity:.22}
.pathcard-top .ic{width:46px;height:46px;border-radius:11px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);display:grid;place-items:center;position:relative;z-index:1}
.pathcard-top .ic svg{width:24px;height:24px;stroke:#fff;fill:none;stroke-width:1.6}
.pathcard-body{padding:clamp(1.5rem,2.2vw,1.9rem)}
.pathcard h3{color:var(--navy);margin-bottom:.55rem}
.pathcard>.pathcard-body>p{margin:0 0 1rem;color:var(--ink-2);font-size:var(--t-sm);line-height:1.55}
.pathcard ul{list-style:none;margin:0 0 1.15rem;padding:0;display:flex;flex-wrap:wrap;gap:.4rem}
.pathcard li{font-size:var(--t-cap);color:var(--navy);background:var(--mist);border:1px solid var(--line);border-radius:var(--r-pill);padding:.32rem .8rem}
.pathlink{display:inline-flex;align-items:center;gap:.45rem;font-weight:600;font-size:var(--t-sm);color:var(--blue);text-decoration:none}
.pathlink svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.9;transition:transform .2s}
@media (hover:hover){.pathlink:hover svg{transform:translateX(3px)}}
.people{padding:var(--sec) 0;position:relative;overflow:hidden}
.people-in{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.portrait-wrap{position:relative}
.portrait{aspect-ratio:4/4.9;box-shadow:var(--shadow);border:1px solid var(--line)}
.portrait-badge{position:absolute;right:-14px;bottom:34px;background:var(--blue);color:#fff;border-radius:var(--r-card);padding:.85rem 1.1rem;box-shadow:var(--shadow);max-width:210px}
.portrait-badge b{font-family:var(--serif);font-weight:600;font-size:.98rem;display:block;line-height:1.2}
.portrait-badge span{font-size:.78rem;color:#DCE6FF;display:block;margin-top:.25rem}
.people .h2{margin:1.05rem 0 1.1rem}
.people .lg{color:var(--ink-2)}
.creds{list-style:none;margin:1.6rem 0 0;padding:0;border-top:1px solid var(--line)}
.creds li{display:grid;grid-template-columns:150px 1fr;gap:1.25rem;padding:.9rem 0;border-bottom:1px solid var(--line);font-size:var(--t-sm)}
.creds li b{font-weight:700;font-size:var(--t-cap);letter-spacing:.01em;text-transform:none;color:var(--blue);padding-top:.15rem}
.creds li span{color:var(--ink-2)}
.process{padding:var(--sec) 0;background:var(--navy);color:var(--inverse);position:relative;overflow:hidden}
.process .girih{position:absolute;inset:0;opacity:.06;mix-blend-mode:screen}
.process-in{position:relative;z-index:1}
.process-head{max-width:52ch;margin-bottom:clamp(2.5rem,4vw,3.25rem)}
.process-head .h2{color:#fff;margin-top:1.05rem}
.psteps{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;position:relative}
.psteps::before{content:"";position:absolute;top:26px;left:6%;right:6%;height:2px;background:repeating-linear-gradient(90deg,var(--blue-lt) 0 16px,transparent 16px 26px);opacity:.5}
.pstep{position:relative}
.pstep .k{width:54px;height:54px;border-radius:50%;background:var(--navy);border:2px solid var(--blue);color:#fff;display:grid;place-items:center;font-family:var(--serif);font-weight:700;font-size:1.35rem;position:relative;z-index:1;margin-bottom:1.1rem}
.pstep h4,
.pstep h3{color:#fff;margin-bottom:.45rem}
.pstep p{margin:0;font-size:var(--t-sm);color:#B9C7E0;line-height:1.5}
.process-note{position:relative;z-index:1;margin-top:1.75rem;font-size:var(--t-sm);color:#8FA2C4}
.trans{padding:var(--sec) 0;background:var(--mist);border-top:1px solid var(--line)}
.trans-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.25rem,2.4vw,1.9rem);margin-top:clamp(2.25rem,3.5vw,3rem)}
.trans-card{border:1px solid var(--line);border-radius:var(--r-feat);padding:clamp(1.75rem,2.8vw,2.4rem);background:#fff;box-shadow:var(--shadow-sm)}
.trans-card h3{color:var(--navy);margin-bottom:1rem;display:flex;align-items:center;gap:.7rem}
.trans-card h3 .b{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;flex:0 0 30px}
.trans-card.is .b{background:var(--blue)}
.trans-card.isnt .b{background:var(--navy)}
.trans-card h3 svg{width:18px;height:18px;stroke:#fff;fill:none;stroke-width:2}
.trans-card ul{list-style:none;margin:0;padding:0}
.trans-card li{position:relative;padding:.5rem 0 .5rem 1.5rem;font-size:var(--t-sm);color:var(--ink-2);line-height:1.5}
.trans-card li::before{content:"";position:absolute;left:0;top:1.15em;width:9px;height:2px;background:var(--blue)}
.trans-foot{margin-top:clamp(2rem,3vw,2.75rem);display:flex;gap:1.25rem;align-items:center;flex-wrap:wrap}
.trans-foot p{margin:0;color:var(--ink-2);font-size:var(--t-sm);max-width:60ch}
.insights{padding:var(--sec) 0}
.insights-head{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:clamp(2.25rem,3.5vw,3rem);flex-wrap:wrap}
.insights-head .h2{margin-top:1.05rem}
.ins-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.25rem,2.4vw,1.9rem)}
.ins{border:1px solid var(--line);border-radius:var(--r-feat);overflow:hidden;background:#fff;transition:transform .2s var(--ease),box-shadow .2s;text-decoration:none;display:block;box-shadow:var(--shadow-sm)}
@media (hover:hover){.ins:hover{transform:translateY(-4px);box-shadow:var(--shadow)}}
.ins-top{position:relative;height:118px;display:flex;align-items:flex-end;padding:1rem 1.25rem}
.ins-top .idx{position:absolute;top:.7rem;right:1.1rem;font-family:var(--serif);font-weight:700;font-size:2.1rem;color:#fff;opacity:.25;line-height:1}
.ins-body{padding:clamp(1.4rem,2.2vw,1.8rem)}
.ins .k{font-size:var(--t-cap);letter-spacing:.01em;text-transform:none;color:var(--muted);font-weight:600}
.ins h3{font-family:var(--serif);font-weight:600;font-size:var(--t-h4);color:var(--navy);margin:.65rem 0 .55rem;line-height:1.28}
.ins p{margin:0;font-size:var(--t-sm);color:var(--ink-2);line-height:1.5}
.consult{padding:var(--sec) 0;background:var(--navy);color:var(--inverse);position:relative;overflow:hidden}
.consult .girih{position:absolute;inset:0;opacity:.06;mix-blend-mode:screen}
.consult-in{position:relative;z-index:1;display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(2rem,5vw,4.5rem);align-items:start}
.consult h2{color:#fff;margin:1.05rem 0 1.05rem}
.consult .lg{color:#B9C7E0;margin:0 0 1.6rem}
.consult-phone{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--serif);font-weight:600;font-size:1.4rem;color:#fff;text-decoration:none;margin-bottom:1.1rem}
.consult-phone svg{width:20px;height:20px;stroke:var(--blue-lt);fill:none;stroke-width:1.8}
@media (hover:hover){.consult-phone:hover{color:var(--blue-lt)}}
.consult-note{font-size:var(--t-sm);color:#8FA2C4;line-height:1.55}
.book{background:var(--navy-2);border:1px solid var(--line-d);border-radius:var(--r-feat);padding:clamp(1.6rem,2.6vw,2.1rem);box-shadow:var(--shadow)}
.book .lbl{font-size:var(--t-cap);letter-spacing:.01em;text-transform:none;color:#8FA2C4;font-weight:600;margin-bottom:.65rem;display:block}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.4rem;border:0;padding:0}
.chip{min-height:44px;padding:.55rem 1rem;border:1px solid rgba(245,248,255,.24);background:transparent;color:#fff;border-radius:var(--r-pill);font-size:var(--t-sm);cursor:pointer;transition:.16s}
@media (hover:hover){.chip:hover{border-color:#fff}}
.chip[aria-pressed="true"]{background:var(--blue);border-color:var(--blue)}
.book label{display:block;margin-bottom:1rem}
.book input,.book textarea{width:100%;background:rgba(245,248,255,.06);border:1px solid rgba(245,248,255,.42);border-radius:var(--r);color:#fff;font:inherit;font-size:var(--t-sm);padding:.78rem .9rem;transition:border-color .16s}
.book input:focus,.book textarea:focus{outline:none;border-color:var(--blue-lt)}
.book textarea{resize:vertical;min-height:82px}
.book .btn{width:100%;margin-top:.3rem}
.book .privacy{font-size:var(--t-cap);color:#8FA2C4;line-height:1.55;margin:.9rem 0 0}
.book .privacy a{color:#B9C7E0}
.ftr{background:var(--navy);color:#B9C7E0;padding:clamp(3.5rem,6vw,5rem) 0 2rem;position:relative;overflow:hidden}
.ftr .girih{position:absolute;inset:0;opacity:.05;mix-blend-mode:screen}
.ftr-in{position:relative;z-index:1}
.ftr-top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:2rem;padding-bottom:2.75rem}
.ftr-brand .brand{color:#fff;font-size:1.6rem}
.ftr-brand .brand .stop{color:var(--blue-lt)}
.ftr-brand p{margin:.9rem 0 0;font-size:var(--t-sm);color:#8FA2C4;max-width:32ch;line-height:1.6}
.ftr h4,
.ftr h3{font-size:var(--t-cap);letter-spacing:.01em;text-transform:none;color:#8FA2C4;font-weight:700;margin:0 0 1.1rem}
.ftr ul{list-style:none;margin:0;padding:0}
.ftr li{margin-bottom:.6rem;font-size:var(--t-sm)}
.ftr a{text-decoration:none;color:#B9C7E0}
@media (hover:hover){.ftr a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}}
.ftr-base{border-top:1px solid var(--line-d);padding-top:1.75rem;display:flex;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;align-items:flex-start}
.ftr-base p{margin:0;font-size:var(--t-cap);color:#7C8FB2;line-height:1.7;max-width:70ch}
.ftr-base .cookie{background:none;border:1px solid var(--line-d);color:#B9C7E0;border-radius:var(--r);min-height:44px;padding:.5rem 1rem;font-size:var(--t-cap);cursor:pointer}
@media (prefers-reduced-motion:no-preference){
 .js .rv{opacity:0;transform:translateY(18px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
 .rv.in{opacity:1;transform:none}
 .rv-1{transition-delay:.07s}.rv-2{transition-delay:.14s}.rv-3{transition-delay:.21s}
}
@media (max-width:1024px){
 .mainnav{display:none}.burger{display:flex}
 .hero-in,.people-in,.consult-in{grid-template-columns:1fr}
 .archwrap{order:-1;max-width:440px;margin-inline:auto}
 .ribbon-in{grid-template-columns:1fr 1fr}.rib:nth-child(3){border-left:0}.rib:nth-child(-n/**/+2){border-bottom:1px solid var(--line-d)}
 .paths-grid,.trans-grid{grid-template-columns:1fr}
 .psteps{grid-template-columns:1fr 1fr;gap:2rem}.psteps::before{display:none}
 .ins-grid{grid-template-columns:1fr 1fr}
 .portrait-wrap{max-width:380px}
}
.mnav{position:fixed;inset:0;z-index:250;background:#fff;transform:translateX(100%);transition:transform .3s var(--ease);overflow-y:auto}
.mnav.open{transform:none}
.mnav-top{height:78px;display:flex;align-items:center;justify-content:space-between;padding-inline:var(--gutter);border-bottom:1px solid var(--line)}
.mnav-body{padding:1.5rem var(--gutter) calc(3rem + env(safe-area-inset-bottom))}
.mnav details{border-bottom:1px solid var(--line)}
.mnav summary{list-style:none;cursor:pointer;padding:1.15rem 0;font-family:var(--serif);font-size:1.2rem;color:var(--navy);display:flex;justify-content:space-between;align-items:center}
.mnav summary::-webkit-details-marker{display:none}
.mnav summary::after{content:"+";color:var(--blue);font-size:1.4rem;line-height:1;width:1.2rem;text-align:center}
.mnav details[open] summary::after{content:"–"}
.mnav-sub a{display:block;text-decoration:none;color:var(--ink-2);padding:.6rem 0;font-size:var(--t-sm)}
.mnav>a{display:block;text-decoration:none;color:var(--navy);font-family:var(--serif);font-size:1.2rem;border-bottom:1px solid var(--line);padding:1.15rem 0}
.mnav-sub{padding-bottom:1rem}
.mnav .btn{margin-top:1.75rem;width:100%}
.mnav-close{width:48px;height:48px;background:none;border:0;cursor:pointer;font-size:1.6rem;color:var(--navy)}
.hero-in{grid-template-columns:1.15fr .85fr}
.arch-stage{max-width:430px;margin-left:auto;margin-right:0}
@media (max-width:1024px){
 .hero-in{grid-template-columns:1fr}
 .arch-stage{max-width:380px;margin-inline:auto}
 .arch-stage .cred-float{position:static;max-width:none;left:auto;bottom:auto;margin:1.1rem auto 0;box-shadow:var(--shadow-sm)}
}
@media (max-width:640px){ .arch-stage{max-width:320px} }
.prose{max-width:760px;margin:0 auto}
.prose h2{font-family:var(--serif);font-weight:600;font-size:1.5rem;color:var(--navy);margin:2.25rem 0 .75rem}
.prose h3{font-family:var(--serif);font-weight:600;font-size:1.2rem;color:var(--navy);margin:1.5rem 0 .5rem}
.prose p,.prose li{color:var(--ink-2);line-height:1.7;font-size:var(--t-body)}
.prose ul{padding-left:1.2rem}
.prose li{margin-bottom:.4rem}
.prose .updated{font-size:var(--t-cap);color:var(--muted);letter-spacing:.01em;text-transform:none;font-weight:600;margin-bottom:2rem}
.subhead{padding:clamp(2.25rem,4vw,3.25rem) 0 0}
.subhead-in{display:flex;gap:1.5rem;align-items:flex-start}
.subhead .emblem{flex:0 0 auto;width:70px;height:70px;border-radius:16px;background:radial-gradient(120% 90% at 20% 0%,#1B3A66,#0B1F3A);display:grid;place-items:center;box-shadow:var(--shadow-sm)}
.subhead .emblem svg{width:34px;height:34px;stroke:#fff;fill:none;stroke-width:1.6}
.subhead h1{margin:.6rem 0 0}
.two-col{display:grid;grid-template-columns:1.3fr .7fr;gap:clamp(2rem,4vw,3.5rem);align-items:start}
.covers{list-style:none;margin:1.25rem 0 0;padding:0}
.covers li{position:relative;padding:.7rem 0 .7rem 1.75rem;border-top:1px solid var(--line);font-size:var(--t-body);color:var(--ink-2)}
.covers li:first-child{border-top:0}
.covers li::before{content:"";position:absolute;left:0;top:1.15em;width:11px;height:2px;background:var(--blue)}
.aside{background:var(--tint);border:1px solid var(--line);border-radius:var(--r-feat);padding:1.6rem;box-shadow:var(--shadow-sm)}
.aside h4,
.aside h3{font-family:var(--serif);color:var(--navy);margin-bottom:.6rem}
.aside p{color:var(--ink-2);font-size:var(--t-sm);margin:0 0 1rem}
.aside .btn{width:100%}
@media (max-width:1024px){.two-col{grid-template-columns:1fr}}
.mega2{grid-template-columns:1fr 1fr .82fr;gap:1.25rem;align-items:stretch}
.mega-pillar{display:block;text-decoration:none;border:1px solid var(--line);border-radius:var(--r-card);padding:1.4rem 1.5rem;background:#fff;transition:border-color .18s,transform .18s,box-shadow .18s}
@media (hover:hover){.mega-pillar:hover{border-color:var(--line-2);transform:translateY(-2px);box-shadow:var(--shadow-sm)}}
.mega-ic{width:40px;height:40px;border-radius:10px;background:var(--tint);display:grid;place-items:center;margin-bottom:.85rem}
.mega-ic svg{width:22px;height:22px;stroke:var(--blue)}
.mega-pillar h5{font-family:var(--serif);font-weight:600;font-size:1.12rem;color:var(--navy);margin:0 0 .4rem;display:flex;align-items:center;gap:.6rem;letter-spacing:0;text-transform:none}
.mega-pillar h5 em{font-style:normal;font-size:.8125rem;font-weight:700;letter-spacing:.01em;text-transform:none;color:#fff;background:var(--blue);padding:.2rem .5rem;border-radius:var(--r-pill)}
.mega-pillar p{margin:0 0 .8rem;font-size:var(--t-sm);color:var(--ink-2);line-height:1.5}
.mega-pillar .mega-links{font-size:var(--t-cap);color:var(--muted)}
.mega-support{display:flex;flex-direction:column;gap:.6rem;padding-left:1.25rem;border-left:1px solid var(--line)}
.mega-support>a{text-decoration:none;padding:.6rem .1rem;border-radius:var(--r-sm)}
@media (hover:hover){.mega-support>a:not(.btn):hover b{color:var(--blue)}}
.mega-support b{display:block;font-family:var(--serif);font-weight:600;font-size:1rem;color:var(--navy)}
.mega-support span{display:block;font-size:var(--t-cap);color:var(--muted);margin-top:.1rem}
@media (max-width:1200px){.mega2{grid-template-columns:1fr}.mega-support{padding-left:0;border-left:0;border-top:1px solid var(--line);padding-top:1rem}}
.mcta{position:fixed;left:0;right:0;bottom:0;z-index:150;display:none;gap:.6rem;padding:.7rem clamp(16px,4vw,20px) calc(.7rem + env(safe-area-inset-bottom));background:rgba(255,255,255,.92);backdrop-filter:saturate(160%) blur(10px);border-top:1px solid var(--line)}
.mcta a{flex:1;min-height:50px;border-radius:var(--r);display:inline-flex;align-items:center;justify-content:center;gap:.5rem;text-decoration:none;font-weight:600;font-size:.95rem}
.mcta .call{flex:0 0 50px;border:1.5px solid var(--line-2);color:var(--navy)}
.mcta .call svg{width:20px;height:20px;stroke:var(--blue);fill:none;stroke-width:1.8}
.mcta .book{background:var(--blue);color:#fff;white-space:nowrap;padding-inline:.75rem}
.mcta{align-items:center}.mcta a{height:50px}
@media (max-width:1024px){.mcta{display:flex}body{padding-bottom:calc(96px + env(safe-area-inset-bottom))}}
.fcard .lk,.pathlink,.path-link{transition:color .16s,gap .16s}
@media (hover:hover){.fcard:hover .lk{gap:.7rem}}
a.btn,.btn{will-change:transform}
.btn-primary:active,.btn-light:active{transform:translateY(1px)}
.scard,.fcard,.pathcard,.ins,.aud,.subj,.trans-card,.mega-pillar{will-change:transform}
::selection{background:rgba(29,78,216,.16)}
html{scroll-padding-top:96px}
.sec{padding:var(--sec) 0}
.sec--white{background:#fff}
.sec--mist{background:var(--mist);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sec--navy{background:var(--navy);color:var(--inverse)}
.sec-head{max-width:60ch;margin-bottom:clamp(2.25rem,3.5vw,3rem)}
.sec-head .h2{margin:1.05rem 0 1.05rem}
.sec-head>p{color:var(--ink-2);font-size:var(--t-lg);line-height:1.55;margin:0}
.sec--navy .sec-head>p{color:#B9C7E0}
.sec--navy .eyebrow{color:var(--blue-lt)}
.sec--navy .eyebrow::before{background:var(--blue-lt)}
.sec--navy .h2{color:#fff}

/* quick exit (sensitive pages) */
.qexit{position:fixed;top:88px;right:14px;z-index:140;display:inline-flex;align-items:center;gap:.4rem;background:#fff;border:1px solid var(--line-2);border-radius:var(--r-pill);padding:.5rem .9rem;font-size:.8rem;font-weight:600;color:var(--navy);text-decoration:none;box-shadow:var(--shadow-sm);cursor:pointer}
@media (hover:hover){.qexit:hover{border-color:var(--navy)}}
.qexit svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2.2}
/* Phones: Quick exit sits in the header bar, left of the menu button, so it never covers content or the bottom bar */
@media (max-width:1024px){.qexit{top:calc(21px + env(safe-area-inset-top));bottom:auto;right:calc(var(--gutter) + 58px);z-index:210;padding:.45rem .8rem;box-shadow:none}}
@media (max-width:360px){.qexit{right:calc(var(--gutter) + 52px);padding:.4rem .6rem;font-size:.75rem}}
/* mobile menu: fully hidden when closed so it cannot be tabbed into */
.mnav{visibility:hidden;transition:transform .3s var(--ease),visibility 0s linear .3s}
.mnav.open{visibility:visible;transition:transform .3s var(--ease),visibility 0s}
.form-status:empty{display:none;margin:0}
/* invalid field */
.book [aria-invalid="true"]{border-color:#F0A3A3}

/* form hint text */
.book .hint{display:block;font-size:var(--t-cap);color:#C7D3E8;margin:-.35rem 0 .6rem;line-height:1.45}
.book .lbl em{font-style:normal;text-transform:none;letter-spacing:0;font-weight:500;color:#B9C7E0}

/* ===== v6 layout fixes (shared) ===== */
svg.girih{width:100%;height:100%;pointer-events:none}
h2{line-height:1.15}
:root{--sec:clamp(3.5rem,6.5vw,6rem)}
/* missing-photo fallback: initials instead of an empty box */
.ph.noimg{display:grid;place-items:center;background:linear-gradient(160deg,#EDF2FC,#DCE6FF)}
.ph.noimg img{display:none}
.ph.noimg::after{content:attr(data-initials);font-family:var(--serif);font-weight:600;font-size:clamp(2.2rem,4vw,3rem);color:var(--navy);letter-spacing:.02em}
.trustbar-item.noimg img{display:none}
.trustbar-item.noimg::before{content:attr(data-initials);display:grid;place-items:center;width:88px;height:88px;border-radius:50%;border:1.5px solid var(--line-2);background:#fff;font-family:var(--serif);font-weight:600;font-size:1.6rem;color:var(--navy)}

/* ===== v7 services menu ===== */
.mega3{grid-template-columns:repeat(3,1fr) .9fr;gap:clamp(1rem,2vw,2rem);align-items:start}
.mega-head{display:flex;gap:.8rem;align-items:flex-start;text-decoration:none;padding:.6rem;border-radius:12px;margin:0 0 .35rem}
.mega-head .mega-ic{margin:0;flex:none}
.mega-head b{display:block;font-family:var(--serif);font-weight:600;font-size:1.12rem;color:var(--navy)}
.mega-head small{display:block;font-size:var(--t-cap);color:var(--muted);line-height:1.4;margin-top:.1rem}
@media (hover:hover){.mega-head:hover{background:var(--mist)}}
@media (hover:hover){.mega-head:hover b{color:var(--blue)}}
.mega-col3 ul{list-style:none;margin:0;padding:0 0 0 .6rem;border-left:1px solid var(--line);margin-left:1.85rem}
.mega-col3 li a{display:block;text-decoration:none;color:var(--ink-2);font-size:var(--t-sm);padding:.42rem .75rem;border-radius:8px}
.mega-col3 li a:focus-visible{background:var(--mist);color:var(--blue)}@media (hover:hover){.mega-col3 li a:hover{background:var(--mist);color:var(--blue)}}
.mega-help{background:var(--mist);border:1px solid var(--line);border-radius:var(--r-card);padding:1.25rem 1.25rem 1.1rem}
.mega-help-h{font-family:var(--serif);font-weight:600;font-size:1.1rem;color:var(--navy);margin:0 0 .35rem}
.mega-help p{font-size:var(--t-sm);color:var(--ink-2);margin:0 0 1rem;line-height:1.5}
.mega-help .btn{width:100%;min-height:46px;padding:.7rem 1rem}
.mega-call{display:block;text-align:center;margin-top:.7rem;font-size:var(--t-sm);color:var(--navy);text-decoration:none;font-weight:500}
@media (hover:hover){.mega-call:hover{color:var(--blue)}}
@media(max-width:1200px){.mega3{grid-template-columns:repeat(3,1fr)}.mega-help{grid-column:1/-1;display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.mega-help p{margin:0;flex:1}.mega-help .btn{width:auto}}
.mnav-sub .mnav-grp{font-weight:600;color:var(--navy);padding-top:.9rem}
.mnav-sub .mnav-subl{padding:.45rem 0 .45rem 1rem;border-left:1px solid var(--line);margin-left:.2rem}

h3{line-height:1.25}

/* ===== v7 short forms ===== */
.book .safe-check{display:flex;gap:.6rem;align-items:center;font-size:var(--t-sm);color:#DDE5F2;margin:.2rem 0 1rem;cursor:pointer}
.book .safe-check input{width:18px;height:18px;accent-color:var(--blue-lt);margin:0}
.book .sos{font-size:var(--t-cap);color:#F0D6DA;margin:.9rem 0 .2rem}
.book .sos a{color:#fff;font-weight:700}

/* ===== v7 quick contact ===== */
.qcontact{display:grid;gap:.7rem;margin:1.75rem 0 1rem;max-width:26rem}
.qc{display:flex;align-items:center;gap:.9rem;text-decoration:none;background:rgba(245,248,255,.06);border:1px solid rgba(245,248,255,.18);border-radius:var(--r-card);padding:.85rem 1rem;color:#fff;transition:background .15s,border-color .15s}
@media (hover:hover){.qc:hover{background:rgba(245,248,255,.12);border-color:rgba(245,248,255,.4)}}
.qc b{display:block;font-weight:600;font-size:1rem}
.qc span:last-child{color:#CBD3E2;font-size:var(--t-sm)}
.qc-ic{flex:none;width:40px;height:40px;border-radius:10px;display:grid;place-items:center;background:rgba(122,162,240,.18);color:#fff}
.qc-ic svg{width:20px;height:20px}
.qc-ic.qc-wa{background:#25D366}
.mega-help .btn{font-size:.9rem;white-space:nowrap;padding:.7rem .75rem}

.brand{display:inline-flex;align-items:center}
.brand-mark{height:34px;width:auto;display:block;margin-right:.55rem}

/* five-person team grid */
.hteam-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important}
@media(max-width:1200px){.hteam-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:640px){.hteam-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}


/* ===== added back: components and fixes only ===== */
/* new page components */
.lf-steps{list-style:none;padding:0;margin:1rem 0 0;counter-reset:none}
.lf-steps li{display:grid;grid-template-columns:2.25rem 1fr;gap:1rem;padding:0 0 1.25rem;position:relative}
.lf-steps li:not(:last-child)::before{content:"";position:absolute;left:1.05rem;top:2.4rem;bottom:.2rem;width:1.5px;background:#D5DAE1}
.lf-steps .n{width:2.25rem;height:2.25rem;border-radius:50%;border:1.5px solid #D5DAE1;display:grid;place-items:center;font-weight:700;color:#0B1F3A;background:#fff}
.lf-steps h3{margin:.2rem 0 .25rem;font-size:1.1rem;color:#0B1F3A}
.lf-steps p{margin:0;color:#3A4250}
.lf-ticks{padding-left:0;list-style:none}
.lf-ticks li{position:relative;padding-left:1.75rem;margin:0 0 .6rem}
.lf-ticks li::before{content:"";position:absolute;left:.2rem;top:.45em;width:.45rem;height:.8rem;border:solid #1D4ED8;border-width:0 2px 2px 0;transform:rotate(45deg)}
.lf-faq details{border-top:1px solid #D5DAE1;padding:.9rem 0}
.lf-faq details:last-child{border-bottom:1px solid #D5DAE1}
.lf-faq summary{cursor:pointer;font-weight:600;color:#0B1F3A;list-style:none;position:relative;padding-right:2rem}
.lf-faq summary::-webkit-details-marker{display:none}
.lf-faq summary::after{content:"+";position:absolute;right:.25rem;top:-.1rem;font-size:1.4rem;color:#1D4ED8}
.lf-faq details[open] summary::after{content:"−"}
.lf-faq details p{margin:.6rem 0 0;color:#3A4250}
.lf-people{display:grid;gap:2rem}
.lf-person{display:grid;grid-template-columns:200px 1fr;gap:2rem;align-items:start;padding-bottom:2rem;border-bottom:1px solid #E4E8EF}
.lf-person .ph{aspect-ratio:4/5;border-radius:14px;overflow:hidden;background:#F5F7FA}
.lf-person .ph img{width:100%;height:100%;object-fit:cover;object-position:center 20%}
.lf-person .role{margin:0 0 .25rem;color:#1D4ED8;font-weight:600;font-size:.95rem}
.lf-person h2{margin:0 0 .75rem;font-size:1.6rem;color:#0B1F3A}
.lf-person p{color:#3A4250}
.lf-note{margin-top:2rem;color:#555E6B;font-size:.95rem}
@media(max-width:640px){.lf-person{grid-template-columns:1fr;gap:1rem}.lf-person .ph{max-width:220px}}
/* contrast: eyebrows are LawFiq blue on light sections, light blue only on dark ones */
.eyebrow{color:#1D4ED8}
.herot .eyebrow,.shero .eyebrow,.hero .eyebrow,.consult .eyebrow,.sec--navy .eyebrow,.eyebrow.light,.statcard .eyebrow,.ftr .eyebrow{color:#9DB8F5}
.gap .gap-head .eyebrow,.subs .subs-head .eyebrow,.process .eyebrow,.instit .eyebrow{color:#1D4ED8}
#process .eyebrow,.process .sec-head .eyebrow,.why .sec-head .eyebrow{color:#1D4ED8}
#process .sec-head .eyebrow{color:#1D4ED8!important}
/* "Your next step" panel */
.lf-next{background:#F5F7FA;border-top:1px solid #E4E8EF;padding:clamp(2rem,5vw,3rem) 0}
.lf-next h2{font-size:1.4rem;margin:0 0 1rem;color:#0B1F3A}
.lf-next-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1rem}
.lf-next-card{position:relative;display:block;background:#fff;border:1px solid #D5DAE1;border-radius:12px;padding:1rem 3rem 1rem 1.1rem;text-decoration:none;color:inherit}
.lf-next-card b{display:block;color:#0B1F3A;font-weight:600}
.lf-next-card span{display:block;color:#555E6B;font-size:.95rem;margin-top:.15rem}
.lf-next-card svg{position:absolute;right:1rem;top:50%;width:1.2rem;height:1.2rem;transform:translateY(-50%);fill:none;stroke:#1D4ED8;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@media(hover:hover){@media (hover:hover){.lf-next-card:hover{border-color:#1D4ED8;background:#F3F6FE}}}
.lf-next-card:focus-visible{outline:3px solid #93B4F8;outline-offset:2px}
/* studied caption: visible separators, one phrase per line on phones */
.studied-line i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#9AA9BE;margin:0 .75rem;vertical-align:middle}
@media(max-width:640px){.studied-line i{display:block;width:0;height:.4rem;margin:0;background:none}}
.studied-line span{display:inline}
.studied-line span+span::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#9AA9BE;margin:0 .75rem;vertical-align:middle}
@media(max-width:640px){.studied-line span{display:block}.studied-line span+span::before{display:none}.studied-line span+span{margin-top:.35rem}}
/* phone menu: main links as a proper list (links sit inside .mnav-body) */
.mnav-body>a:not(.btn){display:block;text-decoration:none;color:var(--navy);font-family:var(--sans);font-size:1.15rem;font-weight:500;border-bottom:1px solid var(--line);padding:1rem 0}
.mnav summary{font-family:var(--sans);font-size:1.15rem;font-weight:500}
.mnav-body>a:not(.btn):focus-visible,.mnav summary:focus-visible,.mnav-sub a:focus-visible{outline:3px solid #93B4F8;outline-offset:2px}

/* "Your next step" panel */
.lf-next{background:#F5F7FA;border-top:1px solid #E4E8EF;padding:clamp(2rem,5vw,3rem) 0}
.lf-next h2{font-size:1.4rem;margin:0 0 1rem;color:#0B1F3A}
.lf-next-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1rem}
.lf-next-card{position:relative;display:block;background:#fff;border:1px solid #D5DAE1;border-radius:12px;padding:1rem 3rem 1rem 1.1rem;text-decoration:none;color:inherit}
.lf-next-card b{display:block;color:#0B1F3A;font-weight:600}
.lf-next-card span{display:block;color:#555E6B;font-size:.95rem;margin-top:.15rem}
.lf-next-card svg{position:absolute;right:1rem;top:50%;width:1.2rem;height:1.2rem;transform:translateY(-50%);fill:none;stroke:#1D4ED8;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@media(hover:hover){@media (hover:hover){.lf-next-card:hover{border-color:#1D4ED8;background:#F3F6FE}}}
.lf-next-card:focus-visible{outline:3px solid #93B4F8;outline-offset:2px}
/* phone menu: main links as a proper list (links sit inside .mnav-body) */
.mnav-body>a:not(.btn){display:block;text-decoration:none;color:var(--navy);font-family:var(--sans);font-size:1.15rem;font-weight:500;border-bottom:1px solid var(--line);padding:1rem 0}
.mnav summary{font-family:var(--sans);font-size:1.15rem;font-weight:500}
.mnav-body>a:not(.btn):focus-visible,.mnav summary:focus-visible,.mnav-sub a:focus-visible{outline:3px solid #93B4F8;outline-offset:2px}

/* studied caption: visible separators, one phrase per line on phones */
.studied-line i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#9AA9BE;margin:0 .75rem;vertical-align:middle}
@media(max-width:640px){.studied-line i{display:block;width:0;height:.4rem;margin:0;background:none}}
.studied-line span{display:inline}
.studied-line span+span::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#9AA9BE;margin:0 .75rem;vertical-align:middle}
@media(max-width:640px){.studied-line span{display:block}.studied-line span+span::before{display:none}.studied-line span+span{margin-top:.35rem}}
.crumb span{margin:0 .45rem;opacity:.7}
.studied-line span{display:inline}
.studied-line span+span::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#9AA9BE;margin:0 .75rem;vertical-align:middle}
@media(max-width:640px){.studied-line span{display:block}.studied-line span+span::before{display:none}.studied-line span+span{margin-top:.35rem}}
/* keep the header sticky */
html,body{overflow-x:clip!important;overflow-y:visible!important}
/* phone bar with WhatsApp; floating WhatsApp hidden on phones */
.mcta .wa{flex:0 0 50px;border:1.5px solid var(--line-2);display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r)}
.mcta .wa svg{width:22px;height:22px;fill:#128C4B}
@media(max-width:1024px){.wa-float{display:none!important}}
/* contrast fixes (WCAG 2.2 AA) */
.eyebrow{color:#1D4ED8}
.herot .eyebrow,.shero .eyebrow,.hero .eyebrow,.consult .eyebrow,.sec--navy .eyebrow,.eyebrow.light,.statcard .eyebrow,.ftr .eyebrow{color:#9DB8F5}
.gap .gap-head .eyebrow,.subs .subs-head .eyebrow,.process .eyebrow,.instit .eyebrow{color:#1D4ED8}
#process .sec-head .eyebrow{color:#1D4ED8!important}
/* Arabic in Amiri */
:root{--arabic:"Amiri","Noto Naskh Arabic",serif}
/* ---------- Typography polish (sitewide) ----------
   Headings wrap into even lines (no single word left on its own line);
   paragraphs avoid a lone last word; tighter, calmer type and spacing on phones. */
h1,h2,h3,h4,.display,.h2,.h3,.h4{text-wrap:balance}
p,li,dd,blockquote,figcaption{text-wrap:pretty}
@media (max-width:640px){
 :root{--sec:3.25rem;--t-h2:1.8rem;--t-h3:1.35rem;--t-h4:1.15rem;--t-lg:1.06rem;--t-body:1rem}
 body{line-height:1.6}
 p{line-height:1.6}
 .display{font-size:2.3rem;line-height:1.1}
 .h2,h2{line-height:1.15;letter-spacing:-.01em}
 .lg{line-height:1.55}
 .eyebrow{font-size:.8rem;letter-spacing:.1em}
 .diff2-h{font-size:1.9rem!important;line-height:1.14!important}
 .diff2-right p,.doors-head2-r{font-size:1.02rem!important;line-height:1.6!important;color:#334155}
 .doors-head2{margin-bottom:1.75rem!important}
}

/* =========================================================
   LawFiq design system: shared components, defined once.
   Page styles may position these, but never restyle them.
   ========================================================= */
/* Section label above headings */
.eyebrow{font-family:var(--sans)!important;font-size:.875rem!important;font-weight:600!important;letter-spacing:.01em!important;text-transform:none!important;line-height:1.3!important;color:var(--blue)!important;display:inline-flex;align-items:center;gap:.6rem}
.eyebrow::before{content:"";width:20px!important;height:2px!important;background:currentColor!important;flex:none}
.eyebrow.light{color:#A9C1F5!important}
/* Footer links: comfortable to tap on phones */
@media (max-width:1024px){.ftr li a,.ftr ul a{display:inline-block;padding:.55rem 0}}
/* Long text is never centred on phones */
@media (max-width:640px){.mag-standfirst{text-align:left}}
/* Arabic term shown beside an English heading: its own line, readable size */
h2 .ar,h3 .ar{display:block;font-size:.9em;line-height:1.5;margin-top:.2rem;color:var(--blue);font-weight:500}
/* A paragraph after a list always has breathing room */
ul+p,ol+p{margin-top:1.1rem}
/* Phones: long text blocks left-aligned (centred text is only for one or two short lines) */
@media (max-width:640px){
 .mag-hero-in{text-align:left!important}
 .mag-hero-in .mag-kicker,.mag-hero-in .mag-meta,.mag-hero-in nav,.mag-hero-in .crumb{justify-content:flex-start!important;text-align:left!important}
 .article-cta{text-align:left!important;padding:1.75rem!important}
 .hteam-head,.hteam-head p{text-align:left!important}
 .hteam-head .eyebrow{justify-content:flex-start!important}
}
.gap-item{grid-template-columns:1fr}
/* Tap targets: at least 44px tall on phones without changing the layout */
@media (max-width:1024px){
 .crumb a{display:inline-block;padding:.7rem .15rem;margin:-.7rem -.15rem}
 .qexit{min-height:40px}
 .shero-call,.herot-call,.cq-link,.pathlink,.callbtn{display:inline-flex;align-items:center;min-height:44px}
 details>summary{min-height:44px}
 .brand{min-height:44px;align-items:center}
}
@media (max-width:1024px){.ftr a{display:inline-flex;align-items:center;min-height:44px}.ftr-base a{min-height:0}}
input[type=checkbox]{width:22px;height:22px;accent-color:var(--blue)}
/* ---------- Main menu: five sections, each with a short dropdown ---------- */
.navlink,.navtrigger{display:inline-flex;align-items:center;gap:.4rem;background:none;border:0;text-decoration:none;font-size:.95rem;font-weight:500;color:var(--ink);padding:.6rem .75rem;border-radius:8px;cursor:pointer;min-height:44px}
.dd{position:relative}
.dd .navtrigger[aria-expanded="true"]{color:var(--blue);background:var(--mist)}
.dd .navtrigger[aria-expanded="true"] .chev{transform:rotate(180deg)}
.ddpanel{position:absolute;top:calc(100% + 8px);left:0;min-width:280px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:.5rem;display:none;z-index:220}
.ddpanel.open{display:block}
.ddpanel a{display:block;padding:.65rem .8rem;border-radius:8px;text-decoration:none;color:var(--ink);font-size:.95rem;line-height:1.35}
.ddpanel a:focus-visible{background:var(--mist);color:var(--blue)}@media (hover:hover){.ddpanel a:hover{background:var(--mist);color:var(--blue)}}
.ddpanel .dd-hub{font-weight:600;color:var(--navy);border-bottom:1px solid var(--line);border-radius:8px 8px 0 0;margin-bottom:.35rem;padding-bottom:.8rem}
.ddpanel a[aria-current="page"]{color:var(--blue);font-weight:600}
.mainnav .dd:nth-of-type(5) .ddpanel,.mainnav .dd:nth-of-type(4) .ddpanel{left:auto;right:0}
.mainnav{gap:.15rem}
.hdr-actions{margin-left:.75rem}
@media (max-width:1200px) and (min-width:1025px){.navtrigger{padding:.6rem .55rem;font-size:.92rem}}
.ftr-top{grid-template-columns:1.5fr 1fr 1fr 1fr 1fr}
@media (max-width:1024px){.ftr-top{grid-template-columns:1fr 1fr}.ftr-brand{grid-column:1/-1}}
.why-head .why-intro{color:var(--ink-2);font-size:var(--t-lg);line-height:1.6;max-width:60ch;margin:.9rem 0 0}
.why-more{margin:2rem 0 0}

/* =========================================================
   Design system: lists and steps (one look everywhere)
   ========================================================= */
:root{--tick:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231D4ED8' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");--step-line:#C7D5F6}

/* Service lists: a blue tick in a soft circle */
.dp-list,.lf-ticks,.dp-section ul:not([class]){list-style:none!important;padding:0!important;margin:1rem 0 0!important}
.dp-list li,.lf-ticks li,.dp-section ul:not([class]) li{position:relative!important;padding:0 0 0 2.1rem!important;margin:0 0 .75rem!important;line-height:1.55;border:0!important}
.dp-list li::before,.lf-ticks li::before,.dp-section ul:not([class]) li::before{content:""!important;position:absolute!important;left:0!important;top:.12em!important;width:1.35rem!important;height:1.35rem!important;border:0!important;border-radius:50%!important;transform:none!important;background:#E8EEFD var(--tick) center/.85rem no-repeat!important}
/* Space between a list and the paragraph after it */
.dp-section ul+p,.dp-section ol+p,.dp-list+p{margin-top:1.4rem!important}

/* Lists inside guides and articles: a small blue dot */
.article ul li,.mag-body ul li{position:relative;padding-left:1.4rem;list-style:none}
.article ul,.mag-body ul{padding-left:0}
.article ul li::before,.mag-body ul li::before{content:"";position:absolute;left:.2rem;top:.68em;width:7px;height:7px;border-radius:50%;background:var(--blue)}

/* Lists on navy sections: short light-blue dash (unchanged look, defined once) */
.std-list li::before{content:"";position:absolute;left:0;top:1.35em;width:11px;height:2px;background:var(--blue-lt)}

/* Numbered steps: filled blue circle, white number, light-blue line joining them */
.lf-steps .n,.sbs .num,.fam-step .n,.pstep .k{width:2.25rem!important;height:2.25rem!important;border-radius:50%!important;background:var(--blue)!important;border:0!important;color:#fff!important;font-family:var(--sans)!important;font-weight:600!important;font-size:.95rem!important;line-height:1!important;display:inline-grid!important;place-items:center!important;box-shadow:0 0 0 5px #E8EEFD}
.pstep .k{box-shadow:0 0 0 5px rgba(169,193,245,.16)}
.lf-steps li:not(:last-child)::before{left:1.07rem!important;top:2.9rem!important;bottom:.35rem!important;width:2px!important;background:var(--step-line)!important}
.sbs>li{padding-left:3.1rem!important}
.sbs .num{position:absolute!important;left:0!important;top:-.15rem!important}
.sbs>li:not(:last-child)::before{content:"";position:absolute;left:1.07rem;top:2.75rem;bottom:.35rem;width:2px;background:var(--step-line)}
.sbs h3{border-top:0!important;padding-top:0!important;color:var(--navy)}
.sbs li.now .num{background:var(--navy)!important}
.psteps::before{top:1.12rem!important;height:2px!important;background:rgba(169,193,245,.35)!important;opacity:1!important}
.fam-step .n{margin-bottom:1rem}
.form-about{margin:0 0 1rem;padding:.75rem 1rem;border-radius:10px;background:rgba(169,193,245,.14);color:inherit;font-size:.95rem}

/* Tool pages use the same look as the rest of the site */
html body .mab h1,html body .mab .qh,html body .mab h2,html body .mab .grp{font-family:var(--serif)!important;font-weight:600!important;color:var(--navy)!important;letter-spacing:-.01em!important}
html body .mab h1,html body .mab .qh{font-size:clamp(1.9rem,3.6vw,2.6rem)!important;line-height:1.12!important}
html body .mab h2{font-size:clamp(1.35rem,2.4vw,1.75rem)!important;line-height:1.2!important}
html body .mab h3{font-family:var(--serif)!important;font-weight:600!important;color:var(--navy)!important;font-size:1.15rem!important}
html body .mab .lead{font-size:1.2rem!important;color:var(--ink-2)!important}
html body .mab .btn2{border-radius:10px!important;box-shadow:none!important;background:var(--blue)!important;color:#fff!important;font-family:var(--sans)!important;font-weight:600!important}
@media (hover:hover){html body .mab .btn2:hover{background:#1E40AF!important}}
html body .mab .btn2.sec{background:#fff!important;color:var(--navy)!important;border:1.5px solid var(--line)!important}
html body .mab .btn2.start::after{display:none}
html body:has(.mab) .qexit{position:fixed!important;background:#fff!important;color:var(--ink)!important;border:1.5px solid var(--line)!important;border-radius:999px!important;box-shadow:0 4px 14px rgba(11,31,58,.1)!important;font-weight:600!important;font-size:.85rem!important}
html body:has(.mab) .qexit svg{stroke:currentColor!important}
@media (min-width:1025px){html body:has(.mab) .qexit{top:92px!important;right:24px!important}}
@media (max-width:1024px){html body:has(.mab) .qexit{top:calc(21px + env(safe-area-inset-top))!important;right:calc(var(--gutter) + 58px)!important}}

/* ---------- Home hero: comparison card in the right half (desktop) ---------- */
@media (min-width:1025px){.herot .herot-grid{grid-template-columns:1.1fr .9fr!important;align-items:center}}
@media (max-width:1024px){.herot-card{display:none}}
.herot-card{background:rgba(255,255,255,.06);border:1px solid rgba(169,193,245,.22);border-radius:20px;padding:1.75rem 1.75rem 1.5rem;backdrop-filter:blur(6px);color:#E6ECF7;box-shadow:0 30px 60px -30px rgba(0,0,0,.5)}
.hc-kicker{margin:0 0 .35rem;font-size:.85rem;font-weight:600;color:#A9C1F5}
.hc-title{margin:0 0 1.25rem;font-family:var(--serif);font-weight:600;font-size:1.5rem;line-height:1.25;color:#fff}
.hc-table{display:grid;gap:.5rem}
.hc-row{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:.75rem;align-items:center;padding:.85rem 1rem;border-radius:12px;background:rgba(255,255,255,.05);font-size:.95rem}
.hc-head{background:none;padding-block:0 .1rem;font-size:.8rem;font-weight:600;color:#A9C1F5}
.hc-row [role=rowheader]{color:#fff;font-weight:500;line-height:1.35}
.hc-row .ok,.hc-row .no{display:inline-flex;align-items:center;gap:.4rem;font-weight:500}
.hc-row svg{width:18px;height:18px;flex:none;fill:none;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.hc-row .ok svg{stroke:#6EE7A8}.hc-row .no svg{stroke:#FCA5A5}
.hc-row .no{color:#FECACA}
.hc-link{display:inline-flex;align-items:center;gap:.5rem;margin-top:1.25rem;color:#fff;font-weight:600;text-decoration:none;min-height:44px}
.hc-link svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2}
@media (hover:hover){.hc-link:hover{text-decoration:underline;text-underline-offset:.2em}}

/* ---------- Inner-page heroes: quiet Islamic geometric pattern fills the right side ---------- */
.shero{position:relative;overflow:hidden}
@media (min-width:1025px){
 .shero::after{content:"";position:absolute;top:0;right:0;bottom:0;width:46%;pointer-events:none;opacity:.5;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120' fill='none' stroke='%23A9C1F5' stroke-width='1'%3E%3Cpath d='M60 12l14 34 34 14-34 14-14 34-14-34-34-14 34-14z'/%3E%3Cpath d='M26 26h68v68H26z' transform='rotate(45 60 60)'/%3E%3Ccircle cx='60' cy='60' r='16'/%3E%3C/svg%3E");
  background-size:120px 120px;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.35) 40%,rgba(0,0,0,.6) 100%);mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.35) 40%,rgba(0,0,0,.6) 100%)}
 .shero>*{position:relative;z-index:1}
}

/* ---------- Service pages: body column lines up with the hero text ---------- */
@media (min-width:1025px){
 .dp-body{margin-left:0!important;margin-right:auto!important;max-width:760px!important}
}

/* One content edge for header, heroes and body on every page */
.shero-in,.herot-in,.tl-hero .wrap,.mag-hero-in{max-width:var(--wrap)!important;padding-inline:var(--gutter)!important}
.mag-hero-in{max-width:880px!important}

/* =========================================================
   Type scale: every heading uses one of these sizes
   ========================================================= */
/* Section titles */
main .h2,main .cq-head h2,main .faq2-head h2,main .studied-head h2,main .why-head h2,main .doors-head2 h2,main .approach-head h2{font-size:clamp(2rem,3.2vw,2.75rem)!important;line-height:1.12!important;font-weight:600!important}
/* Headings inside a page's reading column, and "Your next step" */
main .dp-section h2,main .article h2,main .mag-body h2,main .lf-next h2{font-family:var(--serif)!important;font-weight:600!important;font-size:clamp(1.55rem,2.2vw,1.875rem)!important;line-height:1.2!important;color:var(--navy)}
/* Card titles */
main .fam-card h3,main .why-item h3,main .cq-card h3,main .ins2 h3,main .door3 h3,main .pcard h3,main .article-cta h3,main .tool-card h2,main .tl-panel h2,main .article h3,main .mag-body h3,main .dp-section h3:not(.lf-steps h3){font-family:var(--serif)!important;font-weight:600!important;font-size:1.3rem!important;line-height:1.3!important}
/* Step titles */
main .fam-step h3,main .lf-steps h3,main .sbs h3,main .pstep h3{font-family:var(--serif)!important;font-weight:600!important;font-size:1.15rem!important;line-height:1.3!important}
/* Small labels above reference lists */
main .mag-refs h3,main .mag-related h3{font-family:var(--sans)!important;font-size:.875rem!important;font-weight:600!important;letter-spacing:.01em}

/* ---------- Desktop: blocks line up with the page's left edge, like the hero above them ----------
   (Long-read magazine articles stay centred as a set; everything else starts at the same edge.) */
@media (min-width:1025px){
 .faq2-list,.article,.safe-box{margin-left:0!important;margin-right:auto!important}
 .wrap.narrow,.wrap.nc{max-width:var(--wrap)!important;margin-inline:auto!important;padding-inline:var(--gutter)!important}
 .wrap.narrow>*,.wrap.nc>*{max-width:760px;margin-left:0!important;margin-right:auto!important}
}

/* ---------- Visitor-review fixes ---------- */
/* Lists that are only links (e.g. "Where would you like to go?") get no tick */
.dp-section ul:not([class]) li:has(>a:only-child){padding-left:0!important}
.dp-section ul:not([class]) li:has(>a:only-child)::before{display:none!important}
/* Guide date line: the separators never sit alone on a line */
.article-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .75rem}
.article-meta .sep{display:none}
.article-meta>span:not(.cat):not(.sep)::before{content:"";display:inline-block;width:4px;height:4px;border-radius:50%;background:#9AA7BD;margin-right:.75rem;vertical-align:middle}
/* Long-read articles on phones: title, intro and labels all start at the same edge */
@media (max-width:640px){
 .mag-hero-in{padding-inline:var(--gutter)!important}
 .mag-hero-in *{text-align:left!important;margin-left:0!important}
 .mag-hero-in .eyebrow,.mag-hero-in .mag-kicker,.mag-hero-in .mag-meta{justify-content:flex-start!important}
}
.link-list{list-style:none;padding:0;margin:1rem 0 0;display:grid;gap:.25rem}
.link-list a{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;font-weight:500;color:var(--blue);text-decoration:none}
.link-list a::after{content:"→";font-weight:400}
@media (hover:hover){.link-list a:hover{text-decoration:underline;text-underline-offset:.2em}}

/* =========================================================
   Footer (defined once, for every page)
   ========================================================= */
.ftr{background:#07142A!important;padding:3.5rem 0 2rem!important;border-top:1px solid rgba(169,193,245,.14)}
.ftr-top{display:grid;grid-template-columns:1.6fr repeat(4,1fr);gap:2.5rem;align-items:start;padding-bottom:2.5rem}
.ftr-brand .brand{display:block;font-size:1.5rem;line-height:1;margin:0 0 1rem;color:#fff}
.ftr-brand p{margin:0;font-size:.95rem;line-height:1.6;color:#AEBBD3;max-width:34ch}
.ftr h3{font-family:var(--sans)!important;font-size:.8125rem!important;font-weight:600!important;letter-spacing:.02em;color:#fff!important;margin:.35rem 0 1rem!important;line-height:1.2}
.ftr ul{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}
.ftr ul a{color:#AEBBD3;text-decoration:none;font-size:.95rem}
@media (hover:hover){.ftr ul a:hover{color:#fff;text-decoration:underline;text-underline-offset:.2em}}
.ftr-contact{display:flex;flex-direction:column;gap:.6rem;margin:1.25rem 0 0}
.ftr-contact a,.ftr-hours{display:inline-flex;align-items:center;gap:.6rem;color:#C7D3E8;text-decoration:none;font-size:.95rem;line-height:1.4}
@media (hover:hover){.ftr-contact a:hover{color:#fff}}
.ftr-contact svg,.ftr-hours svg{width:17px!important;height:17px!important;flex:0 0 17px;opacity:.8}
.ftr-social{display:flex;gap:.6rem;margin-top:.25rem}
.ftr-social a{width:38px;height:38px;border-radius:10px;border:1px solid #22385c;display:grid;place-items:center;color:#8FA6CC}
.ftr-social svg{width:19px;height:19px}
@media (max-width:1024px){.ftr-top{grid-template-columns:1fr 1fr 1fr}.ftr-brand{grid-column:1/-1}}
@media (max-width:640px){.ftr-top{grid-template-columns:1fr 1fr;gap:2rem 1.5rem}.ftr-base{flex-direction:column;align-items:flex-start;gap:1rem}}

/* =========================================================
   Consultation form: a clean white card on the navy section
   ========================================================= */
.book{background:#fff!important;border:0!important;border-radius:16px!important;padding:1.75rem!important;box-shadow:0 24px 48px -24px rgba(0,0,0,.45)!important;color:var(--ink);max-width:480px;margin-left:auto}
.book .lbl,.book label>span:first-child{color:var(--navy)!important;font-size:.875rem!important;font-weight:600!important;margin-bottom:.4rem!important}
.book .lbl em{color:#5B6B85!important}
.book .hint{color:#5B6B85!important;font-size:.8125rem!important;margin:-.2rem 0 .45rem!important}
.book label{margin-bottom:1rem!important}
.book input:not([type=checkbox]):not([type=hidden]),.book textarea{background:#fff!important;border:1px solid #C9D2E0!important;border-radius:10px!important;color:var(--ink)!important;font-size:1rem!important;padding:.7rem .85rem!important;min-height:46px}
.book textarea{min-height:96px!important}
.book input:focus,.book textarea:focus{border-color:var(--blue)!important;box-shadow:0 0 0 3px rgba(29,78,216,.18)!important;outline:none}
.book [aria-invalid="true"]{border-color:#DC2626!important}
.book .safe-check{color:var(--ink)!important;font-size:.9rem!important}
.book .privacy,.book .sos{color:#5B6B85!important;font-size:.8125rem!important}
.book .privacy a,.book .sos a{color:var(--blue)!important}
.book .form-status.ok{color:#15803D}.book .form-status.err{color:#B91C1C}
.book .form-about{background:#EEF3FE!important;color:var(--navy)!important}
.book fieldset.chips .chip{border-color:#C9D2E0;color:var(--navy)}
@media (max-width:1024px){.book{margin-left:0;max-width:none}}
@media (max-width:640px){
 .ftr-top{grid-template-columns:1fr 1fr!important;gap:1.75rem 1.25rem!important}
 .ftr-brand{grid-column:1/-1}
 .ftr ul{gap:0!important}
 .ftr h3{margin:0 0 .25rem!important}
 .ftr-contact{gap:.1rem}
}

/* =========================================================
   Marriage agreement: premium document design (screen and print)
   ========================================================= */
html body .mab .shell:has(.agr){max-width:1200px!important}
html body .mab .rgrid{grid-template-columns:minmax(0,1fr) 300px!important;gap:2.5rem!important;align-items:start}
html body .agr{max-width:820px;background:#fff!important;border:0!important;border-radius:6px;
 padding:clamp(2rem,5vw,3.75rem) clamp(1.5rem,5vw,4rem)!important;color:#1C2433!important;font-size:1rem!important;line-height:1.7!important;
 box-shadow:0 1px 2px rgba(11,31,58,.06),0 24px 60px -28px rgba(11,31,58,.35),inset 0 0 0 1px #0B1F3A,inset 0 0 0 6px #fff,inset 0 0 0 7px #C7D5F6!important}
/* Letterhead */
html body .agr .lh{border-bottom:2px solid #0B1F3A!important;padding-bottom:1.1rem!important;align-items:flex-end!important}
html body .agr .lh-brand{font-family:var(--serif)!important;font-weight:600!important;font-size:1.6rem!important;color:#0B1F3A!important;display:block!important;line-height:1.1}
html body .agr .lh-brand small{font-family:var(--sans)!important;font-size:.78rem!important;color:#5B6B85!important;margin-top:.35rem;font-weight:500!important}
html body .agr .lh-meta{font-size:.78rem!important;color:#5B6B85!important}
html body .agr .lh-meta b{color:#0B1F3A!important;letter-spacing:.02em}
/* Title block */
html body .agr .basm{font-size:1.75rem!important;color:#0B1F3A!important;margin:2rem 0 .6rem!important}
html body .agr h1.at{font-family:var(--serif)!important;font-weight:600!important;font-size:clamp(2rem,3.6vw,2.6rem)!important;color:#0B1F3A!important;letter-spacing:.005em!important;line-height:1.15!important}
html body .agr .ar{font-size:1.4rem!important;color:#1D4ED8!important;margin:.35rem 0 .75rem!important}
html body .agr .draft span{border:0!important;border-radius:999px!important;background:#EEF3FE!important;color:#1D4ED8!important;font-weight:600!important;padding:.35rem .9rem!important;font-size:.78rem!important}
/* Section headings */
html body .mab .agr h2,html body .agr h2{font-family:var(--serif)!important;font-weight:600!important;font-size:1.2rem!important;color:#0B1F3A!important;letter-spacing:0!important;margin:2.4rem 0 1rem!important;padding-bottom:.5rem!important;border-bottom:1px solid #C7D5F6!important}
/* Tables */
html body .agr table.parties,html body .agr .sched table{border-collapse:separate!important;border-spacing:0!important;border:1px solid #D5DDEB!important;border-radius:10px;overflow:hidden}
html body .agr table.parties th,html body .agr table.parties td,html body .agr .sched th,html body .agr .sched td{border:0!important;border-bottom:1px solid #E4E9F2!important;padding:.7rem .95rem!important}
html body .agr table.parties tr:last-child th,html body .agr table.parties tr:last-child td,html body .agr .sched tr:last-child td{border-bottom:0!important}
html body .agr table.parties th,html body .agr .sched th{background:#F5F8FE!important;color:#3B4A63!important;font-weight:600!important;font-size:.8rem!important}
html body .agr table.parties td{color:#0B1F3A;font-weight:500}
/* Mahr panel */
html body .agr .mahr{border:0!important;border-left:4px solid #1D4ED8!important;background:#F7F9FE!important;border-radius:0 10px 10px 0;padding:1.1rem 1.35rem!important}
html body .agr .mahr-t{color:#0B1F3A!important;font-size:.85rem!important}
html body .agr .mahr-t span:last-child{color:#1D4ED8!important;font-size:1.35rem!important}
html body .agr .mahr dd{color:#0B1F3A}
/* Clauses */
html body .agr ol.cl>li{padding-left:3rem!important;margin-bottom:.9rem!important}
html body .agr ol.cl>li::before{color:#1D4ED8!important;font-variant-numeric:tabular-nums;font-weight:600!important}
/* Signatures and certificates */
html body .agr .sig .line{border-bottom:1px solid #0B1F3A!important;height:2.8rem!important}
html body .agr .sig b{color:#0B1F3A!important}
html body .agr .agr-cert{border:1px solid #D5DDEB!important;border-radius:10px;background:#FBFCFF;padding:1.2rem 1.35rem!important}
html body .agr .agr-cert h3{font-family:var(--serif)!important;font-size:1.02rem!important;font-weight:600!important;color:#0B1F3A!important}
html body .agr .foot{border-top:1px solid #C7D5F6!important;color:#7A879C!important}
/* Side panel */
html body .mab .aside{background:#fff!important;border:1px solid #D5DDEB!important;border-radius:14px!important;box-shadow:0 18px 40px -26px rgba(11,31,58,.35)}
@media (max-width:1024px){html body .mab .rgrid{grid-template-columns:1fr!important}}
@media (max-width:640px){html body .agr{padding:1.5rem 1.15rem!important;box-shadow:0 1px 2px rgba(11,31,58,.06),inset 0 0 0 1px #0B1F3A!important}}
@media print{html body .agr{box-shadow:none!important;max-width:none;padding:0!important;border-radius:0}}
html body .agr p,html body .agr li,html body .agr ol.cl>li{max-width:none!important}

/* Madinah and Oxford: real photographs in arch-shaped frames */
.studied-photo{position:relative;width:100%;max-width:320px;margin:0 auto;aspect-ratio:4/5;border-radius:50% 50% 14px 14px / 34% 34% 14px 14px;overflow:hidden;background:#E8EEFD;box-shadow:0 30px 50px -24px rgba(11,31,58,.45)}
.studied-photo img{width:100%;height:100%;object-fit:cover;display:block}
.studied-photo::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(11,31,58,.12),inset 0 -60px 60px -40px rgba(11,31,58,.25);pointer-events:none}
@media (max-width:1024px){.studied-photo{max-width:170px}}



/* =========================================================
   Our foundation: Madinah and Oxford (fits one screen)
   ========================================================= */
.found{background:radial-gradient(110% 90% at 80% 0%,#12325C 0%,#0B1F3A 55%,#07142A 100%);color:#E6ECF7;padding:clamp(3.5rem,6vw,5rem) 0 1.75rem;border-top:1px solid rgba(169,193,245,.14)}
.found-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(2rem,5vw,4.5rem);align-items:center}
.found-copy h2{font-family:var(--serif);font-weight:600;color:#fff;font-size:clamp(2rem,3.3vw,2.9rem)!important;line-height:1.12!important;letter-spacing:-.015em;margin:1rem 0 1.1rem}
.found-copy h2 span{color:#A9C1F5}
.found-lede{margin:0 0 1.5rem;color:#C3CFE4;font-size:1.08rem;line-height:1.65;max-width:46ch}
.found-list{list-style:none;margin:0 0 1.75rem;padding:0;display:grid;gap:.8rem}
.found-list li{display:flex;gap:.75rem;align-items:flex-start;color:#C3CFE4;font-size:1rem;line-height:1.5}
.found-list svg{flex:none;width:22px;height:22px;padding:4px;border-radius:50%;background:rgba(169,193,245,.16);fill:none;stroke:#A9C1F5;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;margin-top:1px}
.found-list b{color:#fff;font-weight:600}
.found-link{display:inline-flex;align-items:center;gap:.5rem;color:#fff;font-weight:600;text-decoration:none;min-height:44px;border-bottom:1px solid rgba(169,193,245,.5)}
@media (hover:hover){.found-link:hover{border-color:#fff}}
.found-link svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2}
.found-photos{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;align-items:start}
.found-card{position:relative;margin:0;border-radius:18px;overflow:hidden;aspect-ratio:3/4;max-height:460px;box-shadow:0 30px 60px -30px rgba(0,0,0,.7);border:1px solid rgba(169,193,245,.18)}
.found-card--low{margin-top:2.25rem}
.found-card img{width:100%;height:100%;object-fit:cover;display:block}
.found-card::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,20,42,.92) 0%,rgba(7,20,42,.35) 38%,rgba(7,20,42,0) 60%)}
.found-card figcaption{position:absolute;z-index:1;left:1.1rem;right:1.1rem;bottom:1rem;color:#fff}
.found-card figcaption span{display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.03em;color:#0B1F3A;background:#A9C1F5;border-radius:999px;padding:.2rem .6rem;margin-bottom:.5rem}
.found-card figcaption b{display:block;font-family:var(--serif);font-weight:600;font-size:1.1rem;line-height:1.25}
.found-card figcaption small{display:block;color:#C3CFE4;font-size:.82rem;line-height:1.4;margin-top:.15rem}
.found-note{margin:2rem auto 0;text-align:center;font-size:.78rem;color:#7E90B0}
@media (max-width:1024px){
 .found-grid{grid-template-columns:1fr}
 .found-card--low{margin-top:1.5rem}
}
@media (max-width:640px){
 .found-photos{gap:.7rem}
 .found-card figcaption{left:.75rem;right:.75rem;bottom:.75rem}
 .found-card figcaption b{font-size:.95rem}
 .found-card figcaption small{font-size:.75rem}
 .found-note{text-align:left}
}

/* =========================================================
   Team page: premium layout
   ========================================================= */
.tm-founder{background:#fff;padding:clamp(3.5rem,7vw,6rem) 0}
.tm-founder-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,5vw,4.5rem);align-items:center}
.tm-founder-photo{border-radius:22px;overflow:hidden;aspect-ratio:4/5;box-shadow:0 40px 70px -40px rgba(11,31,58,.55);position:relative}
.tm-founder-photo::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(11,31,58,.08)}
.tm-founder-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;display:block}
.tm-founder-copy h2{font-family:var(--serif);font-weight:600;font-size:clamp(2.2rem,3.6vw,3.1rem)!important;line-height:1.08!important;color:var(--navy);margin:.8rem 0 .5rem}
.tm-cred{margin:0 0 1rem;color:var(--blue);font-weight:600;font-size:.9rem;line-height:1.45}
.tm-cred--lg{font-size:1rem;margin-bottom:1.5rem}
.tm-lead{font-family:var(--serif);font-size:clamp(1.2rem,1.7vw,1.4rem)!important;line-height:1.45!important;color:var(--navy);border-left:3px solid var(--blue);padding-left:1.1rem;margin:0 0 1.5rem}
.tm-founder-copy p{color:var(--ink-2);line-height:1.7;margin:0 0 1rem;max-width:60ch}
.tm-chips{list-style:none;display:flex;flex-wrap:wrap;gap:.45rem;margin:1.25rem 0 0;padding:0}
.tm-chips li{font-size:.8125rem;font-weight:500;color:var(--navy);background:#EEF3FE;border-radius:999px;padding:.35rem .8rem}
.tm-team{background:var(--mist,#F4F7FB);padding:clamp(3.5rem,7vw,6rem) 0;border-top:1px solid var(--line)}
.tm-team-head{max-width:46rem;margin:0 0 clamp(2rem,4vw,3rem)}
.tm-team-head h2{margin:.9rem 0 .8rem}
.tm-team-head p:not(.eyebrow){color:var(--ink-2);font-size:1.08rem;line-height:1.6;margin:0}
.tm-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}
.tm-card{display:grid;grid-template-columns:170px minmax(0,1fr);gap:1.5rem;background:#fff;border:1px solid var(--line);border-radius:20px;padding:1.5rem;box-shadow:0 20px 40px -32px rgba(11,31,58,.35)}
.tm-photo{width:170px;aspect-ratio:4/5;border-radius:14px;overflow:hidden;align-self:start}
.tm-photo img{width:100%;height:100%;object-fit:cover;display:block}
.tm-photo--mono{display:grid;place-items:center;background:radial-gradient(120% 90% at 30% 0%,#1E3F74 0%,#0B1F3A 70%);position:relative}
.tm-photo--mono::before{content:"";position:absolute;inset:0;opacity:.35;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60' viewBox='0 0 120 120' fill='none' stroke='%23A9C1F5' stroke-width='1.2'%3E%3Cpath d='M60 12l14 34 34 14-34 14-14 34-14-34-34-14 34-14z'/%3E%3Ccircle cx='60' cy='60' r='16'/%3E%3C/svg%3E");background-size:60px}
.tm-photo--mono span{position:relative;font-family:var(--serif);font-weight:600;font-size:2.4rem;color:#fff;letter-spacing:.04em}
.tm-body h3{font-family:var(--serif)!important;font-weight:600!important;font-size:1.45rem!important;color:var(--navy);margin:.25rem 0 .35rem!important;line-height:1.2}
.tm-role{margin:0;font-size:.8125rem;font-weight:600;color:#5B6B85}
.tm-body p{color:var(--ink-2);line-height:1.65;margin:0 0 .8rem;font-size:.97rem}
.tm-body .tm-cred{color:var(--blue);font-size:.875rem;margin-bottom:.9rem}
.tm-at{background:#F5F8FE;border-radius:10px;padding:.7rem .9rem;font-size:.92rem!important}
.tm-at b{color:var(--navy)}
.tm-body .tm-chips{margin-top:.9rem}
.tm-how{background:radial-gradient(110% 90% at 80% 0%,#12325C 0%,#0B1F3A 60%,#07142A 100%);color:#E6ECF7;padding:clamp(3.5rem,6vw,5rem) 0}
.tm-how h2{color:#fff}
.tm-how-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.tm-how-grid li{background:rgba(255,255,255,.04);border:1px solid rgba(169,193,245,.2);border-radius:16px;padding:1.4rem}
.tm-how-grid .k{display:inline-grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:50%;background:var(--blue);color:#fff;font-weight:600;margin-bottom:1rem;box-shadow:0 0 0 5px rgba(169,193,245,.16)}
.tm-how-grid b{display:block;font-family:var(--serif);font-weight:600;font-size:1.15rem;color:#fff;margin-bottom:.4rem}
.tm-how-grid p{margin:0;color:#B9C7E0;font-size:.95rem;line-height:1.55}
@media (max-width:1200px){.tm-grid{grid-template-columns:1fr}.tm-how-grid{grid-template-columns:1fr 1fr}}
@media (max-width:1024px){.tm-founder-grid{grid-template-columns:1fr}.tm-founder-photo{max-width:360px}}
@media (max-width:640px){.tm-card{grid-template-columns:1fr;padding:1.25rem}.tm-photo{width:100%;max-width:220px}.tm-how-grid{grid-template-columns:1fr}}
@media (max-width:640px){.tm-photo{max-width:132px!important}.tm-founder-photo{max-width:300px}}

/* =========================================================
   Team page, version 2: partner-profile style
   ========================================================= */
.tp-founder{background:#fff;padding:clamp(3.5rem,7vw,6rem) 0 clamp(3rem,6vw,5rem)}
.tp-founder-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.tp-portrait{position:relative;border-radius:24px;overflow:hidden;aspect-ratio:4/5;box-shadow:0 50px 80px -45px rgba(11,31,58,.6)}
.tp-portrait::before{content:"";position:absolute;inset:14px;border:1px solid rgba(255,255,255,.35);border-radius:16px;z-index:1;pointer-events:none}
.tp-portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;display:block}
.tp-badge{position:absolute;z-index:2;left:28px;bottom:28px;background:#fff;color:var(--navy);font-weight:600;font-size:.85rem;padding:.55rem .95rem;border-radius:999px;box-shadow:0 10px 24px -10px rgba(0,0,0,.45);display:inline-flex;align-items:center;gap:.5rem}
.tp-badge::before{content:"";width:8px;height:8px;border-radius:50%;background:#16A34A;box-shadow:0 0 0 3px rgba(22,163,74,.18)}
.tp-founder-copy h2{font-family:var(--serif);font-weight:600;font-size:clamp(2.4rem,4vw,3.4rem)!important;line-height:1.05!important;color:var(--navy);margin:.8rem 0 .45rem}
.tp-title{margin:0 0 1.5rem;color:var(--blue);font-weight:600;font-size:1.02rem}
.tp-quote{font-family:var(--serif);font-size:clamp(1.2rem,1.7vw,1.4rem);line-height:1.45;color:var(--navy);margin:0 0 1.75rem;padding-left:1.2rem;border-left:3px solid var(--blue)}
.tp-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--line);border-radius:16px;overflow:hidden;margin:0 0 1.5rem}
.tp-stats>div{padding:1.1rem 1.2rem;background:#FAFBFE}
.tp-stats>div+div{border-left:1px solid var(--line)}
.tp-stats b{display:block;font-family:var(--serif);font-weight:600;font-size:2.2rem;line-height:1;color:var(--blue);margin-bottom:.4rem}
.tp-stats span{display:block;font-size:.85rem;line-height:1.4;color:var(--ink-2)}
.tp-founder-copy>p:not(.eyebrow):not(.tp-title):not(.tp-quote){color:var(--ink-2);line-height:1.75;margin:0;max-width:62ch}
.tp-creds{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin-top:clamp(2.5rem,5vw,3.5rem);border-top:2px solid var(--navy)}
.tp-creds>div{padding:1.25rem 1.25rem 0 0}
.tp-creds>div+div{padding-left:1.25rem;border-left:1px solid var(--line)}
.tp-creds h3{font-family:var(--sans)!important;font-size:.8rem!important;font-weight:600!important;letter-spacing:.04em;color:#5B6B85!important;margin:0 0 .6rem!important}
.tp-creds p{margin:0 0 .45rem;color:var(--navy);font-size:.95rem;line-height:1.45;font-weight:500}
.tp-expertise{margin-top:2.25rem;display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.25rem}
.tp-expertise h3{font-family:var(--sans)!important;font-size:.8rem!important;font-weight:600!important;letter-spacing:.04em;color:#5B6B85!important;margin:0!important}
.tp-tags{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.45rem}
.tp-tags li{font-size:.8125rem;font-weight:500;color:var(--navy);background:#EEF3FE;border-radius:999px;padding:.35rem .8rem}
.tp-tags--lg li{font-size:.9rem;padding:.5rem 1rem;background:#fff;border:1px solid #C7D5F6;color:var(--navy)}
.tp-team{background:var(--mist,#F4F7FB);padding:clamp(3.5rem,7vw,6rem) 0;border-top:1px solid var(--line)}
.tp-team-head{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:end;margin-bottom:clamp(2rem,4vw,3rem)}
.tp-team-head h2{margin:.9rem 0 0}
.tp-team-head>p{margin:0;color:var(--ink-2);font-size:1.05rem;line-height:1.6;max-width:46ch}
.tp-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem}
.tp-card{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 24px 44px -34px rgba(11,31,58,.4);transition:transform .2s,box-shadow .2s}
@media (hover:hover){.tp-card:hover{transform:translateY(-3px);box-shadow:0 30px 50px -30px rgba(11,31,58,.45)}}
.tp-photo{aspect-ratio:4/5;overflow:hidden}
.tp-photo img{width:100%;height:100%;object-fit:cover;display:block}
.tp-photo--mono{display:grid;place-items:center;background:radial-gradient(120% 90% at 30% 0%,#1E3F74 0%,#0B1F3A 70%);position:relative}
.tp-photo--mono::before{content:"";position:absolute;inset:0;opacity:.3;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60' viewBox='0 0 120 120' fill='none' stroke='%23A9C1F5' stroke-width='1.2'%3E%3Cpath d='M60 12l14 34 34 14-34 14-14 34-14-34-34-14 34-14z'/%3E%3Ccircle cx='60' cy='60' r='16'/%3E%3C/svg%3E");background-size:60px}
.tp-photo--mono span{position:relative;font-family:var(--serif);font-weight:600;font-size:3rem;color:#fff;letter-spacing:.04em}
.tp-card-body{padding:1.3rem 1.3rem 1.4rem;display:flex;flex-direction:column;flex:1}
.tp-pill{align-self:flex-start;font-size:.75rem;font-weight:600;color:var(--blue);background:#EEF3FE;border-radius:999px;padding:.25rem .65rem}
.tp-card h3{font-family:var(--serif)!important;font-weight:600!important;font-size:1.3rem!important;color:var(--navy);margin:.7rem 0 .3rem!important;line-height:1.2}
.tp-cred{margin:0 0 .8rem;color:#5B6B85;font-size:.84rem;line-height:1.45;font-weight:500}
.tp-card-body>p{color:var(--ink-2);font-size:.93rem;line-height:1.6;margin:0 0 .7rem}
.tp-card-body .tp-at{background:#F5F8FE;border-left:3px solid var(--blue);border-radius:0 8px 8px 0;padding:.6rem .8rem;font-size:.88rem;color:var(--navy)}
.tp-card .tp-tags{margin-top:auto;padding-top:.6rem}
@media (max-width:1200px){.tp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tp-creds{grid-template-columns:repeat(3,1fr)}.tp-creds>div:nth-child(4){border-left:0;padding-left:0}}
@media (max-width:1024px){.tp-founder-grid{grid-template-columns:1fr}.tp-portrait{max-width:380px}.tp-team-head{grid-template-columns:1fr}.tp-creds{grid-template-columns:1fr 1fr}.tp-creds>div{border-left:0!important;padding-left:0!important;border-bottom:1px solid var(--line);padding-bottom:1rem}}
@media (max-width:640px){.tp-grid{grid-template-columns:1fr}.tp-stats{grid-template-columns:1fr}.tp-stats>div+div{border-left:0;border-top:1px solid var(--line)}.tp-creds{grid-template-columns:1fr}.tp-photo{aspect-ratio:1/1}}
@media (max-width:640px){.tp-photo{aspect-ratio:3/2!important}.tp-photo img{object-position:50% 18%!important}}

/* Team page: colour and polish */
.tp-founder{background:linear-gradient(180deg,#fff 0%,#F3F6FD 100%)!important;position:relative}
.tp-portrait::before{display:none}
.tp-portrait{box-shadow:0 0 0 6px #fff,0 0 0 7px #C7D5F6,0 50px 80px -45px rgba(11,31,58,.6)!important}
.tp-badge{background:var(--navy)!important;color:#fff!important}
.tp-stats{border:0!important;gap:.75rem!important;background:none}
.tp-stats>div{border:0!important;border-radius:14px;background:linear-gradient(160deg,#EEF3FE 0%,#E1EAFD 100%)!important;padding:1.1rem 1.2rem!important}
.tp-stats>div:first-child{background:linear-gradient(160deg,#1D4ED8 0%,#163DB0 100%)!important}
.tp-stats>div:first-child b,.tp-stats>div:first-child span{color:#fff!important}
.tp-stats b{color:#1D4ED8!important}
.tp-stats span{color:#34425A!important}
.tp-creds{border-top:0!important;background:radial-gradient(120% 120% at 0% 0%,#15386A 0%,#0B1F3A 60%,#081731 100%);border-radius:22px;padding:1.75rem 1.5rem;gap:0!important;box-shadow:0 30px 60px -40px rgba(11,31,58,.7)}
.tp-creds>div{padding:.25rem 1.25rem!important;border-left:1px solid rgba(169,193,245,.18)!important}
.tp-creds>div:first-child{border-left:0!important}
.tp-ic{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:12px;background:rgba(169,193,245,.14);margin-bottom:.9rem}
.tp-ic svg{width:21px;height:21px;fill:none;stroke:#A9C1F5;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.tp-creds h3{color:#A9C1F5!important;letter-spacing:.03em!important;margin-bottom:.55rem!important}
.tp-creds p{color:#fff!important;font-size:.98rem!important;margin:0 0 .35rem!important;font-weight:500}
.tp-expertise h3{color:var(--navy)!important}
.tp-tags--lg li{background:#1D4ED8!important;color:#fff!important;border:0!important;box-shadow:0 8px 18px -12px rgba(29,78,216,.8)}
.tp-tags--lg li:nth-child(even){background:#EEF3FE!important;color:#1D4ED8!important;box-shadow:none}
.tp-pill{background:#1D4ED8!important;color:#fff!important}
.tp-card{border-top:4px solid #1D4ED8!important}
@media (max-width:1200px){.tp-creds>div:nth-child(4){border-left:0!important}}
@media (max-width:1024px){.tp-creds{padding:1.25rem}.tp-creds>div{border-left:0!important;border-bottom:1px solid rgba(169,193,245,.18)!important;padding:1rem 0!important}.tp-creds>div:last-child{border-bottom:0!important}}

/* =========================================================
   Team page, final: equal people grid + profile panel
   ========================================================= */
.pp{background:#fff;padding:clamp(3.5rem,7vw,6rem) 0}
.pp-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem 2rem;flex-wrap:wrap;margin-bottom:clamp(2rem,4vw,2.75rem)}
.pp-head h2{margin:.9rem 0 0;max-width:18ch}
.pp-filter{display:flex;flex-wrap:wrap;gap:.4rem;background:#F1F4FA;border-radius:999px;padding:.3rem}
.pp-filter button{border:0;background:none;font:inherit;font-size:.9rem;font-weight:500;color:#3B4A63;padding:.55rem 1rem;border-radius:999px;cursor:pointer;min-height:40px}
.pp-filter button.on{background:#fff;color:var(--navy);font-weight:600;box-shadow:0 2px 8px -2px rgba(11,31,58,.18)}
.pp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2vw,1.75rem)}
.pp-card{margin:0}
.pp-card[hidden]{display:none}
.pp-open{all:unset;box-sizing:border-box;display:block;width:100%;cursor:pointer;border-radius:22px;background:#fff;border:1px solid var(--line);overflow:hidden;box-shadow:0 24px 50px -38px rgba(11,31,58,.45);transition:transform .25s,box-shadow .25s,border-color .25s}
@media (hover:hover){.pp-open:hover{transform:translateY(-4px);box-shadow:0 34px 60px -36px rgba(11,31,58,.5);border-color:#C7D5F6}}
.pp-open:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.pp-photo{aspect-ratio:4/5;overflow:hidden;background:#E8EEFD}
.pp-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
@media (hover:hover){.pp-open:hover .pp-photo img{transform:scale(1.03)}}
.pp-mono{display:grid;place-items:center;background:radial-gradient(120% 90% at 30% 0%,#1E3F74 0%,#0B1F3A 70%);position:relative}
.pp-mono::before{content:"";position:absolute;inset:0;opacity:.3;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60' viewBox='0 0 120 120' fill='none' stroke='%23A9C1F5' stroke-width='1.2'%3E%3Cpath d='M60 12l14 34 34 14-34 14-14 34-14-34-34-14 34-14z'/%3E%3Ccircle cx='60' cy='60' r='16'/%3E%3C/svg%3E");background-size:60px}
.pp-mono span{position:relative;font-family:var(--serif);font-weight:600;font-size:3.2rem;color:#fff;letter-spacing:.04em}
.pp-meta{display:block;padding:1.3rem 1.4rem 1.4rem}
.pp-role{display:inline-block;font-size:.75rem;font-weight:600;color:#fff;background:var(--blue);border-radius:999px;padding:.25rem .7rem}
.pp-name{display:block;font-family:var(--serif);font-weight:600;font-size:1.45rem;line-height:1.2;color:var(--navy);margin:.75rem 0 .35rem}
.pp-line{display:block;font-size:.9rem;line-height:1.45;color:#5B6B85;min-height:2.6em}
.pp-more{display:inline-flex;align-items:center;gap:.4rem;margin-top:1rem;font-weight:600;font-size:.92rem;color:var(--blue)}
.pp-more svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;transition:transform .2s}
@media (hover:hover){.pp-open:hover .pp-more svg{transform:translateX(3px)}}
.pp-quote{background:linear-gradient(180deg,#F3F6FD 0%,#fff 100%);padding:clamp(3rem,6vw,4.5rem) 0;border-top:1px solid var(--line)}
.pp-quote-in{max-width:900px;text-align:center}
.pp-q{font-family:var(--serif);font-size:clamp(1.4rem,2.4vw,2rem);line-height:1.4;color:var(--navy);margin:0 0 1.75rem;position:relative}
.pp-q::before{content:"“";display:block;font-size:4rem;line-height:.6;color:var(--blue);margin-bottom:.4rem}
.pp-by{display:inline-flex;align-items:center;gap:.8rem;margin:0;text-align:left}
.pp-by img{width:56px;height:56px;border-radius:50%;object-fit:cover;object-position:50% 20%;box-shadow:0 0 0 3px #fff,0 0 0 4px #C7D5F6}
.pp-by b{display:block;color:var(--navy);font-size:1rem}
.pp-by span{color:#5B6B85;font-size:.9rem}
/* profile panel */
.pf-overlay{position:fixed;inset:0;z-index:400;background:rgba(7,20,42,.55);backdrop-filter:blur(3px);display:flex;justify-content:flex-end;opacity:0;transition:opacity .2s}
.pf-overlay.show{opacity:1}
.pf-panel{position:relative;width:min(600px,100%);height:100%;overflow-y:auto;background:#fff;box-shadow:-30px 0 60px -30px rgba(0,0,0,.5);transform:translateX(30px);transition:transform .25s;outline:none}
.pf-overlay.show .pf-panel{transform:none}
body.pf-open{overflow:hidden}
.pf-close{position:sticky;top:14px;float:right;margin:14px 14px 0 0;z-index:2;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:#fff;font-size:1.6rem;line-height:1;color:var(--navy);cursor:pointer}
.pf-head{display:flex;gap:1.25rem;align-items:center;padding:2rem 2rem 1.5rem;background:linear-gradient(160deg,#EEF3FE 0%,#fff 100%);border-bottom:1px solid var(--line)}
.pf-photo{width:112px;height:140px;border-radius:14px;overflow:hidden;flex:none;box-shadow:0 14px 30px -16px rgba(11,31,58,.5)}
.pf-photo img{width:100%;height:100%;object-fit:cover;display:block}
.pf-photo.pp-mono span{font-size:2rem}
.pf-role{margin:0;display:inline-block;font-size:.75rem;font-weight:600;color:#fff;background:var(--blue);border-radius:999px;padding:.25rem .7rem}
.pf-name{font-family:var(--serif);font-weight:600;font-size:1.8rem!important;line-height:1.15!important;color:var(--navy);margin:.6rem 0 .35rem}
.pf-line{margin:0;color:#5B6B85;font-size:.92rem;line-height:1.45}
.pf-body{padding:1.5rem 2rem 2.5rem}
.pf-body h3{font-family:var(--sans)!important;font-size:.8rem!important;font-weight:600!important;letter-spacing:.04em;color:#5B6B85!important;margin:1.75rem 0 .75rem!important}
.pf-body h3:first-child{margin-top:0!important}
.pf-glance{margin:0;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.pf-glance>div{display:grid;grid-template-columns:150px 1fr;gap:1rem;padding:.8rem 1rem;border-bottom:1px solid var(--line)}
.pf-glance>div:nth-child(odd){background:#F8FAFE}
.pf-glance>div:last-child{border-bottom:0}
.pf-glance dt{font-size:.85rem;font-weight:600;color:#5B6B85}
.pf-glance dd{margin:0;font-size:.95rem;color:var(--navy);font-weight:500;line-height:1.5}
.pf-body>p{color:var(--ink-2);line-height:1.7;margin:0 0 .9rem}
.pf-tags{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.45rem}
.pf-tags li{font-size:.85rem;font-weight:500;color:var(--blue);background:#EEF3FE;border-radius:999px;padding:.4rem .85rem}
.pf-cta{margin-top:2rem;width:100%;justify-content:center}
@media (max-width:1024px){.pp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.pp-grid{grid-template-columns:1fr}.pp-photo{aspect-ratio:4/3}.pp-photo img{object-position:50% 18%!important}.pf-head{flex-direction:column;align-items:flex-start;padding:1.5rem}.pf-body{padding:1.25rem 1.5rem 2rem}.pf-glance>div{grid-template-columns:1fr;gap:.2rem}.pp-filter{border-radius:14px}}
.pf-overlay[hidden]{display:none!important}
.pf-close{position:absolute!important;top:14px!important;right:14px!important;float:none!important;margin:0!important}
.pf-head{padding-right:4.5rem!important}
.pp-grid{display:flex!important;flex-wrap:wrap;justify-content:center}
.pp-card{flex:0 1 calc((100% - 2 * clamp(1rem,2vw,1.75rem)) / 3)}
@media (max-width:1024px){.pp-card{flex-basis:calc((100% - clamp(1rem,2vw,1.75rem)) / 2)}}
@media (max-width:640px){.pp-card{flex-basis:100%}}

/* =========================================================
   Online divorce application
   ========================================================= */
.da-wrap{background:linear-gradient(180deg,#F3F6FD 0%,#fff 60%);padding:2rem 0 5rem;min-height:70vh}
.da-crumb{color:#5B6B85;margin-bottom:1.5rem}
.da-crumb a{color:var(--blue)}
.da{max-width:760px}
.da-back{border:0;background:none;font:inherit;color:var(--blue);font-weight:600;cursor:pointer;padding:.5rem 0;min-height:44px;display:inline-flex;align-items:center;gap:.4rem}
.da-back::before{content:"‹";font-size:1.4rem;line-height:1}
.da-progress{height:6px;border-radius:999px;background:#DCE4F5;overflow:hidden;margin:.5rem 0 .6rem}
.da-progress span{display:block;height:100%;background:linear-gradient(90deg,#1D4ED8,#3B82F6);border-radius:999px;transition:width .3s}
.da-count{margin:0 0 1rem;font-size:.85rem;font-weight:600;color:#5B6B85;min-height:1.2em}
.da-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:clamp(1.5rem,4vw,2.5rem);box-shadow:0 30px 60px -44px rgba(11,31,58,.5)}
.da-h1{font-family:var(--serif);font-weight:600;font-size:clamp(2rem,4vw,2.8rem);line-height:1.1;color:var(--navy);margin:0 0 .8rem}
.da-h2{font-family:var(--serif);font-weight:600;font-size:clamp(1.6rem,3vw,2.1rem)!important;line-height:1.15!important;color:var(--navy);margin:0 0 1.25rem;outline:none}
.da-lead{font-size:1.15rem;color:var(--ink-2);margin:0 0 1.5rem;line-height:1.6}
.da-points{list-style:none;padding:0;margin:0 0 1.5rem;display:grid;gap:.9rem}
.da-points li{position:relative;padding-left:2.1rem;color:var(--ink-2);line-height:1.6}
.da-points li::before{content:"";position:absolute;left:0;top:.15em;width:1.35rem;height:1.35rem;border-radius:50%;background:#E8EEFD var(--tick) center/.85rem no-repeat}
.da-points b{color:var(--navy)}
.da-alert{background:#F5F8FE;border-left:4px solid var(--blue);border-radius:0 12px 12px 0;padding:1rem 1.1rem;margin:0 0 1.5rem;color:var(--navy);line-height:1.55;font-size:.95rem}
.da-alert--danger{background:#FEF2F2;border-color:#DC2626;color:#7F1D1D;margin-top:1rem}
.da-alert--danger p{margin:.4rem 0 0}
.da-small{font-size:.9rem;color:#5B6B85;margin:1rem 0 0}
.da-small a{color:var(--blue)}
.da-field{border:0;padding:0;margin:0 0 1.6rem}
.da-field legend,.da-field>label{display:block;font-weight:600;color:var(--navy);font-size:1.05rem;margin:0 0 .4rem;padding:0}
.da-field label em{font-style:normal;font-weight:400;color:#5B6B85}
.da-hint{margin:0 0 .7rem;color:#5B6B85;font-size:.92rem;line-height:1.5}
.da-field input[type=text],.da-field input[type=email],.da-field textarea{width:100%;font:inherit;font-size:1rem;color:var(--ink);background:#fff;border:1px solid #C9D2E0;border-radius:10px;padding:.75rem .9rem;min-height:48px}
.da-field textarea{min-height:120px;resize:vertical}
.da-field input:focus,.da-field textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(29,78,216,.18)}
.da-opts{display:grid;gap:.6rem}
.da-opt{display:flex;gap:.8rem;align-items:flex-start;border:1px solid #D5DDEB;border-radius:12px;padding:.85rem 1rem;cursor:pointer;background:#fff;transition:border-color .15s,background .15s}
@media (hover:hover){.da-opt:hover{border-color:#9DB4EE}}
.da-opt input{width:20px;height:20px;margin:.15rem 0 0;accent-color:var(--blue);flex:none}
.da-opt:has(input:checked){border-color:var(--blue);background:#F5F8FE;box-shadow:0 0 0 1px var(--blue)}
.da-opt b{display:block;font-weight:600;color:var(--navy)}
.da-opt small{display:block;color:#5B6B85;font-size:.87rem;margin-top:.15rem}
.da-opt--check span{color:var(--ink-2);line-height:1.5}
.da-decl{display:grid;gap:.7rem;margin-bottom:1.5rem}
.da-decl a{color:var(--blue)}
.da-actions{margin-top:1.75rem;display:flex;gap:1rem;flex-wrap:wrap}
.da-errors{background:#FEF2F2;border:1px solid #FCA5A5;border-radius:12px;padding:1rem 1.2rem;margin:0 0 1.5rem;color:#7F1D1D;outline:none}
.da-errors ul{margin:.4rem 0 0;padding-left:1.1rem}
.da-errors a{color:#B91C1C;font-weight:500}
.da-review{border:1px solid var(--line);border-radius:14px;margin:0 0 1rem;overflow:hidden}
.da-review-head{display:flex;justify-content:space-between;align-items:center;padding:.8rem 1rem;background:#F5F8FE;border-bottom:1px solid var(--line)}
.da-review-head h3{margin:0!important;font-family:var(--serif)!important;font-size:1.08rem!important;font-weight:600!important;color:var(--navy)}
.da-link{border:0;background:none;font:inherit;color:var(--blue);font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:.2em;min-height:40px}
.da-review dl{margin:0}
.da-review dl>div{display:grid;grid-template-columns:190px 1fr;gap:1rem;padding:.7rem 1rem;border-bottom:1px solid #EEF1F6}
.da-review dl>div:last-child{border-bottom:0}
.da-review dt{color:#5B6B85;font-size:.9rem;font-weight:500}
.da-review dd{margin:0;color:var(--navy);font-weight:500;white-space:pre-wrap;word-break:break-word}
.da-muted{color:#94A3B8;font-weight:400}
.da-status{margin:1rem 0 0;font-weight:500}.da-status.err{color:#B91C1C}
.da-done{text-align:left}
.da-done-mark{width:64px;height:64px;border-radius:50%;background:#DCFCE7;display:grid;place-items:center;margin-bottom:1.25rem}
.da-done-mark svg{width:32px;height:32px;fill:none;stroke:#15803D;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.da-ref{font-size:1.15rem;color:var(--navy);background:#F5F8FE;border:1px dashed #9DB4EE;border-radius:12px;padding:.9rem 1.1rem;display:inline-block}
.da-done h3{font-family:var(--serif)!important;font-size:1.3rem!important;color:var(--navy);margin:1.75rem 0 1rem!important}
@media (max-width:640px){.da-review dl>div{grid-template-columns:1fr;gap:.15rem}}
.da-num{max-width:140px}
/* The phone bottom-bar button shares the class name "book" with the form card: keep it a solid blue button */
.mcta a.book{background:var(--blue)!important;color:#fff!important;border-radius:var(--r)!important;padding:0 .75rem!important;max-width:none!important;margin:0!important;box-shadow:none!important;flex:1}
/* Minimum text size 13px for the newest labels */
.pp-role,.pf-role,.found-card figcaption span{font-size:.8125rem!important}
.found-card figcaption small,.found-note{font-size:.8125rem!important}
@media (max-width:640px){.pp-q{text-align:left}.pp-quote-in{text-align:left}}

/* Consultation form: topic chips, contact choice, trust line */
.book .bk-head{margin:0 0 1.25rem;padding-bottom:1rem;border-bottom:1px solid #E4E9F2}
.book .bk-title{margin:0;font-family:var(--serif);font-weight:600;font-size:1.35rem;color:var(--navy)}
.book .bk-sub{margin:.3rem 0 0;font-size:.9rem;color:#5B6B85}
.book .bk-chips{border:0;margin:0 0 1.1rem;padding:0}
.book .bk-chips legend{padding:0;margin:0 0 .5rem;font-size:.875rem;font-weight:600;color:var(--navy)}
.book .bk-chips legend em{font-style:normal;font-weight:400;color:#5B6B85}
.book .bk-chips>div{display:flex;flex-wrap:wrap;gap:.45rem}
.book .bk-chips label{margin:0!important;position:relative}
.book .bk-chips input{position:absolute;opacity:0;width:1px;height:1px}
.book .bk-chips span{display:inline-flex;align-items:center;min-height:40px;padding:.45rem .9rem;border:1px solid #C9D2E0;border-radius:999px;font-size:.9rem;color:var(--navy);background:#fff;cursor:pointer;transition:background .15s,border-color .15s}
@media (hover:hover){.book .bk-chips span:hover{border-color:#9DB4EE}}
.book .bk-chips input:checked+span{background:var(--blue);border-color:var(--blue);color:#fff;font-weight:600}
.book .bk-chips input:focus-visible+span{outline:3px solid rgba(29,78,216,.35);outline-offset:2px}
.book .bk-chips--sm span{min-height:36px;padding:.35rem .8rem;font-size:.85rem}
.book input::placeholder,.book textarea::placeholder{color:#94A3B8}
.book .bk-trust{display:flex;align-items:center;gap:.5rem;margin:.9rem 0 0;font-size:.82rem;color:#15803D;font-weight:500}
.book .bk-trust svg{width:16px;height:16px;flex:none;fill:none;stroke:#15803D;stroke-width:2}
.book .sos{margin-top:.6rem!important}
.book .privacy{margin-top:.25rem!important}

/* =========================================================
   Menu v3: sectioned dropdowns with a highlighted "Apply online" column
   ========================================================= */
.ddpanel{min-width:300px!important;padding:1rem!important;border-radius:16px!important;box-shadow:0 30px 60px -24px rgba(11,31,58,.35)!important}
.ddpanel--wide{min-width:560px!important}
.dd-grid{display:grid;gap:1rem}
.ddpanel--wide .dd-grid{grid-template-columns:1fr 1.05fr}
.dd-h{margin:0 0 .35rem;padding:0 .6rem;font-size:.75rem;font-weight:600;letter-spacing:.04em;color:#5B6B85}
.dd-col a,.dd-feat a{display:block;padding:.55rem .6rem!important;border-radius:8px;font-size:.93rem!important;color:var(--ink)!important;text-decoration:none;line-height:1.35}
.dd-col a:focus-visible{background:var(--mist)!important;color:var(--blue)!important}@media (hover:hover){.dd-col a:hover{background:var(--mist)!important;color:var(--blue)!important}}
.dd-feat{background:#F3F6FD;border-radius:12px;padding:.6rem .4rem}
.dd-feat a b{display:block;font-weight:600;color:var(--navy);font-size:.93rem}
.dd-feat a span{display:block;font-size:.8125rem;color:#5B6B85;margin-top:.1rem}
.dd-feat a:focus-visible{background:#fff!important}@media (hover:hover){.dd-feat a:hover{background:#fff!important}}
@media (hover:hover){.dd-feat a:hover b{color:var(--blue)}}
.dd-all{display:flex!important;justify-content:space-between;align-items:center;margin-top:.75rem;padding:.7rem .6rem!important;border-top:1px solid var(--line);border-radius:0!important;font-weight:600!important;color:var(--blue)!important;font-size:.9rem!important}
@media (hover:hover){.dd-all:hover{background:none!important;text-decoration:underline;text-underline-offset:.2em}}
.ddpanel a[aria-current="page"]{color:var(--blue)!important;font-weight:600}
.ddpanel .dd-hub{display:none}
.mainnav .dd:nth-of-type(n+4) .ddpanel{left:auto!important;right:0!important}
@media (max-width:1200px) and (min-width:1025px){.navtrigger{padding:.6rem .5rem!important;font-size:.9rem!important}.hdr-actions .btn{padding-inline:1rem}}
/* phone menu headings */
.mnav-h{margin:1rem 0 .25rem;font-size:.75rem;font-weight:600;letter-spacing:.04em;color:#5B6B85}
.mnav-sub .mnav-h:first-child{margin-top:.25rem}
.mnav-apply{color:var(--blue)!important;font-weight:600}
.mnav-grp{display:block;margin-top:.75rem;font-weight:600;color:var(--navy)}

/* Home: free tools and online applications */
.ta{background:#fff;padding:clamp(3.5rem,7vw,5.5rem) 0;border-top:1px solid var(--line)}
.ta-head{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem 3rem;align-items:end;margin-bottom:clamp(2rem,4vw,2.75rem)}
.ta-head h2{margin:.9rem 0 0}
.ta-head>p{margin:0;color:var(--ink-2);font-size:1.05rem;line-height:1.6;max-width:50ch}
.ta-grid{display:grid;grid-template-columns:1fr 1.35fr;gap:1.5rem}
.ta-group{display:grid;gap:.75rem;align-content:start}
.ta-group--apply{grid-template-columns:1fr 1fr;background:linear-gradient(160deg,#0F2A52 0%,#0B1F3A 100%);border-radius:22px;padding:1.25rem}
.ta-group--apply .ta-label{grid-column:1/-1;color:#A9C1F5}
.ta-label{margin:0 0 .25rem;font-size:.8rem;font-weight:600;letter-spacing:.04em;color:#5B6B85;display:flex;justify-content:space-between;gap:1rem}
.ta-label span{font-weight:500;letter-spacing:0;color:#7E8BA3}
.ta-group--apply .ta-label span{color:#8FA6CC}
.ta-card{position:relative;display:grid;grid-template-columns:44px 1fr;gap:.2rem .9rem;align-items:start;padding:1rem 2.6rem 1rem 1rem;border:1px solid var(--line);border-radius:16px;background:#fff;text-decoration:none;transition:transform .2s,box-shadow .2s,border-color .2s}
@media (hover:hover){.ta-card:hover{transform:translateY(-2px);box-shadow:0 20px 40px -28px rgba(11,31,58,.45);border-color:#C7D5F6}}
.ta-ic{grid-row:span 2;width:44px;height:44px;border-radius:12px;background:#EEF3FE;display:grid;place-items:center}
.ta-ic svg{width:22px;height:22px;fill:none;stroke:var(--blue);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ta-card b{font-weight:600;color:var(--navy);font-size:1rem;line-height:1.3}
.ta-d{font-size:.88rem;color:#5B6B85;line-height:1.45}
.ta-go{position:absolute;right:1rem;top:50%;transform:translateY(-50%)}
.ta-go svg{width:18px;height:18px;fill:none;stroke:var(--blue);stroke-width:2}
.ta-card.hl{background:rgba(255,255,255,.06);border-color:rgba(169,193,245,.22)}
@media (hover:hover){.ta-card.hl:hover{background:rgba(255,255,255,.1);border-color:rgba(169,193,245,.45)}}
.ta-card.hl .ta-ic{background:rgba(169,193,245,.16)}
.ta-card.hl .ta-ic svg,.ta-card.hl .ta-go svg{stroke:#A9C1F5}
.ta-card.hl b{color:#fff}.ta-card.hl .ta-d{color:#B9C7E0}
@media (max-width:1024px){.ta-grid{grid-template-columns:1fr}.ta-head{grid-template-columns:1fr}}
@media (max-width:640px){.ta-group--apply{grid-template-columns:1fr}}

/* Service pages: highlighted "Apply online" panel */
.apply-cta{margin:2rem 0!important;padding:0!important;border:0!important}
.apply-cta-in{display:grid;grid-template-columns:1.4fr 1fr;gap:1.5rem;align-items:center;background:linear-gradient(150deg,#12325C 0%,#0B1F3A 100%);color:#E6ECF7;border-radius:20px;padding:1.75rem 1.75rem;box-shadow:0 30px 60px -38px rgba(11,31,58,.7)}
.apply-kicker{margin:0 0 .4rem!important;font-size:.8rem!important;font-weight:600;color:#A9C1F5!important;letter-spacing:.04em}
.apply-cta h2{color:#fff!important;margin:0 0 .5rem!important;font-size:1.5rem!important}
.apply-cta-in p{color:#C3CFE4;margin:0;line-height:1.6}
.apply-cta-act .btn{width:100%;justify-content:center}
.apply-cta-act .btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2}
.apply-cta-act p{font-size:.85rem;color:#9FB0CC!important;margin-top:.6rem!important;text-align:center}
@media (max-width:1024px){.apply-cta-in{grid-template-columns:1fr}}
/* Will form: faraid preview */
.fp{border:1px solid #C7D5F6;background:#F5F8FE;border-radius:14px;padding:1rem 1.1rem;margin:0 0 1.5rem}
.fp-k{margin:0 0 .6rem;font-weight:600;color:var(--navy);font-size:.95rem}
.fp-t{width:100%;border-collapse:collapse;font-size:.95rem}
.fp-t th{text-align:left;font-size:.8rem;font-weight:600;color:#5B6B85;padding:.35rem 0;border-bottom:1px solid #D5DDEB}
.fp-t td{padding:.5rem 0;border-bottom:1px solid #E4E9F2;color:var(--ink)}
.fp-t td:last-child,.fp-t th:last-child{text-align:right}
.fp-t b{color:var(--blue);font-weight:600}
.fp-n{margin:.7rem 0 0;font-size:.82rem;color:#5B6B85;line-height:1.5}

/* Online forms: calmer, more professional type (less bold) */
.da-field legend,.da-field>label{font-weight:600!important;font-size:1rem!important;line-height:1.4}
.da-opt b{font-weight:500!important;color:var(--ink)!important}
.da-opt:has(input:checked) b{color:var(--navy)!important;font-weight:600!important}
.da-opt small{font-size:.85rem}
.da-hint{font-size:.9rem!important}
.da-h1{font-size:clamp(1.9rem,4vw,2.6rem)!important;font-weight:600!important}
.da-h2{font-weight:600!important}
.da-points b,.da-alert b{font-weight:600!important}
.da-count{font-weight:500!important}
@media (max-width:640px){
 .da-card{padding:1.25rem 1.1rem!important;border-radius:16px}
 .da-h2{font-size:1.45rem!important}
 .da-opt{padding:.75rem .85rem}
 .da-wrap{padding-top:1rem}
 .da-actions .btn{width:100%;justify-content:center}
}
@media print{html body .agr h2:has(+ .sched),html body .agr .pb{break-before:page}html body .agr h2{break-after:avoid}html body .agr .agr-cert,html body .agr .sig,html body .agr .mahr{break-inside:avoid}}

/* What we are building */
.wb{background:#fff;padding:clamp(3.5rem,7vw,5.5rem) 0}
.wb-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem;flex-wrap:wrap;margin-bottom:2rem}
.wb-head h2{margin:.9rem 0 0}
.wb-legend{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;margin:0;padding:0}
.wb-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
.wb-card{border:1px solid var(--line);border-radius:18px;padding:1.5rem;background:#fff;box-shadow:0 20px 44px -36px rgba(11,31,58,.45);display:flex;flex-direction:column}
.wb-card h3{font-family:var(--serif)!important;font-weight:600!important;font-size:1.3rem!important;color:var(--navy);margin:.9rem 0 .5rem!important}
.wb-card p{color:var(--ink-2);line-height:1.6;margin:0 0 .8rem;font-size:.97rem}
.wb-for{margin-top:auto!important;font-size:.85rem!important;font-weight:600;color:var(--blue)!important}
.wb-st{display:inline-flex;align-items:center;gap:.4rem;font-size:.8125rem;font-weight:600;border-radius:999px;padding:.3rem .75rem}
.wb-st::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.st-now{background:#DCFCE7;color:#166534}.st-dev{background:#EEF3FE;color:#1D4ED8}.st-plan{background:#F1F5F9;color:#475569}
.wb-note{margin:1.75rem 0 0;font-size:.88rem;color:#5B6B85;max-width:70ch}
.wb-gov{background:radial-gradient(110% 90% at 80% 0%,#12325C 0%,#0B1F3A 60%,#07142A 100%);color:#E6ECF7;padding:clamp(3.5rem,6vw,5rem) 0}
.wb-gov-in{display:grid;grid-template-columns:1fr 1.2fr;gap:2rem 4rem;align-items:start}
.wb-gov h2{color:#fff;font-family:var(--serif);font-weight:600;font-size:clamp(1.9rem,3vw,2.5rem)!important;margin:.9rem 0 0;line-height:1.15!important}
.wb-gov p{color:#C3CFE4;line-height:1.7;margin:0 0 1rem}
.wb-gov .btn svg,.shero-cta .btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2}
@media (max-width:1024px){.wb-grid{grid-template-columns:1fr 1fr}.wb-gov-in{grid-template-columns:1fr}}
@media (max-width:640px){.wb-grid{grid-template-columns:1fr}}
.hb{background:linear-gradient(180deg,#F3F6FD 0%,#fff 100%);padding:clamp(3.5rem,7vw,5rem) 0;border-top:1px solid var(--line)}
.hb-in{display:grid;grid-template-columns:1fr 1.1fr;gap:2rem 4rem;align-items:center}
.hb h2{margin:.9rem 0 1rem}
.hb-lede{color:var(--ink-2);font-size:1.05rem;line-height:1.6;margin:0 0 1.25rem;max-width:48ch}
.hb-link{color:var(--blue)!important;border-color:rgba(29,78,216,.35)!important}
.hb-list{list-style:none;margin:0;padding:0;display:grid;gap:.8rem}
.hb-list li{background:#fff;border:1px solid var(--line);border-radius:16px;padding:1.1rem 1.2rem;display:grid;gap:.35rem;box-shadow:0 16px 36px -30px rgba(11,31,58,.45)}
.hb-list li .wb-st{justify-self:start}
.hb-list b{font-family:var(--serif);font-weight:600;font-size:1.15rem;color:var(--navy)}
.hb-list li>span:last-child{color:var(--ink-2);font-size:.93rem;line-height:1.5}
@media (max-width:1024px){.hb-in{grid-template-columns:1fr}}
.ta-label span{color:#5B6B85!important}.ta-group--apply .ta-label span{color:#A9B9D6!important}
.apply-cta-in p{color:#C3CFE4!important}
.apply-cta-act p{color:#9FB0CC!important}
.wb-card .wb-st{align-self:flex-start}

/* What we are building v2 */
.st-eng{background:#FEF3C7;color:#92400E}
.wb-gap{background:#fff;padding:clamp(3.5rem,7vw,5rem) 0;border-bottom:1px solid var(--line)}
.wb-gap-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.wb-fact{border:1px solid var(--line);border-radius:18px;padding:1.4rem;background:linear-gradient(170deg,#F5F8FE 0%,#fff 70%)}
.wb-fact b{display:block;font-family:var(--serif);font-weight:600;font-size:2rem;line-height:1.1;color:var(--blue);margin-bottom:.6rem}
.wb-fact p{margin:0;color:var(--ink-2);line-height:1.6;font-size:.95rem}
.wb-src{margin:1.5rem 0 0;font-size:.82rem;color:#5B6B85;line-height:1.5;max-width:90ch}
.wb-model{background:radial-gradient(110% 90% at 80% 0%,#12325C 0%,#0B1F3A 60%,#07142A 100%);color:#E6ECF7;padding:clamp(3.5rem,7vw,5.5rem) 0}
.wb-model h2{color:#fff}
.wb-layers{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.wb-layers li{display:flex;gap:1rem;background:rgba(255,255,255,.04);border:1px solid rgba(169,193,245,.2);border-radius:18px;padding:1.4rem}
.wb-n{flex:none;display:grid;place-items:center;width:2.4rem;height:2.4rem;border-radius:50%;background:var(--blue);color:#fff;font-weight:600;box-shadow:0 0 0 5px rgba(169,193,245,.16)}
.wb-lk{margin:0 0 .3rem;font-size:.8125rem;font-weight:600;color:#A9C1F5}
.wb-layers h3{margin:0 0 .5rem!important;font-family:var(--serif)!important;font-weight:600!important;font-size:1.25rem!important;color:#fff}
.wb-layers p:not(.wb-lk){color:#C3CFE4;line-height:1.6;margin:0 0 .9rem;font-size:.95rem}
.wb-why{background:#F4F7FB;padding:clamp(3.5rem,7vw,5rem) 0;border-top:1px solid var(--line)}
.wb-why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.wb-why-grid>div{background:#fff;border:1px solid var(--line);border-top:4px solid var(--blue);border-radius:16px;padding:1.4rem}
.wb-why-grid h3{margin:0 0 .5rem!important;font-family:var(--serif)!important;font-weight:600!important;font-size:1.2rem!important;color:var(--navy)}
.wb-why-grid p{margin:0;color:var(--ink-2);line-height:1.6;font-size:.95rem}
.wb-roadmap{background:#fff;padding:clamp(3.5rem,7vw,5rem) 0}
.wb-road{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative}
.wb-road::before{content:"";position:absolute;left:0;right:0;top:1.05rem;height:2px;background:var(--step-line)}
.wb-road li{position:relative;padding:3rem 1.25rem 0 0}
.wb-road li::before{content:"";position:absolute;top:.55rem;left:0;width:1.1rem;height:1.1rem;border-radius:50%;background:var(--blue);box-shadow:0 0 0 5px #E8EEFD}
.wb-road b{font-size:.8125rem;font-weight:600;color:var(--blue);letter-spacing:.04em}
.wb-road h3{margin:.4rem 0 .45rem!important;font-family:var(--serif)!important;font-weight:600!important;font-size:1.2rem!important;color:var(--navy)}
.wb-road p{margin:0;color:var(--ink-2);line-height:1.6;font-size:.95rem}
@media (max-width:1200px){.wb-gap-grid,.wb-why-grid{grid-template-columns:1fr 1fr}.wb-layers{grid-template-columns:1fr}}
@media (max-width:1024px){.wb-road{grid-template-columns:1fr}.wb-road::before{left:.5rem;right:auto;top:0;bottom:0;width:2px;height:auto}.wb-road li{padding:0 0 1.5rem 2.5rem}.wb-road li::before{top:.25rem}}
@media (max-width:640px){.wb-gap-grid,.wb-why-grid{grid-template-columns:1fr}}
.wb-approach{max-width:72ch;margin:0 0 1.75rem}.wb-approach p{color:#C3CFE4;line-height:1.7;margin:0 0 1rem;font-size:1.05rem}
/* Our plan page */
.wb-isnot{display:grid;grid-template-columns:.9fr 1.4fr;gap:2rem 3rem;align-items:start}
.wb-isnot h2{margin:.9rem 0 0}
.wb-isnot-cols{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.wb-isnot-cols>div{border-radius:18px;padding:1.4rem 1.5rem}
.wb-col-no{background:#FEF2F2;border:1px solid #FECACA}
.wb-col-yes{background:#F0FDF4;border:1px solid #BBF7D0}
.wb-isnot-cols h3{margin:0 0 .75rem!important;font-family:var(--serif)!important;font-weight:600!important;font-size:1.2rem!important}
.wb-col-no h3{color:#991B1B}.wb-col-yes h3{color:#166534}
.wb-isnot-cols ul{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}
.wb-isnot-cols li{position:relative;padding-left:1.6rem;color:var(--ink);line-height:1.5}
.wb-col-no li::before{content:"✕";position:absolute;left:0;color:#DC2626;font-weight:700}
.wb-col-yes li::before{content:"✓";position:absolute;left:0;color:#16A34A;font-weight:700}
.wb-std{display:grid;grid-template-columns:1.1fr 1fr;gap:2rem 3rem;align-items:start}
.wb-std h2{margin:.9rem 0 1rem}
.wb-std-lede{color:var(--ink-2);font-size:1.05rem;line-height:1.65;margin:0 0 1.5rem}
.wb-steps{margin:0;padding:0;list-style:none;counter-reset:s;display:grid;gap:.9rem}
.wb-steps li{counter-increment:s;position:relative;padding-left:3rem;color:var(--ink-2);line-height:1.6}
.wb-steps li::before{content:counter(s);position:absolute;left:0;top:0;width:2rem;height:2rem;border-radius:50%;background:var(--blue);color:#fff;font-weight:600;display:grid;place-items:center;font-size:.9rem}
.wb-steps b{color:var(--navy)}
.wb-code{background:linear-gradient(160deg,#0F2A52 0%,#0B1F3A 100%);color:#E6ECF7;border-radius:20px;padding:1.75rem}
.wb-code h3{margin:0 0 1rem!important;font-family:var(--serif)!important;font-weight:600!important;font-size:1.3rem!important;color:#fff}
.wb-code ul{list-style:none;margin:0 0 1rem;padding:0;display:grid;gap:.65rem}
.wb-code li{position:relative;padding-left:1.7rem;color:#D5DEEE;line-height:1.5;font-size:.95rem}
.wb-code li::before{content:"";position:absolute;left:0;top:.35em;width:1rem;height:1rem;border-radius:50%;background:rgba(169,193,245,.2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A9C1F5' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/.65rem no-repeat}
.wb-code>p{margin:0;color:#A9C1F5;font-size:.9rem;font-weight:500}
@media (max-width:1024px){.wb-isnot,.wb-std{grid-template-columns:1fr}}
@media (max-width:640px){.wb-isnot-cols{grid-template-columns:1fr}}

/* =========================================================
   LawFiq theme v2: "a respected institution", not a template.
   Tokens: Ink #0B1F3A · Paper #FFFFFF · Stone #F4F6F9 · Rule #DCE2EA · Lapis #1D4ED8 (actions only)
   Type: Source Serif 4 for headings, Inter for text.
   Principles: left-aligned, fewer boxes, hairline rules instead of shadows,
   one signature (Madinah–Oxford and the geometric pattern), no decorative motion.
   ========================================================= */
:root{--stone:#F4F6F9;--rule:#DCE2EA}
/* 1. No scattered entrance animations: content is simply there */
.rv,.rv.in{opacity:1!important;transform:none!important;transition:none!important;animation:none!important}
/* 2. Section labels only where they help: keep them in page headers, drop them above body sections */
main section:not(.shero):not(.herot):not(.mag-hero) .eyebrow{display:none!important}
main section:not(.shero):not(.herot):not(.mag-hero) h2{margin-top:0!important}
/* 3. No arrows tacked onto button and link text */
.btn svg,.found-link svg,.hc-link svg,.pp-more svg,.dd-all span,.link-list a::after{display:none!important}
.btn{gap:0}
/* 4. Hairlines, not soft shadows: cards are flat, with a clear border and a quiet hover */
.door3,.ta-card,.lf-next-card,.cq-card,.fam-card,.pp-open,.tp-card,.wb-card,.hb-list li,.wb-fact,.wb-why-grid>div,.ins2,.tool-card,.why-item,.fam-step,.herot-card,.found-card{box-shadow:none!important}
.door3,.ta-card,.lf-next-card,.cq-card,.fam-card,.pp-open,.tp-card,.wb-card,.hb-list li,.wb-fact,.wb-why-grid>div,.ins2,.tool-card{border:1px solid var(--rule)!important;transform:none!important;transition:border-color .15s,background-color .15s!important}
@media (hover:hover){a.door3:hover,.ta-card:hover,.lf-next-card:hover,a.fam-card:hover,.pp-open:hover,a.ins2:hover,a.tool-card:hover{border-color:var(--blue)!important;transform:none!important;box-shadow:none!important}}
@media (hover:hover){.pp-open:hover .pp-photo img{transform:none!important}}
/* radius by hierarchy: controls 8px, cards 12px, large panels and photos 18px */
.door3,.ta-card,.lf-next-card,.cq-card,.fam-card,.tp-card,.wb-card,.hb-list li,.wb-fact,.wb-why-grid>div,.ins2,.tool-card,.pp-open{border-radius:12px!important}
/* 5. Flat surfaces, no gradient washes */
.hb,.tp-founder,.wb-gap,.da-wrap,.pp-quote{background:var(--stone)!important}
.wb-fact{background:#fff!important}
.wb-why-grid>div{border-top:1px solid var(--rule)!important}
/* 6. Home: section rhythm — light, light-grey, navy, never two navies together */
.found{background:#0B1F3A!important}
.doors{background:#fff!important}
.ta{background:var(--stone)!important;border-top:0!important}
.hb{background:#fff!important;border-top:1px solid var(--rule)!important}
.process{background:#0B1F3A!important}
/* 7. Tools and applications: one visual language, the apply column set apart by a lapis rule, not a dark box */
.ta-group--apply{background:#fff!important;border:1px solid var(--rule);border-left:4px solid var(--blue)!important;border-radius:12px!important;padding:1.1rem!important}
.ta-group--apply .ta-label{color:#5B6B85!important}
.ta-group--apply .ta-label span{color:#5B6B85!important}
.ta-card.hl{background:#fff!important;border-color:var(--rule)!important}
.ta-card.hl b{color:var(--navy)!important}
.ta-card.hl .ta-d{color:#5B6B85!important}
.ta-card.hl .ta-ic{background:#EEF3FE!important}
.ta-card.hl .ta-ic svg,.ta-card.hl .ta-go svg{stroke:var(--blue)!important}
@media (hover:hover){.ta-card.hl:hover{border-color:var(--blue)!important}}
.ta-head{align-items:start}
/* 8. Calmer headline scale and measure */
main h2{max-width:26ch}
main p{max-width:72ch}
.shero-h1,.herot h1{letter-spacing:-.015em}
/* Foundation on a light surface, so the navy hero and navy sections never sit back to back */
.found{background:var(--stone)!important;color:var(--ink)!important;border-top:1px solid var(--rule)!important}
.found-copy h2{color:var(--navy)!important}
.found-copy h2 span{color:var(--blue)!important}
.found-lede,.found-list li{color:var(--ink-2)!important}
.found-list b{color:var(--navy)!important}
.found-list svg{background:#E8EEFD!important;stroke:var(--blue)!important}
.found-link{color:var(--navy)!important;border-color:rgba(11,31,58,.35)!important}
.found-note{color:#5B6B85!important}
.found-card{border:0!important}
/* No single-phrase colour accents in headlines, and no dash in front of labels */
.found-copy h2 span,.bridge-head h2 span,.herot h1 span{color:inherit!important}
.eyebrow::before{display:none!important}
.eyebrow{padding-left:0!important;gap:0!important}
/* Service pages: reading column with a sticky "On this page" and contact panel */
.dp-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:4rem;align-items:start}
.dp-layout>.dp-body{max-width:720px}
.dp-aside{position:sticky;top:110px}
.dp-aside-in{display:grid;gap:1.25rem}
.dp-aside-h{margin:0 0 .6rem;font-size:.8125rem;font-weight:600;color:#5B6B85}
.dp-toc{border-left:2px solid var(--rule);padding-left:1rem}
.dp-toc ol{list-style:none;margin:0;padding:0;display:grid;gap:.15rem}
.dp-toc a{display:block;padding:.3rem 0;color:var(--ink-2);text-decoration:none;font-size:.92rem;line-height:1.4}
@media (hover:hover){.dp-toc a:hover{color:var(--blue)}}
.dp-help{border:1px solid var(--rule);border-radius:12px;padding:1.2rem;background:#fff}
.dp-help p{margin:0 0 .9rem;color:var(--ink-2);font-size:.9rem}
.dp-help .btn{width:100%;justify-content:center;margin-bottom:.6rem}
.dp-help-l{display:block;padding:.45rem 0;color:var(--blue);font-weight:500;font-size:.92rem;text-decoration:none;border-top:1px solid var(--rule)}
@media (hover:hover){.dp-help-l:hover{text-decoration:underline}}
@media (max-width:1200px){.dp-layout{grid-template-columns:1fr;gap:0}.dp-aside{display:none}}

/* =========================================================
   Hover and focus: one consistent rule for every kind of link (audit P1)
   ========================================================= */
/* text links on light backgrounds: darker blue and a heavier underline */
@media (hover:hover){main a:not([class]):hover,main .crumb a:hover,main .privacy a:hover,main .sos a:hover,.da-small a:hover,.wb-note a:hover,.article a:not([class]):hover{color:#1E3A8A!important;text-decoration-line:underline!important;text-decoration-thickness:2px!important;text-underline-offset:.2em}}
/* text links on navy backgrounds: white and a heavier underline */
@media (hover:hover){:is(.shero,.herot,.mag-hero,.consult,.wb-gov,.process) a:not([class]):hover,:is(.shero,.mag-hero) .crumb a:hover,.consult-note a:hover{color:#fff!important;text-decoration-line:underline!important;text-decoration-thickness:2px!important}}
@media (hover:hover){.book .privacy a:hover,.book .sos a:hover{color:#1E3A8A!important}}
@media (hover:hover){.brand:hover{opacity:.78}}
@media (hover:hover){.found-link:hover,.hb-link:hover{color:var(--blue)!important;border-color:var(--blue)!important}}
details>summary{transition:color .15s}
@media (hover:hover){details>summary:hover{color:var(--blue)!important}}
@media (hover:hover){.cookie:hover,button.cookie:hover{color:#fff!important;border-color:#fff!important}}
@media (hover:hover){.pp-filter button:not(.on):hover{background:rgba(255,255,255,.7);color:var(--navy)}}
@media (hover:hover){.consult-note a:hover,:is(.shero,.herot,.mag-hero,.consult,.wb-gov) a:not([class]):hover{color:#C7D7FB!important}}

/* =========================================================
   Type scale for paragraphs (audit P1): 13 · 14 · 15 · 17 · 18 · 19 · 20
   ========================================================= */
/* caption 13px */
.book .privacy,.book .sos,.book .bk-trust,.wb-src,.apply-kicker,.ta-label,p.role,.c-lbl,.dp-aside-h,.wb-lk{font-size:.8125rem!important}
/* small 14px */
.book .bk-sub,.dp-help p,.s-ref,.legal-updated,.da-small,.wb-note,.da-count,.hc-kicker{font-size:.875rem!important}
/* card text 15px */
.fam-step p,.cq-card p,.pstep p,.tool-card p,.ins2 p,.wb-fact p,main li>p,.consult-note,.tb p{font-size:.9375rem!important}
/* body 17px */
.dp-section p,.dp-body p,.prose p,.fam-card p,.door3 p,.pcard p,.safe-copy p,.article-key p,.statband-txt,.gl-def,.sol-body p,.col p:not(.c-lbl){font-size:1.0625rem!important}
/* long-form reading 18px */
.article p:not(.article-lead):not(.article-pull),.mag-body p:not(.mag-lead),.article-cta p,.mag-key p{font-size:1.125rem!important}
/* section introductions 18px */
p.lg,.sec-head p,.ta-head>p,.hb-lede,.wb-std-lede,.doors-head2-r,.tp-team-head>p,.found-lede,.approach-head p,.hteam-head p,.pp-head p{font-size:1.125rem!important}
/* leads 19px, hero 20px */
.shero-sub,p.lead,.da-lead,.article-lead,.article-pull,.mag-lead{font-size:1.1875rem!important}
.herot-sub{font-size:1.25rem!important}

.dp-rel{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}.dp-rel a{font-weight:500}
.bk-consent{font-size:.875rem!important;line-height:1.5;align-items:flex-start!important}.bk-consent input{margin-top:.2rem}
/* Related guides and tools: one list with short descriptions */
.dp-rel{gap:0!important;border-top:1px solid var(--rule)}
.dp-rel li{padding:.8rem 0;border-bottom:1px solid var(--rule)}
.dp-rel a{font-weight:600;color:var(--navy);text-decoration:none;font-size:1.02rem}
@media (hover:hover){.dp-rel a:hover{color:var(--blue);text-decoration:underline}}
.dp-rel li span{display:block;color:#5B6B85;font-size:.92rem;margin-top:.15rem}
/* Home plan teaser: each item is a link to its section */
.hb-list li{padding:0!important}
.hb-item{display:grid;gap:.35rem;padding:1.1rem 1.2rem;color:inherit;text-decoration:none;border-radius:12px}
.hb-item .wb-st{justify-self:start}
.hb-item b{font-family:var(--serif);font-weight:600;font-size:1.15rem;color:var(--navy)}
.hb-item>span:not(.wb-st):not(.hb-more){color:var(--ink-2);font-size:.93rem;line-height:1.5}
.hb-more{color:var(--blue);font-weight:600;font-size:.9rem}
@media (hover:hover){.hb-list li:hover{border-color:var(--blue)!important}}
@media (hover:hover){.hb-item:hover .hb-more{text-decoration:underline}}
/* "Apply online" shows a live, open status: a green dot */
.apply-kicker,.ta-group--apply .ta-label>:first-child,.dd-feat .dd-h,.mnav-h.live{display:inline-flex!important;align-items:center;gap:.45rem}
.apply-kicker::before,.live-dot{content:"";display:inline-block;width:.55rem;height:.55rem;border-radius:50%;background:#22C55E;box-shadow:0 0 0 3px rgba(34,197,94,.25);flex:none}
@media (prefers-reduced-motion:no-preference){.apply-kicker::before,.live-dot{animation:lfLive 2.4s ease-in-out infinite}}
@keyframes lfLive{0%,100%{box-shadow:0 0 0 3px rgba(34,197,94,.25)}50%{box-shadow:0 0 0 6px rgba(34,197,94,.08)}}
.apply-kicker{color:#86EFAC!important}
.ta-live{display:inline-flex;align-items:center;gap:.45rem;color:var(--navy);font-weight:600}
html{scroll-padding-top:110px}
/* Menu: descriptive links in the left column where useful; groups in the highlighted column */
.dd-col .dd-h:not(:first-child){margin-top:.8rem}
.dd-col a.dd-d b{display:block;font-weight:600;color:var(--navy);font-size:.93rem}
.dd-col a.dd-d span{display:block;font-size:.8125rem;color:#5B6B85;margin-top:.1rem}
.dd-feat .dd-h:not(:first-child){margin-top:.8rem}
.ddpanel{max-width:calc(100vw - 32px)}

/* =========================================================
   Typography system (final): one scale, one rhythm
   Sizes  H1 hero 68 · H1 page 52 · H1 form 42 · H2 section 40 · H2 reading 30 · H3 card 20 · H3 small 18
          lead 19–20 · body 17 · reading 18 · card text 15 · small 14 · caption 13
   Leading headings 1.08–1.3 · lead 1.55 · body 1.65 · reading 1.7 · small 1.5 · Arabic 1.9
   ========================================================= */
/* headings: serif, 600, tight leading, slight negative tracking on display sizes */
main h1,main h2,main h3,main h4{font-weight:600!important;text-wrap:balance}
.herot h1{font-size:clamp(2.75rem,5.4vw,4.25rem)!important;line-height:1.06!important;letter-spacing:-.018em!important}
.shero-h1,.mag-hero h1,main .article h1,.shero h1{font-size:clamp(2.25rem,4.2vw,3.25rem)!important;line-height:1.1!important;letter-spacing:-.015em!important}
.da-h1{font-size:clamp(2rem,3.6vw,2.625rem)!important;line-height:1.12!important}
main h2{font-size:clamp(1.875rem,3vw,2.5rem)!important;line-height:1.15!important;letter-spacing:-.01em}
.dp-section h2,.article h2,.mag-body h2,.tp-team-head h2,.wb-gov h2,.legal h2,.prose h2{font-size:clamp(1.5rem,2.2vw,1.875rem)!important;line-height:1.2!important;letter-spacing:-.005em}
.apply-cta h2,.tl-panel h2,.da-h2,.pf-name,.article-cta h2,.hc-title{font-size:clamp(1.375rem,2vw,1.625rem)!important;line-height:1.22!important;letter-spacing:0}
main h3{line-height:1.3!important}
.door3 h3,.fam-card h3,.wb-layers h3,.wb-why-grid h3,.wb-road h3,.tm-how-grid b,.cq-card h3,.tool-card h3,.ins2 h3,.pcard h3,.wb-card h3{font-size:1.25rem!important;line-height:1.3!important}
.fam-step h3,.pstep h3,.lf-steps h3,.da-done h3,.article h3,.mag-body h3,.dp-section h3,.agr-cert h3{font-size:1.125rem!important;line-height:1.35!important}
/* body copy leading */
main p,main li,main dd,main dt{line-height:1.65}
.article p:not(.article-lead):not(.article-pull),.mag-body p:not(.mag-lead),.article li,.mag-body li{line-height:1.7!important}
.shero-sub,.herot-sub,p.lead,.da-lead,.article-lead,.mag-lead,.found-lede,.hb-lede,.wb-std-lede,p.lg,.sec-head p,.ta-head>p{line-height:1.55!important}
.article-pull{line-height:1.45!important}
.book .privacy,.book .sos,.book .bk-trust,.wb-src,.dp-help p,.da-small,.wb-note,.ta-d,.pp-line,.tp-cred,.dd-feat a span,.dd-col a.dd-d span,.dp-rel li span,.da-hint{line-height:1.5!important}
[lang="ar"],.s-ar,.basm,.ar{line-height:1.9!important}
/* numbers and stats: display leading */
.statband-num,.tp-stats b,.wb-fact b{line-height:1!important}
/* paragraphs: comfortable measure, never wall-to-wall */
.dp-section p,.dp-section li,.article p,.mag-body p{max-width:68ch}
/* Typography system: make the scale win over older page-level rules (the :not(#_) raises specificity) */
main h1:not(#_){font-size:clamp(2.25rem,4.2vw,3.25rem)!important;line-height:1.1!important;letter-spacing:-.015em!important}
.herot h1:not(#_){font-size:clamp(2.75rem,5.4vw,4.25rem)!important;line-height:1.06!important;letter-spacing:-.018em!important}
.da-h1:not(#_){font-size:clamp(2rem,3.6vw,2.625rem)!important;line-height:1.12!important}
main h2:not(#_){font-size:clamp(1.875rem,3vw,2.5rem)!important;line-height:1.15!important}
:is(.dp-section,.article,.mag-body,.tp-team-head,.wb-gov,.legal,.prose,.col,.gl-item) h2:not(#_){font-size:clamp(1.5rem,2.2vw,1.875rem)!important;line-height:1.2!important}
:is(.apply-cta,.tl-panel,.tool-card,.article-cta) h2:not(#_),.da-h2:not(#_),.pf-name:not(#_),.hc-title:not(#_){font-size:clamp(1.375rem,2vw,1.625rem)!important;line-height:1.22!important}
main h3:not(#_){font-size:1.25rem;line-height:1.3!important}
:is(.fam-step,.pstep,.lf-steps,.da-done,.tb,.dp-section,.article,.mag-body,.agr-cert) :is(h3,h4):not(#_){font-size:1.125rem!important;line-height:1.35!important}
:is(.mag-refs,.mag-related,.tp-creds,.pf-body,.tp-expertise,.dp-aside,.da-review-head) h3:not(#_){font-size:inherit}
.sr-only:not(#_){font-size:1px!important}
main h3:not(#_){font-size:1.25rem!important}

/* =========================================================
   Online forms, government-service style (audit: forms felt heavy on phones)
   - no box inside a box: the form sits on the page, like GOV.UK
   - one calm column, smaller type, full-width buttons on phones
   - no competing call-to-action bar or WhatsApp bubble while filling in
   ========================================================= */
body.is-form .mcta,body.is-form .wa-float{display:none!important}
body.is-form{padding-bottom:0!important}
.da-wrap{background:#fff!important}
.da{max-width:640px!important}
.da-card{background:none!important;border:0!important;box-shadow:none!important;border-radius:0!important;padding:0!important}
.da-h1:not(#_){font-size:clamp(2rem,4vw,2.5rem)!important}
.da-h2:not(#_){font-size:clamp(1.5rem,3vw,1.875rem)!important;margin-bottom:1rem!important}
.da-lead{font-size:1.125rem!important}
.da-points li{font-size:1rem!important}
.da-field legend,.da-field>label{font-size:1.0625rem!important}
.da-opt{padding:.7rem .9rem!important;border-color:#C9D2E0!important}
.da-opt b{font-size:1rem!important}
.da-alert{font-size:.95rem!important}
.da-progress{margin-top:.25rem}
@media (max-width:640px){
 .da-wrap{padding:.75rem 0 2.5rem!important}
 .da-crumb{display:none}
 .da-h1:not(#_){font-size:1.875rem!important}
 .da-h2:not(#_){font-size:1.5rem!important}
 .da-lead{font-size:1.0625rem!important}
 .da-points li,.da-field legend,.da-field>label,.da-opt b{font-size:1rem!important}
 .da-hint,.da-alert{font-size:.9375rem!important}
 .da-start,.da-actions .btn{width:100%;justify-content:center}
}
/* Phones, sitewide: a slightly smaller reading size, as on GOV.UK (16px body on mobile) */
@media (max-width:640px){
 .dp-section p,.dp-body p,.prose p,.fam-card p,.door3 p,.safe-copy p,.article-key p,.col p:not(.c-lbl){font-size:1rem!important}
 .article p:not(.article-lead):not(.article-pull),.mag-body p:not(.mag-lead){font-size:1.0625rem!important}
 .shero-sub,.herot-sub,p.lead,.article-lead,.mag-lead,p.lg,.sec-head p,.ta-head>p,.found-lede,.hb-lede{font-size:1.0625rem!important}
}

/* ===== Launch audit fixes (approved: Owais, 28 Sept 2026) =====
   A. 16px minimum text, by component (GOV.UK: avoid sizes below 16px)
   B. 44px touch targets on phones */
.navtrigger,.ddpanel a,.mnav a{font-size:1rem!important}
footer a,footer p,footer li,.ftr-hours,.ftr-contact a,footer h3,button.cookie{font-size:1rem!important}
.book .lbl,.bk-chips legend,.bk-chips span,.safe-check,.bk-consent,.book .privacy,.book .sos,.book .bk-trust,.book .bk-sub{font-size:1rem!important}
.eyebrow,.crumb,.crumb a,.dp-toc a,.dp-help p,.dp-help-l,.dp-aside-h,.ta-d,.ta-label,.pp-line,.dd-feat a span,.dd-h,.consult-note,.ci-lbl,.mcta a{font-size:1rem!important}
/* PROPOSAL B: 44px touch targets on phones (GOV.UK / WCAG 2.5.5 best practice) */
@media (max-width:1024px){.qexit{min-height:44px!important;padding:.55rem .9rem!important}.qexit *{font-size:1rem!important}button.cookie,details>summary{min-height:44px}}
/* C. Comfortable line length (GOV.UK/WCAG 1.4.8 guidance) */
.tl-disclaim,.safe-copy p,.safe-note,.wb-src{max-width:68ch}
/* A (continued): same rules with enough weight to beat older page-level styles */
.ftr h3:not(#_),.book .lbl:not(#_),.book .safe-check:not(#_),.book .bk-consent:not(#_),.book .privacy:not(#_),.book .sos:not(#_),.book .bk-trust:not(#_),.book .bk-sub:not(#_),.bk-chips legend:not(#_),.bk-chips span:not(#_){font-size:1rem!important}
:is(.btn,.fam-tags li,.door3-tags li,.lf-next-card span,.lf-steps .n,.pstep .n,.fam-step .n,.n,.num,.mag-refs li,.mag-byline,.article-meta,.article-meta span,.k-lbl,.rc,.ins2-cat,.ins2-go,.shero-call,.dp-rel li span,.lb-val,.da-small,.fam-step p,.ins2 p,.wb-code li,.tl-callout,.tl-field,.ledger-sum,.hc-kicker,.mag-kicker,.s-lbl,.mag-scholar-note,.cq-link,.statband-lbl,.ci-lbl,.ptag,.tab,.badge,.qc,.whowith-item,.mag-standard,.nc-top):not(#_){font-size:max(1rem,1em)!important}
.fam-tags li:not(#_),.door3-tags li:not(#_){padding:.3rem .75rem!important}

/* A (final): remaining small components raised to 16px, listed one by one */
:is(.ben p,.cq-card p,.da-alert,.da-alert b,.found-card b,.found-card small,.found-card span,.hb-item span,.hb-more,.hc-row span,.herot-call,.hint,.k,.lbl,.ledger-gap,.ledger-head span,.ledger-name small,.legal-updated,.lk-f span,.nc-opt small,.no,.note,.ok,.on,.pp-by span,.pp-filter button,.pp-more,.pp-role,.process-note,.pstep p,.qc span,.role,.statband-src,.statband-src em,.tag,.tb p,.tl-disclaim,.tl-field small,.tl-field span,.tl-lbl small,.tl-note,.tl-notes li,.tl-row small,.tl-seg label,.tl-sub,.tm-how-grid p,.tool-card p,.tool-go,.wb-code p,.wb-fact p,.wb-layers p,.wb-lk,.wb-note,.wb-note a,.wb-road b,.wb-road p,.wb-src,.wb-st,.wb-why-grid p,.whowith-item span,.whowith-lbl,.wrap):not(#_){font-size:max(1rem,1em)!important}

/* ===== Approved 28 Sept: question-first tools and pages, calmer weights, Arabic font ===== */
body:has(.tl-hero) .mcta,body:has(.tl-hero) .wa-float{display:none!important}
@media (max-width:640px){
 .tl-hero{padding:1.25rem 0 1.5rem!important}
 .tl-hero .crumb{display:none!important}
 .tl-hero h1:not(#_){font-size:1.875rem!important;line-height:1.15!important;margin:0 0 .6rem!important}
 .tl-hero p:not(#_){font-size:1.0625rem!important;line-height:1.5!important;margin:0!important}
 .tl-sec{padding-top:1.25rem!important;background:#fff!important}
 .nc-card{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important}
}
.nc-opt span:not(.dot):not(#_){font-weight:500!important}
.nc-opt small:not(#_),.nc-opt span+span:not(#_){font-weight:400!important}
#nc-stage h2:not(#_){font-size:clamp(1.5rem,3vw,1.875rem)!important;line-height:1.2!important}
.tl-disclaim:not(#_){font-size:1rem!important;line-height:1.5!important;border-top:1px solid var(--rule);padding-top:1rem;margin-top:1.5rem}
/* answers in every tool and form: regular weight, selected answer semibold (GOV.UK pattern) */
.nc-opt span:not(.dot):not(#_),.da-opt b:not(#_){font-weight:400!important}
.da-opt:has(input:checked) b:not(#_){font-weight:600!important}@media (hover:hover){.nc-opt:hover span:not(.dot){font-weight:600!important}}
/* phones, every page: shorter page header so content starts sooner */
@media (max-width:640px){
 .shero{padding:1.5rem 0 1.75rem!important}
 .shero .crumb,.mag-hero .crumb{display:none!important}
 .shero-h1:not(#_),.mag-hero h1:not(#_){font-size:2rem!important;line-height:1.15!important}
 .shero-sub:not(#_),.mag-lead:not(#_){font-size:1.0625rem!important;line-height:1.5!important}
 .shero-cta{margin-top:1.25rem!important}
}
/* two weights only in running text: regular 400 and semibold 600 */
main :is(b,strong):not(#_){font-weight:600}
/* Arabic: use the Arabic font the site actually loads (Amiri) */
:is([lang="ar"],.s-ar,.ar,.basm,.seal-ar,.mahr-t span:last-child):not(#_){font-family:"Amiri","Noto Naskh Arabic",serif!important}

/* two weights: anything at 700 in page content becomes 600 */
:is(.num,.sos a,.k-lbl,.rc,.ins2-cat,.c-lbl,.s-lbl,.cat,.role,.ci-lbl,.mag-kicker,.badge,.ptag,.k,.statband-num,.whowith-lbl,.lbl,.tag):not(.brand):not(#_){font-weight:600!important}
.nc-opt :is(b,strong,span:not(.dot)):not(small):not(#_){font-weight:400!important}
@media (max-width:640px){.tl-hero p+p:not(#_){font-size:1rem!important;opacity:.85}}
.dp-help-more{margin:.75rem 0 0!important;font-size:1rem!important;line-height:1.6}.dp-help-more a{color:var(--blue)}
/* Guides: short answer and review line (editorial standard §5–6) */
.answer-box{border-left:4px solid var(--blue);background:var(--stone);border-radius:0 12px 12px 0;padding:1rem 1.25rem;margin:1.25rem 0 1rem}
.answer-box .answer-k{margin:0 0 .35rem!important;font-weight:600;color:var(--navy);font-size:1rem!important}
.answer-box p{margin:0}
.guide-review{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:.75rem 0;margin:0 0 1.75rem;color:#5B6B85}
.guide-review p{margin:.2rem 0!important;font-size:1rem!important;line-height:1.5!important;max-width:none}
.guide-review a{color:var(--blue)}
.guide-sources{margin-top:2rem}
.answer-box,.answer-box p{color:var(--ink)!important}
.mag-hero .guide-review,.mag-hero .guide-review p{color:#C3CFE4!important;border-color:rgba(169,193,245,.25)!important}
.mag-hero .guide-review a{color:#A9C1F5!important}
.mag-hero .answer-box{background:#fff!important}
/* Questions and answers page */
.qa-wrap{max-width:820px}
.qa-toc{margin:0 0 2rem}.qa-toc ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
.qa-toc a{display:inline-block;padding:.45rem .9rem;border:1px solid var(--rule);border-radius:999px;text-decoration:none;color:var(--navy);font-weight:500}
@media (hover:hover){.qa-toc a:hover{border-color:var(--blue);color:var(--blue)}}
.qa-sec{margin:0 0 2.5rem}.qa-sec h2{margin:0 0 1rem}
.qa-item{border-top:1px solid var(--rule);padding:1.1rem 0}
.qa-item h3{margin:0 0 .45rem}.qa-item p{margin:0;max-width:68ch}
.fam-qa .dp-rel{max-width:760px;margin-top:1rem}
.qa-wrap{max-width:none!important}
.qa-wrap>*{max-width:780px}
.qa-sec h2:not(#_),.qa-item h3:not(#_),.article-cta h2{font-family:var(--serif)!important}
.qa-item{scroll-margin-top:100px}

/* ===== UI audit fixes (Oct 2026) ===== */
/* UI-01 Quick exit: clear, 44px, 16px text, consistent on every page */
.qexit:not(#_){min-height:44px!important;padding:.5rem 1rem!important;font-size:1rem!important;font-weight:600!important;border:2px solid var(--navy)!important;background:#fff!important;color:var(--navy)!important;box-shadow:0 1px 2px rgba(11,31,58,.12)!important}
.qexit:not(#_) *{font-size:1rem!important}
@media (hover:hover){.qexit:hover{background:var(--navy)!important;color:#fff!important}}
/* UI-02 no floating WhatsApp bubble: WhatsApp stays in the side panel, contact page and phone bar */
.wa-float{display:none!important}
/* UI-03 one button specification: 10px radius, no glow, 48px minimum */
.btn:not(#_){border-radius:10px!important;box-shadow:none!important;min-height:48px}
@media (hover:hover){.btn:not(#_):hover{box-shadow:none!important}}
/* UI-04 cards and panels: flat, one radius per level (cards 12px, panels 16px) */
.tcard,.pcard{border-radius:12px!important;box-shadow:none!important;border:1px solid var(--rule)!important}
.book,.apply-cta-in,.pfix,.statcard,.aim,.herot-card{border-radius:16px!important;box-shadow:none!important}
.n,.k,.num,.wb-n,.node{box-shadow:none!important}
/* UI-05 no animation on the live indicator: a static green dot */
.apply-kicker::before,.live-dot{animation:none!important;box-shadow:none!important}
/* UI-06 one guide layout: left-aligned headers and answer box, no decorative dashes */
.mag-hero .wrap,.mag-hero-in,.mag-hero .crumb,.mag-hero h1,.mag-hero .mag-lead,.mag-hero .mag-byline,.mag-hero .mag-kicker{text-align:left!important;margin-left:0!important;justify-content:flex-start!important}
.mag-hero h1,.mag-hero .mag-lead,.mag-hero .answer-box,.mag-hero .guide-review{max-width:760px}
.mag-hero .answer-box,.mag-hero .answer-box p,.mag-hero .guide-review p{text-align:left!important}
.mag-kicker::before,.mag-kicker::after{display:none!important}
/* UI-09 calculator on phones: label above its control */
@media (max-width:640px){.tl-row,.tl-field{flex-wrap:wrap!important}.tl-row>*:first-child,.tl-field>*:first-child{flex:1 1 100%!important;margin-bottom:.4rem}}
/* Forms: calmer labels, a readable consent line, quiet trust note (owner review, Oct 2026) */
.book .lbl:not(#_),.bk-chips legend:not(#_),.da-field legend:not(#_),.da-field>label:not(#_){font-weight:500!important}
.book .lbl:not(#_),.bk-chips legend:not(#_){font-size:1.0625rem!important}
.bk-consent:not(#_){display:grid!important;grid-template-columns:auto 1fr;gap:.75rem;align-items:start!important;font-weight:400!important}
.bk-consent span{display:block;line-height:1.5}
.bk-consent input{margin-top:.2rem}
.book .bk-trust:not(#_){color:#5B6B85!important;font-weight:400!important;font-size:1rem!important}
.book .bk-trust svg{stroke:#5B6B85!important}
/* Focus must always be visible (WCAG 2.4.7): restore a two-tone ring on buttons after removing their shadows */
.btn:not(#_):focus-visible,button:not(#_):focus-visible,a.btn:not(#_):focus-visible{outline:none!important;box-shadow:0 0 0 3px #fff,0 0 0 6px #1D4ED8!important}
html:not(#_){scroll-behavior:auto!important}

/* ===== Final design pass (senior pre-launch review) =====
   Two families, clearly separated: Source Serif 4 for headings only, Inter for all reading text.
   No label above every heading, no middle-dot strings, bold only where it carries meaning. */
/* reading text is always Inter, never serif or italic (quotations of scripture keep their own style) */
main :is(p,li):not(.s-tr):not(.s-ar):not([lang="ar"]):not(.article-pull):not(#_){font-family:"Inter",system-ui,sans-serif!important}
.mag-standfirst:not(#_),.mag-lead:not(#_),.article-lead:not(#_){font-style:normal!important;font-family:"Inter",system-ui,sans-serif!important}
/* page headers: no label above the title (the breadcrumb already says where you are); the home page keeps its line */
.shero .eyebrow:not(#_),.mag-hero .eyebrow:not(#_),.mag-hero .mag-kicker:not(#_),.da .eyebrow:not(#_){display:none!important}
/* bold only for meaning: lead-ins in lists and intros become medium weight */
:is(.da-points,.dp-list,.fam-list,.found-list,.tp-points,.wb-steps,.wb-code,.check-list,ul,ol) :is(b,strong):not(#_){font-weight:500!important}
main p :is(b,strong):not(.da-alert *):not(.sos *):not(#_){font-weight:500!important}
.da-alert :is(b,strong),.sos b{font-weight:600!important}
/* article meta without middle dots */
.article-meta .sep,.mag-byline .sep{display:none!important}
.article-meta,.mag-byline{display:flex!important;flex-wrap:wrap;gap:.35rem 1.25rem}
/* side panel links as a plain list */
.dp-help-more{list-style:none;margin:.75rem 0 0!important;padding:0;display:grid;gap:.1rem}
.dp-help-more a{display:block;padding:.35rem 0;color:var(--blue);text-decoration:none;border-top:1px solid var(--rule)}
@media (hover:hover){.dp-help-more a:hover{text-decoration:underline}}
.article-meta *::before,.article-meta *::after,.mag-byline *::before,.mag-byline *::after{content:none!important}
/* Privacy notice: lawful-basis table and open-decision markers (markers must be resolved before launch) */
.lb-table-wrap{overflow-x:auto;margin:1rem 0 1.25rem;border:1px solid var(--rule);border-radius:12px}
.lb-table{border-collapse:collapse;width:100%;min-width:720px;font-size:1rem}
.lb-table th,.lb-table td{text-align:left;vertical-align:top;padding:.7rem .8rem;border-bottom:1px solid var(--rule);line-height:1.45}
.lb-table th{background:var(--stone);font-weight:600;color:var(--navy)}
.lb-table tr:last-child td{border-bottom:0}
mark.req{background:#FEF3C7;color:#78350F;padding:.05rem .3rem;border-radius:4px;font-weight:600}
.da-privacy{border:1px solid var(--rule);border-radius:12px;padding:.9rem 1rem;margin:1rem 0;background:#fff}.da-privacy p{margin:0;font-size:1rem!important;line-height:1.5!important;color:var(--ink-2)}.wa-note{display:block;font-size:1rem;color:#5B6B85;margin-top:.2rem}

/* ===== Design tokens: breakpoints, type scale, interaction states (UI audit 05) =====
   Breakpoints (use only these): small phone ≤360px (exception only) · mobile ≤640px · tablet ≤1024px · desktop ≤1200px · large desktop >1200px.
   Type scale tokens, consumed by the shared components below: */
:root{
  --fs-caption:1rem;      /* 16px: labels, meta, small print (the site's minimum) */
  --fs-small:1rem;
  --fs-body:1.0625rem;    /* 17px */
  --fs-lead:clamp(1.1875rem,1.4vw,1.25rem); /* 19–20px */
  --fs-h4:1.125rem;
  --fs-h3:clamp(1.25rem,1.8vw,1.375rem);
  --fs-h2:clamp(1.75rem,3vw,2.375rem);
  --fs-h1:clamp(2.25rem,4.4vw,3.25rem);
  --fs-display:clamp(2.5rem,5.2vw,4.25rem);
  --focus-ring:0 0 0 3px #fff,0 0 0 6px #1D4ED8;
  --field-focus:0 0 0 3px rgba(29,78,216,.25);
  --state-error:#B42318; --state-error-bg:#FEF3F2; --state-success:#067647; --state-success-bg:#ECFDF3;
}
/* one interaction-state system: every control uses the same focus, hover, active, disabled, error and success states */
:focus-visible{outline:3px solid #1D4ED8;outline-offset:2px}
[tabindex="-1"]:focus{outline:none}                        /* headings focused by script for screen readers, not controls */
:is(input,textarea,select):not([type=checkbox]):not([type=radio]):not(#_):focus{outline:2px solid #1D4ED8!important;outline-offset:1px!important;box-shadow:var(--field-focus)!important;border-color:#1D4ED8!important}
:is(input[type=checkbox],input[type=radio]):focus-visible{outline:3px solid #1D4ED8!important;outline-offset:2px}
.btn:not(#_):active{transform:translateY(1px)}
:is(.btn,button):disabled:not(#_),.btn[aria-disabled="true"]:not(#_){opacity:.55;cursor:not-allowed;transform:none}
:is(.form-status,.da-status).err:not(#_){color:var(--state-error)!important;background:var(--state-error-bg)!important;border-color:#FDA29B!important}
:is(.form-status).ok:not(#_){color:var(--state-success)!important;background:var(--state-success-bg)!important;border-color:#ABEFC6!important}
:is(input,textarea,select)[aria-invalid="true"]:not(#_){border-color:var(--state-error)!important}
/* lawful-basis table: grid children may shrink; on phones each row becomes a labelled card instead of a wide scrolling table */
.dp-layout>*,.dp-main,.dp-body{min-width:0}
.lb-table-wrap{max-width:100%}
@media (max-width:640px){
  .lb-table-wrap{border:0;overflow:visible}
  .lb-table{min-width:0}
  .lb-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .lb-table,.lb-table tbody,.lb-table tr,.lb-table td{display:block;width:100%}
  .lb-table tr{border:1px solid var(--rule);border-radius:12px;margin:0 0 .9rem;padding:.4rem .9rem}
  .lb-table td{border:0;padding:.45rem 0}
  .lb-table td::before{content:attr(data-label);display:block;font-weight:600;color:var(--navy);margin-bottom:.1rem}
}
.mnav-h:not(#_){font-size:var(--fs-caption)!important;font-weight:600!important;text-transform:none!important;letter-spacing:0!important;color:#5B6B85!important}
/* application start screen: "at a glance" facts, and "what happens after you send" before the Send button */
.da-glance{display:grid;gap:.1rem;margin:1rem 0;border-top:1px solid var(--rule)}
.da-glance>div{display:grid;grid-template-columns:9rem 1fr;gap:1rem;padding:.6rem 0;border-bottom:1px solid var(--rule)}
.da-glance dt{font-weight:600;color:var(--navy)}.da-glance dd{margin:0}
@media (max-width:640px){.da-glance>div{grid-template-columns:1fr;gap:.1rem}}
.da-nextbox{border:1px solid var(--rule);border-radius:12px;padding:1rem 1.2rem;margin:1.5rem 0 1rem;background:var(--stone)}
.da-nextbox h3{margin:0 0 .5rem;font-size:var(--fs-h4)}
.da-nextbox ol{margin:0;padding-left:1.2rem}.da-nextbox li{margin:.35rem 0}
/* institutions: four audience routes */
.whowith-link{text-decoration:none;color:inherit;border:1px solid var(--rule);border-radius:12px;padding:1rem 1.1rem;display:flex;flex-direction:column;gap:.3rem;background:#fff}
.whowith-link b{color:var(--navy)}@media (hover:hover){.whowith-link:hover{border-color:var(--blue)}}@media (hover:hover){.whowith-link:hover b{color:var(--blue);text-decoration:underline}}
/* contact: on phones and tablets the form comes first */
@media (max-width:1024px){.consult--contact .consult-in{display:flex!important;flex-direction:column}.consult--contact .consult-in>.book{order:-1;margin-bottom:2rem}}
.fam-more{margin-top:1rem}
/* end of every guide: related service, tool and consultation */
.guide-next{padding:2.5rem 0 1rem}
.guide-next h2{font-size:var(--fs-h3);margin:0 0 1rem}
.gn-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;max-width:1000px}
@media (max-width:1024px){.gn-grid{grid-template-columns:1fr}}
.gn-card{display:flex;flex-direction:column;gap:.3rem;border:1px solid var(--rule);border-radius:12px;padding:1rem 1.1rem;text-decoration:none;color:inherit;background:#fff}
.gn-card b{color:var(--navy)}@media (hover:hover){.gn-card:hover{border-color:var(--blue)}}@media (hover:hover){.gn-card:hover b{color:var(--blue);text-decoration:underline}}
.gn-card--cta{background:var(--navy);border-color:var(--navy)}.gn-card--cta b,.gn-card--cta span{color:#fff!important}
.affil-note{font-size:1rem;color:#5B6B85;margin:1rem auto 0;max-width:1180px;padding:0 24px}
.whowith-grid .whowith-link:not(#_){text-align:left;align-items:flex-start}
@media (max-width:640px){.whowith-grid:not(#_){grid-template-columns:1fr!important}}
.book .hint:not(#_){display:block;color:#5B6B85;font-size:1rem;margin:-.1rem 0 .4rem;font-weight:400}
/* one-sentence agreement above the send button (GOV.UK / DWP declaration pattern) */
.bk-agree,.da-agree{font-size:1rem;color:#5B6B85;margin:1rem 0 .75rem;line-height:1.5}
.bk-agree a,.da-agree a{color:var(--blue)}
.da-points--plain{list-style:none;padding:0;margin:1rem 0 1.5rem}
.da-points--plain li{position:relative;padding:.35rem 0 .35rem 1.6rem}
.da-points--plain li::before{content:"";position:absolute;left:.2rem;top:.85rem;width:.55rem;height:.55rem;border-radius:50%;background:var(--blue)}
.da-agree,.bk-agree{font-size:1rem;color:#5B6B85;margin:1rem 0 .75rem}
/* compact enquiry form */
.book select:not(#_){width:100%;min-height:48px;border:1px solid var(--rule);border-radius:10px;padding:.6rem .8rem;font:inherit;font-size:1rem;background:#fff;color:var(--ink)}
.bk-more{margin:.25rem 0 .75rem}.bk-more summary{cursor:pointer;color:var(--blue);font-weight:500;padding:.4rem 0;list-style:none}
.bk-more summary::-webkit-details-marker{display:none}.bk-more summary::before{content:"+ "}.bk-more[open] summary::before{content:"− "}
.bk-more summary em{color:#5B6B85;font-style:normal;font-weight:400}
/* team: badge fits on one line; fuller introduction on each card */
.pp-role:not(#_){border-radius:8px;white-space:normal}
.pp-sum{display:block;margin-top:.5rem;color:var(--ink-2);font-size:1rem;line-height:1.5}
/* home cards: the card title and each topic are separate links */
.door3 h3 a.door3-link{color:inherit;text-decoration:none}@media (hover:hover){.door3 h3 a.door3-link:hover{text-decoration:underline}}
.door3-tags a{color:inherit;text-decoration:none;display:inline-block}@media (hover:hover){.door3-tags a:hover{text-decoration:underline}}
.door3 a.go{text-decoration:none}@media (hover:hover){.door3 a.go:hover{text-decoration:underline}}
a[href^="https://www.google.com/maps"]{text-decoration:underline;text-underline-offset:3px}
/* ===== Short footer (owner review) ===== */
.ftr .ftr-compact{padding-top:2.5rem;padding-bottom:1.5rem}
.ftr-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 2rem}
.ftr-row .brand:not(#_){color:#fff;text-decoration:none;font-family:"Source Serif 4",Georgia,serif;font-weight:600;font-size:1.75rem!important;line-height:1}
.ftr-links{display:flex;flex-wrap:wrap;gap:.35rem 1.4rem}
.ftr-links a,.ftr-reach a,.ftr-legal a{color:#C3CFE4;text-decoration:none}
@media (hover:hover){.ftr-links a:hover,.ftr-reach a:hover,.ftr-legal a:hover{color:#fff;text-decoration:underline}}
.ftr-reach{display:flex;flex-wrap:wrap;gap:.35rem 1.6rem;margin:1.5rem 0 0;padding:1.25rem 0;border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12)}
.ftr-legal{margin-top:1.25rem}
.ftr-legal nav{display:flex;flex-wrap:wrap;gap:.35rem 1.4rem;margin-bottom:.75rem}
.ftr-legal p{color:#8FA0BD;font-size:1rem;line-height:1.5;margin:0;max-width:70ch}
/* "Talk to us" sections: heading, a small line of contact links, and the form */
.consult-mini{display:flex;flex-wrap:wrap;gap:.35rem 1.4rem;margin:1rem 0 0}
.consult-mini a,.consult-addr a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.consult-addr{color:#C3CFE4;margin:.9rem 0 0;line-height:1.6}
@media (max-width:1024px){.consult .consult-in:not(#_){display:flex!important;flex-direction:column}.consult .consult-in>.book{order:0;margin-top:1.5rem}.consult--contact .consult-in>.book:not(#_){order:0}}

/* ===== Contact section: one centred card (owner review 2) ===== */
.consult .consult-one:not(#_){display:block!important;max-width:560px;margin:0 auto}
.consult-one>.book:not(#_){margin:0 auto!important;width:100%}
.consult:not(#_){padding-top:clamp(2.5rem,6vw,4.5rem);padding-bottom:clamp(2.5rem,6vw,4.5rem)}
.bk-alt{font-size:1rem;color:#5B6B85;margin:1rem 0 0;line-height:1.6;text-align:left}
.bk-alt a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.book .sos:not(#_){margin:.75rem 0 0}

/* ===== Footer, rebuilt: tight, ordered, small ===== */
footer.ftr:not(#_){padding:0!important;margin:0}
.ftr .ftr-compact:not(#_){padding-top:2rem!important;padding-bottom:1.75rem!important}
.ftr-row:not(#_){display:grid;grid-template-columns:1fr;gap:1rem;align-items:start}
.ftr-row .brand:not(#_){font-size:1.5rem!important}
.ftr-links:not(#_){display:grid!important;grid-template-columns:repeat(3,max-content);gap:0 1.75rem}
.ftr-links a:not(#_),.ftr-legal nav a:not(#_){display:inline-flex!important;align-items:center;min-height:40px;padding:0!important;font-size:1rem;line-height:1.3}
.ftr-reach:not(#_){display:flex;flex-direction:column;gap:.15rem;margin:1rem 0 0;padding:1rem 0;border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1)}
.ftr-reach a:not(#_){display:inline-flex;align-items:center;min-height:36px;font-size:1rem}
.ftr-legal:not(#_){margin-top:.75rem}
.ftr-legal nav:not(#_){display:flex;flex-wrap:wrap;gap:0 1.5rem;margin:0 0 .5rem}
.ftr-legal nav a:not(#_){color:#8FA0BD!important}
.ftr-legal p:not(#_){font-size:1rem;color:#7F90AE;line-height:1.5}
@media (min-width:1025px){
  .ftr-row:not(#_){grid-template-columns:auto 1fr;gap:2rem}
  .ftr-links:not(#_){display:flex!important;justify-content:flex-end;gap:0 1.75rem}
  .ftr-reach:not(#_){flex-direction:row;gap:0 2rem}
}
/* enquiry sent: the form is replaced by a clear confirmation panel */
form.is-done>*:not(.form-status){display:none!important}
form.is-done .form-status{display:none!important}
.form-done{border:1px solid #ABEFC6;background:#ECFDF3;border-radius:12px;padding:1.1rem 1.2rem;color:var(--ink)}
.form-done p{margin:.35rem 0}.form-done-h{font-weight:600;font-size:1.25rem;color:#067647;margin-top:0!important}
.form-done a{color:var(--blue)}
/* home: Madinah / Oxford cards readable on small phones (caption under the photo, not over it) */
@media (max-width:640px){
  .found-photos:not(#_){display:grid!important;grid-template-columns:1fr 1fr;gap:.75rem}
  .found-card:not(#_){margin:0!important;transform:none!important;border-radius:12px;overflow:hidden;background:#fff;border:1px solid var(--rule)}
  .found-card img:not(#_){aspect-ratio:4/3;height:auto;object-fit:cover;width:100%}
  .found-card figcaption:not(#_){position:static!important;background:none!important;color:var(--ink)!important;padding:.6rem .7rem .75rem!important;display:flex;flex-direction:column;gap:.15rem}
  .found-card figcaption span:not(#_){position:static!important;align-self:flex-start;font-size:1rem}
  .found-card figcaption b:not(#_){color:var(--navy)!important;font-size:1rem;line-height:1.3}
  .found-card figcaption small:not(#_){color:#5B6B85!important;font-size:1rem;line-height:1.35}
}
@media (max-width:640px){
  .found-card:not(#_){height:auto!important;min-height:0!important;aspect-ratio:auto!important;display:flex;flex-direction:column}
  .found-card::before,.found-card::after{display:none!important;content:none!important}
  .found-card img:not(#_){position:static!important;inset:auto!important;height:auto!important}
}
@media (max-width:640px){.found-card figcaption small:not(#_){overflow-wrap:anywhere;hyphens:auto}}
.consult--top:not(#_){padding-top:1.25rem!important}
@media (min-width:1025px){.consult--top:not(#_){padding-top:3rem!important}}
/* "Pick a matter" explainer (moved from About to Family) */
.approach{padding:var(--sec) 0}
@media (max-width:640px){.approach .pcols{grid-template-columns:1fr}.approach .converge,.approach .node{display:none}}
/* ===== Who we are (rebuilt) ===== */
.ab-tagline{font-family:"Source Serif 4",Georgia,serif;font-size:clamp(1.25rem,2.4vw,1.6rem);color:#fff;margin:.75rem 0 .25rem;line-height:1.3}
.ab-sec:not(#_){padding-top:clamp(2.5rem,6vw,4.5rem);padding-bottom:clamp(2.5rem,6vw,4.5rem)}
.ab-narrow{max-width:760px}
.ab-lead{font-size:var(--fs-lead);line-height:1.6;color:var(--ink-2);margin:1rem 0 0}
.ab-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.5rem}
.ab-card{background:#fff;border:1px solid var(--rule);border-radius:12px;padding:1.4rem 1.3rem}
.ab-card h3{margin:0 0 .5rem;font-size:var(--fs-h3)}.ab-card p{margin:0;color:var(--ink-2)}
.ab-people{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;margin-top:1.5rem}
.ab-person{display:flex;flex-direction:column;gap:.2rem;text-decoration:none;color:inherit}
.ab-person img{width:100%;aspect-ratio:4/5;height:auto;object-fit:cover;border-radius:12px;margin-bottom:.5rem;background:var(--stone)}
.ab-person b{color:var(--navy);font-weight:600}.ab-person span{color:#5B6B85;font-size:1rem}
@media (hover:hover){.ab-person:hover b{color:var(--blue);text-decoration:underline}}
.ab-steps{list-style:none;padding:0;margin:1.5rem 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;counter-reset:s}
.ab-steps li{background:#fff;border:1px solid var(--rule);border-radius:12px;padding:1.3rem;display:flex;flex-direction:column;gap:.35rem;counter-increment:s}
.ab-steps li::before{content:counter(s);width:2rem;height:2rem;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;font-weight:600;margin-bottom:.4rem}
.ab-steps b{color:var(--navy)}.ab-steps span{color:var(--ink-2)}
.ab-more{margin:1.25rem 0 0}.ab-more a{color:var(--blue);font-weight:500}
.ab-note{color:#5B6B85;font-size:1rem;margin-top:1rem}
@media (max-width:1024px){.ab-cards,.ab-steps{grid-template-columns:1fr}.ab-people{grid-template-columns:repeat(3,1fr)}}
@media (max-width:640px){.ab-people{grid-template-columns:repeat(2,1fr)}}
main p.ab-tagline:not(#_):not(#__){font-family:"Source Serif 4",Georgia,serif!important}
.ab-card h3:not(#_),.ab-steps b{font-family:"Source Serif 4",Georgia,serif}
.ab-steps b{font-size:1.15rem;font-weight:600}

/* ===== Final polish (owner review 3): alignment, rhythm, one dark block only ===== */
/* footer lines up exactly with the header: same page width and side padding */
/* the contact section becomes light, so the dark footer is the only dark block at the bottom */
.consult:not(#_){background:var(--stone,#F4F6F9)!important;background-image:none!important}
.consult::before,.consult::after{display:none!important}
.consult .book:not(#_){border:1px solid var(--rule);box-shadow:0 1px 2px rgba(11,31,58,.06)!important}
.consult:not(#_){padding-top:clamp(2.5rem,5vw,3.5rem)!important;padding-bottom:clamp(2.5rem,5vw,3.5rem)!important}
/* no oversized gap before the contact card */
section:has(+ .consult):not(#_){padding-bottom:clamp(2rem,4vw,3rem)!important}
/* footer text: one size, one weight, calm hierarchy */
.ftr-links a:not(#_){color:#E4EAF5!important;font-weight:500}
.ftr-reach a:not(#_){color:#C3CFE4!important;font-weight:400}
.ftr-legal nav a:not(#_){color:#9FB0CC!important;font-weight:400}
.ftr-legal p:not(#_){color:#8496B5!important}
/* light contact sections: dark text everywhere outside the card too */
.consult h2:not(#_),.consult .h2:not(#_){color:var(--navy)!important}
.consult .lg:not(#_),.consult-addr:not(#_){color:var(--ink-2)!important}
.consult .consult-mini a:not(#_),.consult-addr a:not(#_){color:var(--blue)!important}
.consult .eyebrow:not(#_){color:var(--blue)!important}
/* calmer vertical rhythm: less empty space between sections (was up to 128px top and bottom) */
:root:not(#_){--sec:clamp(2.75rem,5vw,4.5rem)}
@media (max-width:640px){:root:not(#_){--sec:2.5rem}}
/* long-guide headers line up with the logo like every other page */
.mag-hero .wrap:not(#_){margin-left:auto!important;margin-right:auto!important}
.mag-hero .mag-hero-in:not(#_){max-width:var(--wrap)!important;width:100%;margin-left:auto!important;margin-right:auto!important;padding-inline:var(--gutter)!important;box-sizing:border-box}
.mag-hero :is(.mag-lead,.mag-standfirst,p):not(#_){margin-left:0!important;padding-left:0!important;text-indent:0!important;max-width:760px}
.ab-lead--sm{font-size:var(--fs-body)!important;margin-top:.5rem!important;max-width:760px}

/* ===== Home: "Rooted in Madinah. Researched at Oxford. Practised in English law." — three pillars ===== */
.pillars{background:var(--stone,#F4F6F9);padding:var(--sec) 0;overflow:hidden}
.pl-head{max-width:820px}
.pl-title:not(#_){font-family:"Source Serif 4",Georgia,serif;font-size:clamp(2rem,4.2vw,3.25rem);line-height:1.12;color:var(--navy);margin:0;font-weight:600}
.pl-line{display:block;color:#9AA7BD;transition:color .45s ease}
.pl-line.is-on{color:var(--navy)}@media (hover:hover){.pillars:not(:hover) .pl-line{color:var(--navy)}}
@media (hover:hover){.pillars:hover .pl-line:not(.is-on){color:#B3BDCD}}
.pl-lede:not(#_){margin:1rem 0 0;color:var(--ink-2);font-size:var(--fs-lead);max-width:640px}
.pl-track{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:2.25rem}
.pl-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--rule);border-radius:16px;overflow:hidden;text-decoration:none;color:inherit;
  transition:transform .6s ease,box-shadow .35s ease,border-color .35s ease;transform:translateY(24px)}
.pillars.is-in .pl-card{transform:none}
.pillars.is-in .pl-card:nth-child(2){transition-delay:.12s}.pillars.is-in .pl-card:nth-child(3){transition-delay:.24s}
.pl-card:focus-visible,.pl-card.is-on{transform:translateY(-4px);box-shadow:0 14px 34px rgba(11,31,58,.12);border-color:#C9D3E3}@media (hover:hover){.pl-card:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(11,31,58,.12);border-color:#C9D3E3}}
.pl-media{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--navy)}
.pl-media img{width:100%;height:100%;object-fit:cover;transform:scale(1.02);transition:transform 6s ease}
.pl-card.is-on .pl-media img{transform:scale(1.09)}@media (hover:hover){.pl-card:hover .pl-media img{transform:scale(1.09)}}
.pl-media--law{display:grid;place-items:center;background:radial-gradient(120% 90% at 30% 20%,#1B3A6B 0%,#0B1F3A 70%);color:#D9B26A}
.pl-law-art{width:38%;height:auto;opacity:.95;transition:transform 1.2s ease}
.pl-card.is-on .pl-law-art{transform:scale(1.06)}@media (hover:hover){.pl-card:hover .pl-law-art{transform:scale(1.06)}}
.pl-body{display:flex;flex-direction:column;gap:.3rem;padding:1.15rem 1.25rem 1.35rem}
.pl-place{font-size:.95rem;letter-spacing:.08em;text-transform:uppercase;color:#7A5A1E;font-weight:600}
.pl-name{font-family:"Source Serif 4",Georgia,serif;font-size:1.3rem;font-weight:600;color:var(--navy)}
.pl-role{color:var(--ink-2);line-height:1.5}
.pl-foot{display:flex;align-items:center;justify-content:space-between;margin-top:1.5rem}
.pl-link{color:var(--blue);font-weight:500}
.pl-dots{display:none;gap:.5rem}.pl-dots i{width:8px;height:8px;border-radius:50%;background:#C3CDDC;transition:background .3s,width .3s}
.pl-dots i.is-on{background:var(--navy);width:22px;border-radius:6px}
/* phones and small tablets: swipe the three pillars sideways */
@media (max-width:900px){
  .pl-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:1rem;margin-left:calc(-1*var(--gutter));margin-right:calc(-1*var(--gutter));padding:0 var(--gutter) .5rem;scrollbar-width:none}
  .pl-track::-webkit-scrollbar{display:none}
  .pl-card{flex:0 0 84%;scroll-snap-align:center}
  .pl-dots{display:flex}
  .pl-line{color:var(--navy)}
}
@media (prefers-reduced-motion:reduce){.pl-card,.pl-media img,.pl-law-art,.pl-line{transition:none!important}.pl-card{opacity:1;transform:none}}
.pl-place:not(#_),.pl-role:not(#_){font-size:1rem}

/* ===== Home: Madinah and Oxford, joined at LawFiq (two pillars and a bridge) ===== */
.pl2 .pl-stage{display:grid;grid-template-columns:1fr minmax(150px,220px) 1fr;align-items:center;gap:0;margin-top:2.25rem}
.pl2 .pl-card{transform:translateY(24px);transition:transform .7s ease,box-shadow .35s ease,border-color .35s ease,opacity .35s ease}
.pl2.is-in .pl-card{transform:none}
.pl2.is-in .pl-card[data-pl=oxford]{transition-delay:.15s}
.pl2 .pl-media{aspect-ratio:16/10}
.pl-disc{font-family:"Source Serif 4",Georgia,serif;font-size:1.15rem;color:var(--navy);font-weight:600;margin-top:.1rem}
.pl2 .pl-name{font-family:"Inter",system-ui,sans-serif;font-size:1rem;font-weight:600;color:var(--ink-2);margin-top:.35rem}
.pl2 .pl-role{color:#5B6B85}
.pl2.has-focus .pl-card:not(.is-on){opacity:.72}
/* the bridge: two lines that draw in, meeting at the LawFiq seal */
.pl-bridge{position:relative;height:100%;min-height:120px;display:grid;place-items:center}
.pl-wire{position:absolute;overflow:visible}
.pl-wire line{stroke:#B8913F;stroke-width:2.5;stroke-dasharray:6 7;vector-effect:non-scaling-stroke}
.pl-wire--h{left:0;right:0;top:50%;width:100%;height:20px;transform:translateY(-50%)}
.pl-wire--v{display:none}
.pl2 .pl-wire line{stroke-dashoffset:0}
.pl2.is-in .pl-wire line{animation:pl-flow 2.4s linear infinite}
@keyframes pl-flow{to{stroke-dashoffset:-26}}
.pl-seal{position:relative;z-index:1;width:112px;height:112px;border-radius:50%;background:var(--navy);display:grid;place-items:center;
  box-shadow:0 0 0 8px var(--stone,#F4F6F9),0 0 0 9px #C9A45C;transform:scale(.85);opacity:0;transition:transform .8s cubic-bezier(.2,.8,.2,1) .35s,opacity .6s ease .35s}
.pl2.is-in .pl-seal{transform:scale(1);opacity:1}
.pl-seal-in{font-family:"Source Serif 4",Georgia,serif;color:#fff;font-size:1.35rem;font-weight:600}
.pl-seal-in b{color:#6E95F5}
.pl-bridge.is-on .pl-seal{transform:scale(1.06)}
.pl2.is-in .pl-seal::after{content:"";position:absolute;inset:-9px;border-radius:50%;border:1px solid #C9A45C;animation:pl-pulse 3.2s ease-out infinite}
@keyframes pl-pulse{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.35);opacity:0}}
.pl-joined{text-align:center;margin:1.75rem auto 0;max-width:620px;color:var(--ink-2);font-size:var(--fs-lead)}
.pl2 .pl-foot{justify-content:center}
/* phones and tablets: Madinah on top, the seal in the middle, Oxford below */
@media (max-width:900px){
  .pl2 .pl-stage{grid-template-columns:1fr;gap:0}
  .pl-bridge{min-height:150px}
  .pl-wire--h{display:none}
  .pl-wire--v{display:block;top:0;bottom:0;left:50%;width:20px;height:100%;transform:translateX(-50%)}
  .pl-seal{width:96px;height:96px}
  .pl2 .pl-line{color:var(--navy)}
}
@media (prefers-reduced-motion:reduce){.pl2 .pl-wire line,.pl2 .pl-seal::after{animation:none!important}.pl-seal{transform:none;opacity:1}}
/* phones: the whole section fits on one screen — two small cards side by side, the LawFiq seal between them */
@media (max-width:640px){
  .pl2:not(#_){padding-top:2rem;padding-bottom:2rem}
  .pl2 .pl-title:not(#_){font-size:1.7rem;line-height:1.15}
  .pl2 .pl-lede:not(#_){font-size:1rem;margin-top:.6rem}
  .pl2 .pl-stage:not(#_){display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:1.25rem;position:relative}
  .pl2 .pl-card{border-radius:12px}
  .pl2 .pl-media{aspect-ratio:4/3}
  .pl2 .pl-body{padding:.6rem .7rem .75rem;gap:.15rem}
  .pl2 .pl-place:not(#_){text-transform:none;letter-spacing:0;font-size:1rem;line-height:1.3}
  .pl2 .pl-disc{font-size:1rem;line-height:1.3}
  .pl2 .pl-name:not(#_){font-size:1rem;margin-top:.15rem;line-height:1.3}
  .pl2 .pl-role{display:none}
  /* the seal sits over the meeting point of the two photos */
  .pl2 .pl-bridge{position:absolute;left:50%;top:0;width:0;height:calc((100vw - 2*var(--gutter) - .75rem)/2*.75);min-height:0;transform:translateX(-50%);z-index:2;display:grid;place-items:center}
  .pl2 .pl-wire--v,.pl2 .pl-wire--h{display:none}
  .pl2 .pl-seal{width:64px;height:64px;box-shadow:0 0 0 5px #fff,0 0 0 6px #B8913F}
  .pl2 .pl-seal-in{font-size:.95rem}
  .pl2 .pl-joined{display:none}
  .pl2 .pl-foot{margin-top:1rem}
}
@media (max-width:640px){
  .pl2 .pl-bridge:not(#_){width:64px;left:50%;transform:translateX(-50%)}
  .pl2 .pl-card:not(#_){transform:none!important}
}
/* short phones (for example iPhone SE): a little tighter so it still fits on one screen */
@media (max-width:640px) and (max-height:720px){
  .pl2 .pl-title:not(#_){font-size:1.45rem}
  .pl2 .pl-lede{display:none}
  .pl2 .pl-disc{display:none}
  .pl2:not(#_){padding-top:1.25rem;padding-bottom:1.25rem}
  .pl2 .pl-stage:not(#_){margin-top:.9rem}
}
@media (max-width:360px) and (max-height:720px){.pl2 .pl-title:not(#_){font-size:1.3rem}.pl2 .pl-foot{margin-top:.6rem}}
@media (max-width:360px) and (max-height:720px){.pl2:not(#_):not(#__){padding-top:.9rem;padding-bottom:.9rem}}
@media (max-width:640px){.pl2 .pl-seal-in:not(#_){font-size:1rem}}
/* Madinah / Oxford section in the site's own colours and type (navy and blue, no gold) */
.pl2 .pl-place:not(#_){color:var(--blue);text-transform:none;letter-spacing:0;font-family:"Inter",system-ui,sans-serif;font-weight:600;font-size:1rem}
.pl2 .pl-disc:not(#_){font-family:"Source Serif 4",Georgia,serif;color:var(--navy);font-weight:600}
.pl2 .pl-name:not(#_){color:var(--ink-2);font-family:"Inter",system-ui,sans-serif}
.pl2 .pl-wire line:not(#_){stroke:#6E95F5}
.pl2 .pl-seal:not(#_){box-shadow:0 0 0 8px var(--stone,#F4F6F9),0 0 0 9px #6E95F5}
.pl2.is-in .pl-seal::after{border-color:#6E95F5!important}
.pl2 .pl-seal-in b{color:#6E95F5}
@media (max-width:640px){.pl2 .pl-seal:not(#_){box-shadow:0 0 0 5px #fff,0 0 0 6px #6E95F5}}
/* final design pass: headings sit at the top of their row; labels line up with their content */
.doors-head2:not(#_){align-items:start!important}
.whowith-lbl:not(#_){text-align:left!important}
.fam-more:not(#_){margin-top:1.25rem}
.book>.bk-head:first-child:not(#_){margin-bottom:1rem}
/* four steps sit in one row on laptops and 2 x 2 on tablets, never 3 + 1 */
.fam-steps:has(> :nth-child(4):last-child):not(#_){grid-template-columns:repeat(4,1fr)!important}
@media (max-width:1024px){.fam-steps:has(> :nth-child(4):last-child):not(#_){grid-template-columns:repeat(2,1fr)!important}}
@media (max-width:640px){.fam-steps:has(> :nth-child(4):last-child):not(#_){grid-template-columns:1fr!important}}

/* ===== Enquiry form, refined (owner review): calm card, clear fields, one tidy footer ===== */
.book:not(#_){background:#fff;border:1px solid #E3E8F0!important;border-radius:16px!important;padding:1.75rem 1.6rem 1.4rem!important;box-shadow:0 10px 30px rgba(11,31,58,.07)!important;position:relative;overflow:hidden}
.book::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--navy),var(--blue))}
.book .bk-head:not(#_){border-bottom:0!important;padding-bottom:0!important;margin-bottom:1.1rem!important}
.book .bk-title:not(#_){font-family:"Source Serif 4",Georgia,serif!important;font-size:1.5rem!important;font-weight:600;color:var(--navy);margin:0 0 .35rem}
.book .bk-sub:not(#_){color:#5B6B85;margin:0;line-height:1.5}
.book form label:not(.safe-check):not(#_){display:block;margin:0 0 .95rem}
.book .lbl:not(#_){display:block;font-weight:600;color:var(--navy);margin-bottom:.4rem;font-size:1rem}
.book .lbl em{font-style:normal;font-weight:400;color:#6B7A93}
.book input[type=text]:not(#_),.book input[type=email]:not(#_),.book input[type=tel]:not(#_),.book select:not(#_),.book textarea:not(#_){
  width:100%;min-height:52px;border:1.5px solid #D5DCE7!important;border-radius:10px!important;background:#FAFBFD!important;padding:.75rem .9rem!important;font:inherit;font-size:1rem!important;color:var(--ink);transition:border-color .15s,box-shadow .15s,background .15s}
.book textarea:not(#_){min-height:110px}
.book input:focus:not(#_),.book select:focus:not(#_),.book textarea:focus:not(#_){outline:none!important;border-color:var(--blue)!important;background:#fff!important;box-shadow:0 0 0 4px rgba(29,78,216,.14)!important}
.book select:not(#_){appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%230B1F3A' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 1rem center!important;padding-right:2.5rem!important}
.book .bk-more:not(#_){margin:.1rem 0 1rem}
.book .bk-more summary:not(#_){display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .8rem;border:1.5px dashed #C9D3E3;border-radius:999px;color:var(--blue);font-weight:600}
.book .bk-more[open] summary:not(#_){margin-bottom:.7rem}
.book .bk-agree:not(#_){font-size:1rem;color:#5B6B85;margin:.25rem 0 .9rem;line-height:1.5}
.book button[type=submit]:not(#_){width:100%;min-height:54px;border-radius:12px!important;font-size:1.05rem!important;font-weight:600;letter-spacing:.01em}
.book .sos:not(#_),.book .bk-call:not(#_),.book .bk-alt:not(#_){text-align:center;margin:.8rem 0 0;color:#5B6B85;font-size:1rem}
.book .bk-call:not(#_){padding-top:.9rem;margin-top:1rem!important;border-top:1px solid #EDF0F5}
.book .bk-call a:not(#_){color:var(--navy);font-weight:600;text-decoration:none;white-space:nowrap}
.book .bk-call a::before{content:"";display:inline-block;width:14px;height:14px;margin-right:.4rem;vertical-align:-2px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231D4ED8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1.9.4 1.8.7 2.7a2 2 0 0 1-.5 2.1L8 9.8a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.7.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E") no-repeat center/contain}
@media (hover:hover){.book .bk-call a:hover{color:var(--blue);text-decoration:underline}}
@media (max-width:640px){.book:not(#_){padding:1.4rem 1.15rem 1.2rem!important;border-radius:14px!important}.book .bk-title:not(#_){font-size:1.35rem!important}}
main .book .bk-title:not(#_):not(#__),.book .bk-title:not(#_):not(#__){font-family:"Source Serif 4",Georgia,serif!important;letter-spacing:0}
.book .form-status:not(#_):not(:empty){margin:.2rem 0 .8rem}
.book [aria-invalid=true]:not(#_){border-color:#B42318!important;background:#FEF3F2!important}

/* ===== Trust strip (true facts, under the hero) ===== */
.trust{background:#fff;border-bottom:1px solid var(--rule)}
.trust-list{list-style:none;margin:0;padding:1.1rem 0;display:grid;grid-template-columns:repeat(5,1fr);gap:1rem 1.5rem}
.trust-list li{display:flex;align-items:flex-start;gap:.6rem;color:var(--ink-2);font-size:1rem;line-height:1.4}
.trust-list svg{flex:0 0 22px;width:22px;height:22px;color:var(--blue);margin-top:1px}
.trust-list b{color:var(--navy);font-weight:600}
@media (max-width:1024px){.trust-list{grid-template-columns:repeat(2,1fr)}.trust-list li:last-child{grid-column:1/-1}}
@media (max-width:640px){.trust-list{grid-template-columns:1fr;gap:.7rem;padding:1rem 0}.trust-list li:last-child{grid-column:auto}}
/* ===== Client reviews (shown only when genuine reviews are added in reviews.js) ===== */
.reviews{padding:var(--sec) 0;background:#fff}
.rv-eyebrow{color:var(--blue);font-weight:600;margin:0 0 .3rem}
.rv-row{display:grid;grid-template-columns:220px 1fr;gap:1.5rem;align-items:start;margin-top:1.5rem}
.rv-score{display:flex;flex-direction:column;gap:.3rem;text-align:center;padding:1rem}
.rv-word{font-family:"Source Serif 4",Georgia,serif;font-size:1.5rem;color:var(--navy)}
.rv-stars{color:#E3A008;letter-spacing:.1em;font-size:1.25rem}
.rv-count{color:var(--ink-2)}.rv-src{color:var(--blue)}
.rv-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}
.rv-card{margin:0;background:var(--stone,#F4F6F9);border:1px solid var(--rule);border-radius:14px;padding:1.1rem 1.2rem}
.rv-card figcaption{display:flex;gap:.7rem;align-items:center;margin-bottom:.4rem}
.rv-card figcaption b{display:block;color:var(--navy)}.rv-card small{color:#5B6B85;font-size:1rem}
.rv-av{width:40px;height:40px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:600}
.rv-card blockquote{margin:.4rem 0 0;color:var(--ink);line-height:1.55}
@media (max-width:760px){.rv-row{grid-template-columns:1fr}}

/* ===== Home: Madinah and Oxford as one picture, joined by LawFiq ===== */
.duo{background:var(--navy);padding:0}
.duo-stage{position:relative;display:flex;height:clamp(440px,72vh,640px);overflow:hidden;isolation:isolate}
.duo-half{position:relative;flex:1 1 0;margin:0;overflow:hidden;transition:flex-grow 1s cubic-bezier(.2,.8,.2,1)}
.duo-half img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.12);transition:transform 9s ease-out,filter .8s ease}
.duo.is-in .duo-half img{transform:scale(1.02)}
.duo-l img{object-position:50% 55%}.duo-r img{object-position:50% 40%}
/* the two images slide together from the edges and meet in the middle */
.duo-l{transform:translateX(-6%);opacity:.0;transition:flex-grow 1s cubic-bezier(.2,.8,.2,1),transform 1.1s cubic-bezier(.2,.8,.2,1),opacity 1.1s ease}
.duo-r{transform:translateX(6%);opacity:0;transition:flex-grow 1s cubic-bezier(.2,.8,.2,1),transform 1.1s cubic-bezier(.2,.8,.2,1),opacity 1.1s ease}
.duo.is-in .duo-l,.duo.is-in .duo-r{transform:none;opacity:1}
/* shade for legible words: top for the heading, bottom for the place names */
.duo-stage::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(11,31,58,.78) 0%,rgba(11,31,58,.25) 38%,rgba(11,31,58,0) 55%,rgba(11,31,58,.55) 100%)}
.duo-half figcaption{position:absolute;z-index:2;bottom:1.4rem;color:#fff;font-size:1rem;font-weight:500;letter-spacing:.02em;display:flex;align-items:center;gap:.6rem;text-shadow:0 1px 8px rgba(0,0,0,.35)}
.duo-l figcaption{left:clamp(1rem,4vw,3rem)}.duo-r figcaption{right:clamp(1rem,4vw,3rem)}
.duo-l figcaption::before,.duo-r figcaption::after{content:"";width:28px;height:1px;background:rgba(255,255,255,.7)}
/* the seam: a thin light line with the LawFiq seal, moving with the join */
.duo-seam{position:relative;z-index:3;flex:0 0 0;width:0}
.duo-seam::before{content:"";position:absolute;top:0;bottom:0;left:-1px;width:2px;background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.85) 30%,rgba(255,255,255,.85) 70%,rgba(255,255,255,0));transform:scaleY(0);transition:transform 1.2s ease .5s}
.duo.is-in .duo-seam::before{transform:scaleY(1)}
.duo-seal{position:absolute;left:50%;top:62%;transform:translate(-50%,-50%) scale(.6);opacity:0;width:104px;height:104px;border-radius:50%;
  display:grid;place-items:center;background:var(--navy);color:#fff;font-family:"Source Serif 4",Georgia,serif;font-weight:600;font-size:1.3rem;
  box-shadow:0 0 0 6px rgba(255,255,255,.9),0 18px 40px rgba(0,0,0,.35);transition:transform .9s cubic-bezier(.2,.8,.2,1) .8s,opacity .6s ease .8s}
.duo-seal b{color:#6E95F5}
.duo.is-in .duo-seal{transform:translate(-50%,-50%) scale(1);opacity:1}
/* the words: few, centred, over the picture */
.duo-copy{position:absolute;z-index:4;left:0;right:0;top:clamp(1.8rem,6vh,3.4rem);text-align:center;padding:0 1rem;color:#fff}
.duo-h:not(#_){font-family:"Source Serif 4",Georgia,serif;color:#fff;font-size:clamp(1.9rem,4vw,3.2rem);line-height:1.12;margin:0;font-weight:600;text-shadow:0 2px 18px rgba(0,0,0,.25)}
.duo-p:not(#_){margin:.6rem 0 0;color:#DCE5F5;font-size:clamp(1.05rem,1.6vw,1.3rem);font-family:"Source Serif 4",Georgia,serif}
.duo-link:not(#_){display:inline-block;margin-top:.9rem;color:#fff;font-weight:500;border-bottom:1px solid rgba(255,255,255,.6);text-decoration:none;padding-bottom:2px}
@media (hover:hover){.duo-link:hover{border-bottom-color:#fff}}
/* hover a side: that picture opens a little wider; the seal follows the join */
@media (hover:hover) and (min-width:900px){
  @media (hover:hover){.duo-stage:has(.duo-l:hover) .duo-l,.duo-stage:has(.duo-r:hover) .duo-r{flex-grow:1.35}}
  @media (hover:hover){.duo-half:hover img{filter:saturate(1.08)}}
}
/* phones: the same idea, sized to fit one screen */
@media (max-width:640px){
  .duo-stage{height:min(560px,calc(100svh - 170px));min-height:420px}
  .duo-seal{width:76px;height:76px;font-size:1.05rem;top:60%}
  .duo-half figcaption{bottom:1rem;font-size:1rem;max-width:44vw;line-height:1.3}
  .duo-l figcaption::before,.duo-r figcaption::after{display:none}
  .duo-copy{top:1.4rem}
}
@media (prefers-reduced-motion:reduce){.duo-half,.duo-half img,.duo-seal,.duo-seam::before{transition:none!important;transform:none!important;opacity:1!important}.duo-seal{transform:translate(-50%,-50%)!important}}
.duo-copy>*:not(#_){margin-left:auto!important;margin-right:auto!important;max-width:none!important;text-align:center!important}
.duo-copy .duo-p:not(#_):not(#__){font-family:"Source Serif 4",Georgia,serif!important}
.duo-seal>span{white-space:nowrap}
@media (max-width:640px){.duo-l img{object-position:48% 60%}.duo-r img{object-position:45% 40%}}

/* ===== Contact section: words on the left, the form on the right (no empty space) ===== */
.consult .consult-split:not(#_){display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,500px);gap:clamp(2rem,5vw,5rem);align-items:center;max-width:var(--wrap)!important}
.consult-split>.book:not(#_){margin:0!important;width:100%}
.cs-side{max-width:480px}
.cs-h:not(#_){font-family:"Source Serif 4",Georgia,serif;font-size:clamp(1.9rem,3.4vw,2.6rem);line-height:1.12;color:var(--navy);margin:0;font-weight:600}
.cs-p:not(#_){margin:.9rem 0 0;color:var(--ink-2);font-size:var(--fs-lead);line-height:1.55}
.cs-list{list-style:none;padding:0;margin:1.3rem 0 0;display:grid;gap:.7rem}
.cs-list li{display:flex;gap:.65rem;align-items:center;color:var(--navy);font-weight:500}
.cs-list svg{flex:0 0 26px;width:26px;height:26px;padding:5px;border-radius:50%;background:#E8EEFB;color:var(--blue)}
.cs-call:not(#_){margin:1.4rem 0 0;color:var(--ink-2)}
.cs-call a{color:var(--navy);font-weight:600;white-space:nowrap}
.cs-addr:not(#_){margin:.8rem 0 0;color:var(--ink-2);line-height:1.6}
.cs-addr a{color:var(--blue)}
@media (max-width:900px){
  .consult .consult-split:not(#_){grid-template-columns:1fr;gap:1.5rem;max-width:620px!important}
  .cs-side{max-width:none}
  .cs-list{grid-template-columns:1fr}
}
@media (max-width:900px){.consult--contact .consult-split>.book:not(#_){order:-1}}
/* Family: prenuptial agreements highlight */
.prenup-band{padding:0 0 var(--sec)}
.pb-in{display:flex;align-items:center;justify-content:space-between;gap:1.5rem 2.5rem;flex-wrap:wrap;border-radius:16px;padding:clamp(1.4rem,3vw,2.2rem) clamp(1.3rem,3vw,2.4rem);
  background:radial-gradient(120% 140% at 0% 0%,#1B3A6B 0%,#0B1F3A 65%);color:#fff}
.pb-h:not(#_){font-family:"Source Serif 4",Georgia,serif;color:#fff;font-size:clamp(1.5rem,2.6vw,2rem);margin:0}
.pb-p:not(#_){color:#C9D5EA;margin:.45rem 0 0;max-width:620px;font-size:var(--fs-lead)}
.pb-in .btn{flex:0 0 auto}
@media (max-width:640px){.pb-in .btn{width:100%;justify-content:center}}
/* Tools page: two tools fill the row evenly */
.tools-grid:has(> :nth-child(2):last-child):not(#_){grid-template-columns:repeat(2,minmax(0,1fr))!important}
@media (max-width:640px){.tools-grid:has(> :nth-child(2):last-child):not(#_){grid-template-columns:1fr!important}}

/* ===== Ask LawFiq ===== */
.ask{max-width:820px;margin:0 auto;background:#fff;border:1px solid #E3E8F0;border-radius:16px;box-shadow:0 10px 30px rgba(11,31,58,.07);padding:clamp(1.2rem,3vw,2rem);position:relative;overflow:hidden}
.ask::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--navy),var(--blue))}
.ask-try{font-weight:600;color:var(--navy);margin:0 0 .6rem}
.ask-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.2rem}
.ask-chip{font:inherit;font-size:1rem;border:1.5px solid #D5DCE7;background:#FAFBFD;color:var(--navy);border-radius:999px;padding:.55rem .95rem;cursor:pointer;text-align:left}
@media (hover:hover){.ask-chip:hover{border-color:var(--blue);background:#F4F7FE}}
.ask-log{display:flex;flex-direction:column;gap:.9rem;margin-bottom:1rem}
.ask-msg p{margin:0}
.ask-me{align-self:flex-end;max-width:85%;background:var(--navy);color:#fff;border-radius:14px 14px 4px 14px;padding:.7rem 1rem}
.ask-ai{align-self:stretch;background:#F6F8FB;border:1px solid #E6EAF0;border-radius:14px 14px 14px 4px;padding:1rem 1.1rem}
.ask-wait p{color:#5B6B85;animation:askp 1.4s ease-in-out infinite}@keyframes askp{50%{opacity:.45}}
.ask-ans{color:var(--ink);line-height:1.6}
.ask-ans[lang],.ask-ai :lang(ur),.ask-ai :lang(ar){direction:rtl}
.ask-src{margin-top:.9rem;padding-top:.8rem;border-top:1px solid #E6EAF0}
.ask-src p{font-weight:600;color:var(--navy);margin:0 0 .35rem}
.ask-src ul{margin:0;padding-left:1.1rem}.ask-src li{margin:.2rem 0}.ask-src a{color:var(--blue)}
.ask-cta{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem;margin-top:1rem}
.ask-cta span{color:#5B6B85}.ask-cta span a{color:var(--navy);font-weight:600}
.ask-safe{background:#FEF3F2;border:1px solid #FECDCA;border-radius:10px;padding:.75rem .9rem;margin-bottom:.8rem;color:#7A271A}
.ask-safe a{color:#7A271A;font-weight:600}
.ask-lbl{display:block;font-weight:600;color:var(--navy)}
.ask-hint{margin:.2rem 0 .5rem;color:#5B6B85;font-size:1rem}
.ask-row{display:flex;gap:.6rem;align-items:stretch}
.ask-row textarea{flex:1;min-height:56px;border:1.5px solid #D5DCE7;border-radius:12px;background:#FAFBFD;padding:.8rem .9rem;font:inherit;font-size:1rem;resize:vertical}
.ask-row textarea:focus{outline:none;border-color:var(--blue);background:#fff;box-shadow:0 0 0 4px rgba(29,78,216,.14)}
.ask-btn:not(#_){min-width:96px;border-radius:12px!important}
.ask-note{margin:1rem 0 0;color:#5B6B85;font-size:1rem;line-height:1.5}
.ask-note a{color:var(--blue)}
@media (max-width:640px){.ask-row{flex-direction:column}.ask-btn:not(#_){width:100%;min-height:52px}.ask-me{max-width:92%}}
.ask-invite{display:flex;align-items:center;justify-content:space-between;gap:.8rem 1.4rem;flex-wrap:wrap;background:#F5F8FF;border:1px solid #C7D7FE;border-radius:12px;padding:1rem 1.2rem;margin:0 0 1.5rem}
.ask-invite b{color:var(--navy)}.ask-invite span{color:var(--ink-2)}
.ask-invite .btn.btn-primary:not(#_):not(#__){color:#fff!important}

/* ===================================================================
   Final-audit fixes, October 2026. Kept in one block so they are easy to find.
   =================================================================== */
/* Reveal: content is visible without JavaScript; motion respects user settings */
@media (prefers-reduced-motion:reduce){.js .rv{opacity:1;transform:none;transition:none}}

/* Section navigation: shown under the main menu on section pages */
.secnav{background:var(--mist);border-bottom:1px solid var(--line)}
.secnav-in{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter);display:flex;align-items:center;gap:.25rem 1.6rem;overflow-x:auto;scrollbar-width:none;min-height:48px;white-space:nowrap}
.secnav-in::-webkit-scrollbar{display:none}
.secnav-lbl{font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding-right:.4rem;border-right:1px solid var(--line-2);margin-right:.2rem}
.secnav a{font-size:.9rem;color:var(--ink-2);text-decoration:none;padding:.85rem 0;border-bottom:2px solid transparent}
@media (hover:hover){.secnav a:hover{color:var(--navy)}}
.secnav a[aria-current="page"]{color:var(--navy);font-weight:600;border-bottom-color:var(--navy)}
.secnav a:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:2px}

/* Short pages (application start pages): footer sits at the bottom, no dark gap below it */
html{background:var(--white)}
body{min-height:100vh;display:flex;flex-direction:column}
body>main,body>#main{flex:1 0 auto}

/* Headlines: wider measure, balanced lines (no 4-line stacks) */
h1.shero-h1:not(#_){max-width:26ch;text-wrap:balance}
.mag-hero h1:not(#_){max-width:24ch;text-wrap:balance}
h1,h2,h3{text-wrap:balance}

/* Drop caps removed: they broke on narrow letters ("I n Islam") */
.mag-lead::first-letter{float:none!important;font:inherit!important;color:inherit!important;padding:0!important;line-height:inherit!important}

/* WhatsApp is a family-client channel: hidden in the quick-action bar on business and institutional pages */
.mcta--pro .wa{display:none!important}

/* "We are not / We are" panels: brand neutrals instead of red/green alert colours */
.wb-col-no:not(#_){background:var(--mist);border:1px solid var(--line)}
.wb-col-yes:not(#_){background:#fff;border:1px solid var(--line-2);box-shadow:var(--shadow-sm)}
.wb-col-no li::before{color:var(--muted)!important}
.wb-col-yes li::before{color:var(--navy)!important}

/* Homepage photo banner on phones: the seal no longer covers the captions */
@media (max-width:640px){
  .duo-seam:not(#_){display:none}
  .duo-half figcaption:not(#_){font-size:.78rem;line-height:1.3;left:.75rem;right:.75rem}
}

/* Tools panel labels: the label never wraps; the note drops below on narrow screens */
.ta-label:not(#_){flex-wrap:wrap;row-gap:.25rem}
.ta-label .ta-live:not(#_){white-space:nowrap}

/* ===================================================================
   Footer (rebuilt October 2026). Self-contained: replaces .ftr, .ftr-top,
   .ftr-base, .ftr-compact, .ftr-row, .ftr-reach and .ftr-legal.
   Font sizes carry !important because an older rule forces every
   footer a/p/li/h3 to 1rem.
   =================================================================== */
.lf-ftr{background:#07142A;color:#AEBBD3;border-top:1px solid rgba(169,193,245,.14);line-height:1.55}
.lf-ftr .lf-in{max-width:var(--wrap);margin:0 auto;padding:clamp(3rem,5vw,4.5rem) var(--gutter) 1.75rem}
.lf-ftr ul{list-style:none;margin:0;padding:0}
.lf-ftr a{color:#D5DEEE;text-decoration:none}
@media (hover:hover){.lf-ftr a:hover{color:#fff;text-decoration:underline;text-underline-offset:.2em}}
.lf-ftr a:focus-visible{outline:2px solid #7AA2F0;outline-offset:3px;border-radius:2px}
.lf-ftr a[aria-current="page"]{color:#fff;font-weight:600}
.lf-ftr a,.lf-ftr p,.lf-ftr li,.lf-ftr span{font-size:.9375rem!important}

/* Row 1: brand and contact side by side */
.lf-ftr .lf-top{display:grid;gap:2.75rem;padding-bottom:2.75rem}
.lf-ftr .lf-brandcol{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.5rem 3rem;align-items:start;padding-bottom:2.5rem;border-bottom:1px solid rgba(169,193,245,.14)}
.lf-ftr .lf-brand{display:inline-block;font-family:var(--serif);font-weight:600;font-size:1.875rem!important;line-height:1;color:#fff;letter-spacing:-.01em}
@media (hover:hover){.lf-ftr .lf-brand:hover{text-decoration:none}}
.lf-ftr .lf-brand .lf-stop{color:#7AA2F0;font-size:inherit!important}
.lf-ftr .lf-tag{margin:.9rem 0 0;max-width:42ch;color:#AEBBD3}
.lf-ftr .lf-brandcol .lf-brand,.lf-ftr .lf-brandcol .lf-tag{grid-column:1}
.lf-ftr .lf-contact{grid-column:2;grid-row:1/3;display:grid;grid-template-columns:repeat(2,auto);gap:.9rem 2.5rem}
.lf-ftr .lf-contact li{display:grid;grid-template-columns:18px auto;gap:.65rem;align-items:start}
.lf-ftr .lf-ic{display:flex;align-items:center;justify-content:center;height:1.45em}
.lf-ftr .lf-ic svg{width:17px;height:17px;stroke:#7F93B8;fill:none;stroke-width:1.8}
.lf-ftr .lf-contact span:not(.lf-ic){color:#AEBBD3}

/* Row 2: five link columns */
.lf-ftr .lf-cols{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2rem}
.lf-ftr .lf-h{margin:0 0 1rem;font-family:var(--sans);font-size:.75rem!important;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#7F93B8;line-height:1.3}
.lf-ftr .lf-col ul{display:grid;gap:.55rem}
.lf-ftr .lf-col a{display:inline-block;padding:.1rem 0}

/* Row 3: regulatory statement */
.lf-ftr .lf-reg{border-top:1px solid rgba(169,193,245,.14);padding:1.75rem 0;display:grid;gap:.6rem}
.lf-ftr .lf-reg p{margin:0;max-width:96ch;font-size:.875rem!important;color:#93A4C3}
.lf-ftr .lf-reg a{font-size:inherit!important;color:#D5DEEE;text-decoration:underline;text-underline-offset:.2em}

/* Row 4: copyright and legal links */
.lf-ftr .lf-base{border-top:1px solid rgba(169,193,245,.14);padding-top:1.5rem;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem 2rem}
.lf-ftr .lf-base p{margin:0;font-size:.875rem!important;color:#93A4C3}
.lf-ftr .lf-base nav{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem}
.lf-ftr .lf-base nav a{font-size:.875rem!important;color:#C3CFE4}

/* Tablet */
@media (max-width:1100px){
  .lf-ftr .lf-brandcol{grid-template-columns:1fr}
  .lf-ftr .lf-contact{grid-column:1;grid-row:auto;margin-top:.5rem}
  .lf-ftr .lf-cols{grid-template-columns:repeat(3,minmax(0,1fr));gap:2.25rem 1.5rem}
}
/* Phone */
@media (max-width:640px){
  .lf-ftr .lf-in{padding-top:2.5rem}
  .lf-ftr .lf-top{gap:2rem;padding-bottom:2rem}
  .lf-ftr .lf-brandcol{padding-bottom:2rem}
  .lf-ftr .lf-contact{grid-template-columns:1fr;gap:.75rem}
  .lf-ftr .lf-cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.75rem 1.25rem}
  .lf-ftr .lf-col ul{gap:.15rem}
  .lf-ftr .lf-col a{padding:.35rem 0}
  .lf-ftr .lf-base{flex-direction:column-reverse;align-items:flex-start}
  .lf-ftr .lf-base nav{gap:.25rem 1.25rem}
  .lf-ftr .lf-base nav a{padding:.3rem 0}
}

/* Tool pages hide the phone action bar, so they don't need the space reserved for it */
body:has(.tl-hero){padding-bottom:0!important}

/* Legal tables (privacy notice): tighter type and sensible column widths, so rows are not five lines tall */
.lb-table:not(#_){font-size:.875rem;table-layout:fixed}
.lb-table:not(#_) th{font-size:.8125rem}
.lb-table:not(#_) th,.lb-table:not(#_) td{padding:.65rem .7rem;overflow-wrap:anywhere}
.lb-table:not(#_) th:nth-child(1){width:19%}.lb-table:not(#_) th:nth-child(2){width:17%}
.lb-table:not(#_) th:nth-child(3){width:22%}.lb-table:not(#_) th:nth-child(4){width:28%}.lb-table:not(#_) th:nth-child(5){width:14%}

/* ===================================================================
   LAWFIQ DESIGN SYSTEM v1 (October 2026)
   One spacing scale, one type scale, one card style, one section rhythm.
   Spec: LawFiq-Design-System.md. Uses :not(#_) and !important only to
   beat older layered rules; remove both once the stylesheet is consolidated.
   =================================================================== */
:root{
  /* spacing scale (8px base) */
  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--s9:96px;
  /* rhythm */
  --ds-sy:72px;            /* section top and bottom padding */
  --ds-head:32px;          /* section heading block to content */
  --ds-gap:24px;           /* grid gap */
  --ds-pad:28px;           /* card padding */
  --ds-rad:14px;           /* card radius */
  --ds-read:68ch;          /* reading width */
  /* type scale */
  --fs-h1:clamp(2.25rem,4vw,3.25rem);   /* 36 to 52 */
  --fs-h2:clamp(1.75rem,2.6vw,2.25rem); /* 28 to 36 */
  --fs-h3:1.25rem;                      /* 20 */
  --fs-lead:1.1875rem;                  /* 19 */
  --fs-body:1.0625rem;                  /* 17 */
  --fs-sm:.9375rem;                     /* 15 */
  --fs-cap:.8125rem;                    /* 13 */
}
@media (max-width:1024px){:root{--ds-sy:56px;--ds-head:28px;--ds-pad:24px}}
@media (max-width:640px){:root{--ds-sy:44px;--ds-head:24px;--ds-gap:16px;--ds-pad:20px}}

/* 1. Section rhythm: one padding everywhere; same-colour neighbours don't double up */
:is(.sec,.core,.approach,.statband,.lf-next,.consult,.dx,.ta,.hb,.process,.faq2,.reviews,.guide-next,.tl-sec,.tm-how,.pp,.tasks,.wb-gap,.wb-why,.wb-roadmap,.wb-model,.wb-gov):not(#_){padding-top:var(--ds-sy)!important;padding-bottom:var(--ds-sy)!important}
.sec--white+.sec--white:not(#_),.sec--mist+.sec--mist:not(#_){padding-top:0!important}

/* 2. Type scale: seven sizes only */
main h2:not(#_):not(.sr-only){font-size:var(--fs-h2)!important;line-height:1.15!important;letter-spacing:-.01em}
main :is(.cq-card,.core-card,.fam-step,.ta-card,.lf-next-card,.dx-card,.wb-fact,.ins2) h3:not(#_){font-size:var(--fs-h3)!important;line-height:1.3!important}
main :is(.sec-head,.core-head,.cq-head,.approach-head,.dx-head,.ta-head,.process-head,.faq2-head,.wb-head,.pp-head,.tm-team-head)>p:not(.eyebrow):not(#_){font-size:var(--fs-lead)!important;line-height:1.55!important;max-width:60ch}
main :is(.cq-card,.core-card,.fam-step,.lf-next-card) :is(p,li,span):not(#_){font-size:var(--fs-body)!important;line-height:1.55!important}
.eyebrow:not(#_){font-size:var(--fs-cap)!important;letter-spacing:.08em}

/* 3. Section headings: one gap to the content, heading and intro top-aligned */
main :is(.sec-head,.core-head,.cq-head,.approach-head,.dx-head,.ta-head,.process-head,.faq2-head,.wb-head,.pp-head,.tm-team-head):not(#_){margin:0 0 var(--ds-head)!important;align-items:end}
main :is(.sec-head,.core-head,.cq-head,.approach-head,.dx-head,.ta-head,.process-head,.faq2-head,.wb-head,.pp-head) :is(h2,p):not(#_){margin-top:0!important}
main :is(.sec-head,.cq-head,.approach-head,.process-head,.faq2-head,.wb-head) h2+p:not(#_){margin-top:var(--s3)!important}
.lf-next h2:not(#_){margin:0 0 var(--ds-head)!important}

/* 4. Cards: one style. No coloured top/left stripes; content sets the height */
main :is(.cq-card,.core-card,.fam-step,.lf-next-card,.wb-fact):not(#_){padding:var(--ds-pad)!important;border:1px solid var(--line)!important;border-radius:var(--ds-rad)!important;box-shadow:none!important;background:#fff}
.core-card::before{display:none!important}
main :is(.cq-grid,.core-grid,.fam-steps,.lf-next-grid):not(#_){gap:var(--ds-gap)!important}
.cq-grid:not(#_){align-items:start!important}
.cq-grid .statcard:not(#_){grid-row:auto!important;justify-content:flex-start!important}
.cq-card .cq-ic:not(#_){background:var(--cool)!important;color:var(--navy)!important}
.cq-card .cq-ic svg:not(#_){stroke:var(--navy)!important}
.lf-next-grid:not(#_){align-items:stretch}
.lf-next-card:not(#_){min-height:0!important;padding-right:calc(var(--ds-pad) + 24px)!important}

/* 5. Single-column blocks use the full grid: heading left, content right */
@media (min-width:1025px){
  .sec:has(> .wrap > .faq2-list) > .wrap:not(#_){display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:var(--s8);align-items:start}
  .sec:has(> .wrap > .faq2-list) .sec-head:not(#_){margin:0!important;position:sticky;top:110px}
  .sec:has(> .wrap > .faq2-list) .faq2-list:not(#_){max-width:none!important;width:100%}
}
.safe-box:not(#_){max-width:none!important;width:100%;border:1px solid var(--line)!important;border-radius:var(--ds-rad)!important;padding:var(--s6)!important;background:#fff;box-shadow:none!important}
@media (min-width:1025px){
  .safe-box .safe-copy:not(#_){display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--s4) var(--s8);align-items:start}
  .safe-box .safe-copy>:not(.safe-note):not(#_){grid-column:1}
  .safe-box .safe-note:not(#_){grid-column:2;grid-row:1/span 3;margin:0!important;max-width:none}
}

/* 6. Accent stripes removed from panels and the form card */
:is(.ta-group--apply,.book,.safe-box):not(#_){border-left-width:1px!important;border-top-width:1px!important}
.book:not(#_)::before,.ta-group--apply:not(#_)::before{display:none!important}

/* Statband: the figure is a full-width band, the six cards sit in an even 3 x 2 grid */
.cq-grid:not(#_){grid-template-columns:repeat(3,minmax(0,1fr))!important;align-items:stretch!important}
.cq-grid .statcard:not(#_){grid-column:1/-1!important;display:grid!important;grid-template-columns:auto minmax(0,1fr) minmax(0,1fr);gap:var(--s4) var(--s7);align-items:center!important;padding:var(--s6) var(--s7)!important}
.cq-grid .statcard .statband-num:not(#_){margin:0!important}
.cq-grid .statcard .statband-txt:not(#_){margin:0!important;font-size:var(--fs-lead)!important}
.cq-grid .statcard .statband-src:not(#_){margin:0!important;font-size:var(--fs-sm)!important}
main .cq-card.cq-cta:not(#_){background:var(--navy)!important;border-color:var(--navy)!important;color:#fff}
main .cq-card.cq-cta h3:not(#_){color:#fff!important}
main .cq-card.cq-cta p:not(#_){color:#C7D3E8!important}
@media (max-width:1024px){
  .cq-grid:not(#_){grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .cq-grid .statcard:not(#_){grid-template-columns:1fr;padding:var(--s5)!important}
}
@media (max-width:640px){.cq-grid:not(#_){grid-template-columns:1fr!important}}

/* Service cards: buttons line up across the row */
.core-card:not(#_){display:flex!important;flex-direction:column}
.core-card ul:not(#_){flex:1 0 auto}
main h2:not(#_):not(.sr-only){max-width:26ch}
.safe-box h2:not(#_){margin:0 0 var(--s4)!important}
.lf-next:not(#_):has(+ .consult){padding-bottom:0!important}
@media (min-width:1025px){
  .faq2 > .wrap:has(> .faq2-list):not(#_){display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:var(--s8);align-items:start}
  .faq2 > .wrap > .faq2-head:not(#_){margin:0!important;position:sticky;top:110px}
  .faq2 .faq2-list:not(#_){max-width:none!important;width:100%}
}
main h2:not(#_):not(.sr-only){max-width:26ch!important}
@media (min-width:1025px){.safe-box .safe-copy:not(#_){grid-template-rows:auto auto 1fr}}
main h2:not(#_):not(.sr-only){max-width:34ch!important}

/* ===================================================================
   Fix layer 2 (October 2026): homepage photo band, alignment, badges
   =================================================================== */
/* Photo band: shorter, no empty navy strips, readable heading over the photos */
.duo:not(#_){padding:0!important}
.duo-stage:not(#_){height:clamp(300px,40vw,420px)!important;min-height:0!important}
.duo-half:not(#_)::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(11,31,58,.62) 0%,rgba(11,31,58,.1) 45%,rgba(11,31,58,.5) 100%)}
.duo-copy:not(#_){z-index:3;text-shadow:0 2px 14px rgba(11,31,58,.55)}
@media (max-width:640px){.duo-stage:not(#_){height:300px!important}}
/* Two-column sections line up at the top instead of floating in the middle */
.hb-in:not(#_){align-items:start!important}
.consult .consult-split:not(#_){align-items:start!important}
/* Status badges use the site palette (no yellow) */
.st-eng:not(#_){background:#EEF3FE!important;color:#1E40AF!important}

/* The seal sat on top of the heading link: the dividing line alone marks the join */
.duo-seal:not(#_){display:none!important}

/* Prenup banner belongs to the "How we can help" section above it, so it shares its background */
.prenup-band:not(#_){background:var(--mist)!important;padding:0 0 var(--ds-sy)!important}
.sec:has(+ .prenup-band):not(#_){padding-bottom:var(--s6)!important}
.sec:has(+ .prenup-band):not(#_){border-bottom:0!important}

/* ===================================================================
   Fix layer 3 (October 2026): a few icon colours, in-page leave link
   Five calm tones, used in turn within each group of cards. Every line
   colour is at least 3:1 on its tile.
   =================================================================== */
:root{--ic1:#1D4ED8;--ic1-bg:#EEF3FE;--ic2:#0F766E;--ic2-bg:#E6F5F3;--ic3:#B45309;--ic3-bg:#FDF3E2;--ic4:#BE185D;--ic4-bg:#FCE9F1;--ic5:#6D28D9;--ic5-bg:#F1ECFD}
:is(.door3-ic,.fam-ic,.ta-ic,.cq-ic,.tool-ic):not(#_):not(#__){background:var(--ic-bg,#EEF3FE)!important;color:var(--ic,#1D4ED8)!important}
:is(.door3-ic,.fam-ic,.ta-ic,.cq-ic,.tool-ic) svg:not(#_):not(#__){stroke:var(--ic,#1D4ED8)!important}
/* the dark call-to-action card keeps its own colours */
.cq-card.cq-cta .cq-ic:not(#_):not(#__){background:rgba(255,255,255,.12)!important;color:#fff!important}
/* Leave-this-site link: plain text, never covers content */
.qx-line:not(#_){margin:14px 0 0;font-size:.9rem;color:var(--ink-2)}
.qx-line a:not(#_){font-weight:600;color:var(--navy);text-decoration:underline;text-underline-offset:.2em}
/* Homepage "What do you need help with?": heading sits closer to its cards */
.doors-head2:not(#_){margin-bottom:var(--ds-head)!important}
.doors .doors-grid:not(#_){margin-top:0!important}


/* ===================================================================
   Fix layer 5 (October 2026): WhatsApp chat
   A small chat button in the bottom corner on larger screens (phones
   already have WhatsApp in the bottom bar). Hidden on business and
   institutional pages, forms and tools.
   =================================================================== */
@media (min-width:1025px){
  .wa-float:not(#_):not(#__){display:inline-flex!important;position:fixed;right:24px;bottom:24px;z-index:150;align-items:center;gap:10px;
    height:52px;padding:0 18px 0 14px;border-radius:999px;background:#fff;border:1px solid #D7DEE7;color:#0F172A;
    font:600 .92rem/1 var(--sans,"Inter",system-ui,sans-serif);text-decoration:none;box-shadow:0 10px 24px -12px rgba(15,23,42,.35)}
  @media (hover:hover){.wa-float:not(#_):not(#__):hover{border-color:#25D366}}
  .wa-float svg{width:24px;height:24px;fill:#1FA855}
  .wa-float::after{content:"Chat on WhatsApp"}
  body:has(.mcta--pro) .wa-float:not(#_):not(#__),body.is-form .wa-float:not(#_):not(#__),body:has(.tl-hero) .wa-float:not(#_):not(#__){display:none!important}
}
.lf-ftr .lf-contact .lf-wa svg{fill:#7F93B8;stroke:none}
/* Phones: the "Talk to us" heading comes before the form, so the form is never shown without context */
@media (max-width:1024px){.consult-split .cs-side:not(#_){order:-1}}
/* Footer contact icons in colour; WhatsApp in its official green */
.lf-ftr .lf-contact li:nth-child(1) .lf-ic svg:not(#_){stroke:#7DB4FF!important}
.lf-ftr .lf-contact li:nth-child(2) .lf-ic svg:not(#_){fill:#25D366!important;stroke:none!important}
.lf-ftr .lf-contact li:nth-child(3) .lf-ic svg:not(#_){stroke:#FBBF24!important}
.lf-ftr .lf-contact li:nth-child(4) .lf-ic svg:not(#_){stroke:#F87171!important}
.lf-ftr .lf-contact li:nth-child(5) .lf-ic svg:not(#_){stroke:#A78BFA!important}
.wa-float svg:not(#_),.mcta .wa svg:not(#_){fill:#25D366!important}
#main:focus{outline:none}

/* ===================================================================
   Fix layer 6 (October 2026): overnight audit
   =================================================================== */
/* Exit button in the header: always visible, never covers the page */
.hdr-exit:not(#_){display:inline-flex;align-items:center;gap:6px;margin-left:10px;padding:8px 14px;border-radius:999px;border:1.5px solid #0B1F3A;background:#fff;color:#0B1F3A;font:600 .9rem/1 var(--sans,"Inter",system-ui,sans-serif);text-decoration:none;white-space:nowrap;min-height:40px}
.hdr-exit svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2.4}
@media (hover:hover){.hdr-exit:hover{background:#0B1F3A;color:#fff}}
@media (max-width:1100px){.hdr-exit:not(#_){margin-left:auto;margin-right:6px;padding:7px 12px;min-height:44px}}
/* the old inline exit lines stay as a text reminder of the Esc key */
.qx-line:not(#_){font-size:.9rem}
/* A701: form fields with a clearly visible edge (3:1 or better) */
:is(input[type=text],input[type=email],input[type=tel],input:not([type]),select,textarea):not(#_):not(#__){border-color:#8A94A6!important}
/* Q702: the privacy table scrolls inside its own box on mid-size screens */
.lb-table-wrap:not(#_){overflow-x:auto!important;max-width:100%}
.dp-body:not(#_){min-width:0;max-width:100%}
@media (max-width:820px){.lb-table:not(#_){min-width:640px}}
/* D802: the WhatsApp button never sits on top of the footer links */
@media (min-width:1025px){.lf-ftr .lf-base:not(#_){padding-right:240px}}
/* D805: application pages without a tall empty area */
:is(.da-wrap,.apply-wrap,#apply):not(#_){min-height:0!important}
/* WhatsApp safety note in the footer */
.lf-ftr .lf-contact li.lf-note{display:block;padding-left:0;font-size:.85rem!important;color:#93A4C3;max-width:44ch}
.lf-ftr .lf-contact li.lf-note span{font-size:.85rem!important;color:#93A4C3!important}
/* Madinah / Oxford note */
.duo-note:not(#_){font-size:.85rem;color:#5A6B82;text-align:center;margin:12px auto 0;max-width:70ch;padding:0 20px}
.duo .duo-note:not(#_){color:#fff;text-shadow:0 1px 8px rgba(11,31,58,.7);opacity:.95}

/* ===================================================================
   Fix layer 7 (October 2026): fewer colours, colour means area
   Family teal · Business amber · Institutions indigo · everything else (tools, guides) the site blue.
   =================================================================== */
body{--ic:#1D4ED8;--ic-bg:#EEF3FE}
body[data-area="fam"]{--ic:#0F766E;--ic-bg:#E6F5F3}
body[data-area="biz"]{--ic:#B45309;--ic-bg:#FDF3E2}
body[data-area="inst"]{--ic:#3E5A9E;--ic-bg:#E8EDF7}
/* homepage doors: each door in its own area colour */
.door3--fam,.door3:nth-child(1){--ic:#0F766E;--ic-bg:#E6F5F3}
.door3:nth-child(2){--ic:#B45309;--ic-bg:#FDF3E2}
.door3:nth-child(3){--ic:#3E5A9E;--ic-bg:#E8EDF7}
/* tools and applications on the homepage stay in the site blue */
body[data-area="gen"] .ta-card{--ic:#1D4ED8;--ic-bg:#EEF3FE}
/* the Apply online box: no coloured stripe */
.ta-group--apply:not(#_):not(#__){border-left:1px solid var(--line,#E4E8EF)!important;box-shadow:none!important}
.ta-group--apply:not(#_)::before{display:none!important}
/* smaller icon tiles on phones, so the text has room */
@media (max-width:640px){
  :is(.door3-ic,.fam-ic,.ta-ic,.cq-ic,.tool-ic):not(#_):not(#__){width:40px!important;height:40px!important;min-width:40px;border-radius:10px!important}
  :is(.door3-ic,.fam-ic,.ta-ic,.cq-ic,.tool-ic) svg:not(#_):not(#__){width:20px!important;height:20px!important}
}
/* footer: one calm colour for the icons, WhatsApp keeps its own green */
.lf-ftr .lf-contact li:nth-child(n) .lf-ic svg:not(#_):not(#__){stroke:#9DB8E6!important}
.lf-ftr .lf-contact li:nth-child(n) .lf-wa svg:not(#_):not(#__){fill:#25D366!important;stroke:none!important}

/* Fix layer 8: Ask LawFiq search results */
.ask-ans .ask-qh{margin:0 0 6px}
.ask-ans .ask-qh b{font-family:var(--serif,"Source Serif 4",serif);font-size:1.1rem;color:#0B1F3A}
.ask-ans .ask-more{font-weight:600}
.ask-ans .ask-src{color:#5A6B82;font-size:.9rem}
.ask-rel{margin-top:12px;padding-top:10px;border-top:1px solid #E4E8EF}
.ask-rel p{margin:0 0 6px;font-weight:600;font-size:.9rem;color:#5A6B82}
.ask-rel ul{margin:0;padding-left:1.1rem}
.ask-rel li{margin:4px 0}
/* L801: privacy table on phones shows as labelled cards (no cut-off) */
@media (max-width:640px){
.lb-table-wrap:not(#_){overflow:visible!important;border:0}
.lb-table:not(#_){min-width:0!important;table-layout:auto;width:100%}
.lb-table:not(#_) thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.lb-table:not(#_),.lb-table:not(#_) tbody,.lb-table:not(#_) tr,.lb-table:not(#_) td{display:block;width:100%!important}
.lb-table:not(#_) tr{border:1px solid var(--rule);border-radius:12px;margin:0 0 .9rem;padding:.4rem .9rem}
.lb-table:not(#_) td{border:0;padding:.45rem 0}
.lb-table:not(#_) td::before{content:attr(data-label);display:block;font-weight:600;color:var(--navy);font-size:.8125rem;margin-bottom:.1rem}
}
/* W901: calm safety strip under the Islamic divorce hero */
.safe-strip:not(#_){background:#E6F5F3;border-bottom:1px solid #CDE8E3;color:#0B1F3A}
.safe-strip:not(#_) p{margin:0;padding:12px 0;font-size:.9375rem;line-height:1.5}
.safe-strip:not(#_) a{color:#0B1F3A;font-weight:600;text-decoration:underline;text-underline-offset:2px}
.safe-strip:not(#_) .ss-exit{white-space:nowrap;margin-left:.35em}
/* W902: a quiet private route for women on the homepage hero */
.herot-private:not(#_){display:inline-flex;align-items:center;gap:6px;margin-top:18px;color:#fff;font-size:.9375rem;font-weight:500;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(255,255,255,.5);min-height:44px}
.herot-private:not(#_) .arw{width:16px;height:16px;stroke:currentColor;stroke-width:2;fill:none}
/* W903: Arabic terms sit quietly beside card titles, not as a stray line */
h3 > .ar[lang=ar]:not(#_){display:inline;margin-left:.4em;font-size:1.05em;color:#5B6B85;font-weight:400;white-space:nowrap}
/* M904: easier taps on footer contact and legal links (phone) */
@media (max-width:640px){.lf-contact:not(#_) a{display:inline-flex;align-items:center;min-height:36px}.lf-ftr .lf-base:not(#_) a{display:inline-flex;align-items:center;min-height:36px}}
