/* IPFA families: sector (six verbs) and service (six gaps) pages. Loaded on /sectors/, /services/, project pages and home (gate). */
.fam{--ink:#1A2142;--ink-2:#4F587C;--sheet:#F4F5F8;--pencil:#5B78B8;--pencil-soft:rgba(91,120,184,.16);--orange:#E6792E;--rule:#CDD3E4;
  --card:color-mix(in srgb,var(--sheet) 45%,#fff);--mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;--cross:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20width%3D%2796%27%20height%3D%2796%27%3E%3Cpath%20d%3D%27M48%2043v10M43%2048h10%27%20stroke%3D%27rgba%2846%2C58%2C122%2C0.28%29%27%20stroke-width%3D%271%27/%3E%3C/svg%3E");
  background:var(--sheet) var(--cross) -48px -48px/96px 96px;color:var(--ink)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .fam{--card:color-mix(in srgb,var(--sheet) 82%,#fff 6%);--cross:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20width%3D%2796%27%20height%3D%2796%27%3E%3Cpath%20d%3D%27M48%2043v10M43%2048h10%27%20stroke%3D%27rgba%28154%2C166%2C232%2C0.24%29%27%20stroke-width%3D%271%27/%3E%3C/svg%3E")}}
:root[data-theme="dark"] .fam{--card:color-mix(in srgb,var(--sheet) 82%,#fff 6%);--cross:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20width%3D%2796%27%20height%3D%2796%27%3E%3Cpath%20d%3D%27M48%2043v10M43%2048h10%27%20stroke%3D%27rgba%28154%2C166%2C232%2C0.24%29%27%20stroke-width%3D%271%27/%3E%3C/svg%3E")}
.fam[data-fam="g1"]{--ink:#6A4520;--ink-2:#745C43;--sheet:#F6F0E6;--pencil:#BB7A3A;--pencil-soft:#BB7A3A2E;--orange:#2B5FB8;--rule:#DBD1C7}
.fam[data-fam="g2"]{--ink:#0F5C4E;--ink-2:#3B7D71;--sheet:#E8F4F0;--pencil:#37BEA5;--pencil-soft:#37BEA52E;--orange:#C49A22;--rule:#C4DEDA}
.fam[data-fam="g3"]{--ink:#5B2457;--ink-2:#70486D;--sheet:#F4ECF3;--pencil:#B144A9;--pencil-soft:#B144A92E;--orange:#2FA37A;--rule:#D9C9D8}
.fam[data-fam="g4"]{--ink:#1D3F8F;--ink-2:#3D507A;--sheet:#EBEFF8;--pencil:#375FBE;--pencil-soft:#375FBE2E;--orange:#E0A21B;--rule:#C5CCDD}
.fam[data-fam="g5"]{--ink:#8E1F1F;--ink-2:#793E3E;--sheet:#F8EEEC;--pencil:#BE3737;--pencil-soft:#BE37372E;--orange:#2E8B57;--rule:#DDC5C5}
.fam[data-fam="g6"]{--ink:#4D5320;--ink-2:#6B7047;--sheet:#F2F2E6;--pencil:#A5B243;--pencil-soft:#A5B2432E;--orange:#B5651D;--rule:#D7D9C9}
.fam[data-fam="flt"]{--ink:#0D4F5E;--ink-2:#39727F;--sheet:#E8F2F4;--pencil:#37A5BE;--pencil-soft:#37A5BE2E;--orange:#C8432B;--rule:#C3DADF}
.fam[data-fam="bld"]{--ink:#3A3936;--ink-2:#5D5D5A;--sheet:#EFEDE8;--pencil:#8A826B;--pencil-soft:#8A826B2E;--orange:#D9A200;--rule:#D2D1D0}
.fam[data-fam="pwr"]{--ink:#1E5133;--ink-2:#477158;--sheet:#EBF3EC;--pencil:#41B470;--pencil-soft:#41B4702E;--orange:#0EA5B7;--rule:#C9DAD0}
.fam[data-fam="cnt"]{--ink:#3B2C7E;--ink-2:#4E4672;--sheet:#EFEDF8;--pencil:#553FB6;--pencil-soft:#553FB62E;--orange:#D23A86;--rule:#CBC8DA}
.fam[data-fam="mov"]{--ink:#2B3038;--ink-2:#565A62;--sheet:#ECEEF1;--pencil:#617593;--pencil-soft:#6175932E;--orange:#2463D1;--rule:#CFD1D4}
.fam[data-fam="hst"]{--ink:#5C1D35;--ink-2:#744456;--sheet:#F6EDEF;--pencil:#BA3B6B;--pencil-soft:#BA3B6B2E;--orange:#A9843A;--rule:#DBC8CF}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .fam[data-fam="g1"]{--ink:#F0E0D1;--ink-2:#C7B8A8;--sheet:#2C1F11;--pencil:#D4A87D;--pencil-soft:#D4A87D2E;--orange:#4B7ED5;--rule:#5D4C3C}}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .fam[data-fam="g2"]{--ink:#D1F0EA;--ink-2:#A3CCC5;--sheet:#112C27;--pencil:#7DD4C4;--pencil-soft:#7DD4C42E;--orange:#DFB745;--rule:#36635B}}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .fam[data-fam="g3"]{--ink:#EED3EC;--ink-2:#C4ABC2;--sheet:#2C112A;--pencil:#CE83C8;--pencil-soft:#CE83C82E;--orange:#46CA9B;--rule:#5A3F58}}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .fam[data-fam="g4"]{--ink:#D1DAF0;--ink-2:#A5B0CB;--sheet:#11192C;--pencil:#7D97D4;--pencil-soft:#7D97D42E;--orange:#EAB94E;--rule:#384461}}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .fam[data-fam="g5"]{--ink:#F0D1D1;--ink-2:#CAA5A5;--sheet:#2C1111;--pencil:#D47D7D;--pencil-soft:#D47D7D2E;--orange:#3DB974;--rule:#603939}}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .fam[data-fam="g6"]{--ink:#EBEED3;--ink-2:#C1C4AB;--sheet:#292C11;--pencil:#C6CF82;--pencil-soft:#C6CF822E;--orange:#DE8331;--rule:#575A3F}}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .fam[data-fam="flt"]{--ink:#D1EAF0;--ink-2:#A2C5CD;--sheet:#11272C;--pencil:#7DC4D4;--pencil-soft:#7DC4D42E;--orange:#DB6A56;--rule:#355B64}}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .fam[data-fam="bld"]{--ink:#E1E1DF;--ink-2:#B9B8B7;--sheet:#201F1E;--pencil:#ABAAA5;--pencil-soft:#ABAAA52E;--orange:#FFC417;--rule:#4E4D4B}}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .fam[data-fam="pwr"]{--ink:#D2EEDE;--ink-2:#AAC5B5;--sheet:#112C1C;--pencil:#80D0A1;--pencil-soft:#80D0A12E;--orange:#15D6ED;--rule:#3E5B4A}}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .fam[data-fam="cnt"]{--ink:#D7D2EF;--ink-2:#AFAAC5;--sheet:#16112C;--pencil:#8E7ED2;--pencil-soft:#8E7ED22E;--orange:#DD6CA5;--rule:#433E5B}}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .fam[data-fam="mov"]{--ink:#DCDFE4;--ink-2:#B4B7BB;--sheet:#1B1E23;--pencil:#9DA6B4;--pencil-soft:#9DA6B42E;--orange:#5186E1;--rule:#484C51}}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .fam[data-fam="hst"]{--ink:#F0D1DD;--ink-2:#C6A9B4;--sheet:#2C111B;--pencil:#D47D9E;--pencil-soft:#D47D9E2E;--orange:#C6A25A;--rule:#5C3D49}}
:root[data-theme="dark"] .fam[data-fam="g1"]{--ink:#F0E0D1;--ink-2:#C7B8A8;--sheet:#2C1F11;--pencil:#D4A87D;--pencil-soft:#D4A87D2E;--orange:#4B7ED5;--rule:#5D4C3C}
:root[data-theme="dark"] .fam[data-fam="g2"]{--ink:#D1F0EA;--ink-2:#A3CCC5;--sheet:#112C27;--pencil:#7DD4C4;--pencil-soft:#7DD4C42E;--orange:#DFB745;--rule:#36635B}
:root[data-theme="dark"] .fam[data-fam="g3"]{--ink:#EED3EC;--ink-2:#C4ABC2;--sheet:#2C112A;--pencil:#CE83C8;--pencil-soft:#CE83C82E;--orange:#46CA9B;--rule:#5A3F58}
:root[data-theme="dark"] .fam[data-fam="g4"]{--ink:#D1DAF0;--ink-2:#A5B0CB;--sheet:#11192C;--pencil:#7D97D4;--pencil-soft:#7D97D42E;--orange:#EAB94E;--rule:#384461}
:root[data-theme="dark"] .fam[data-fam="g5"]{--ink:#F0D1D1;--ink-2:#CAA5A5;--sheet:#2C1111;--pencil:#D47D7D;--pencil-soft:#D47D7D2E;--orange:#3DB974;--rule:#603939}
:root[data-theme="dark"] .fam[data-fam="g6"]{--ink:#EBEED3;--ink-2:#C1C4AB;--sheet:#292C11;--pencil:#C6CF82;--pencil-soft:#C6CF822E;--orange:#DE8331;--rule:#575A3F}
:root[data-theme="dark"] .fam[data-fam="flt"]{--ink:#D1EAF0;--ink-2:#A2C5CD;--sheet:#11272C;--pencil:#7DC4D4;--pencil-soft:#7DC4D42E;--orange:#DB6A56;--rule:#355B64}
:root[data-theme="dark"] .fam[data-fam="bld"]{--ink:#E1E1DF;--ink-2:#B9B8B7;--sheet:#201F1E;--pencil:#ABAAA5;--pencil-soft:#ABAAA52E;--orange:#FFC417;--rule:#4E4D4B}
:root[data-theme="dark"] .fam[data-fam="pwr"]{--ink:#D2EEDE;--ink-2:#AAC5B5;--sheet:#112C1C;--pencil:#80D0A1;--pencil-soft:#80D0A12E;--orange:#15D6ED;--rule:#3E5B4A}
:root[data-theme="dark"] .fam[data-fam="cnt"]{--ink:#D7D2EF;--ink-2:#AFAAC5;--sheet:#16112C;--pencil:#8E7ED2;--pencil-soft:#8E7ED22E;--orange:#DD6CA5;--rule:#433E5B}
:root[data-theme="dark"] .fam[data-fam="mov"]{--ink:#DCDFE4;--ink-2:#B4B7BB;--sheet:#1B1E23;--pencil:#9DA6B4;--pencil-soft:#9DA6B42E;--orange:#5186E1;--rule:#484C51}
:root[data-theme="dark"] .fam[data-fam="hst"]{--ink:#F0D1DD;--ink-2:#C6A9B4;--sheet:#2C111B;--pencil:#D47D9E;--pencil-soft:#D47D9E2E;--orange:#C6A25A;--rule:#5C3D49}

.fam h1,.fam h2,.fam h3{font-family:var(--display);color:var(--ink);line-height:1.12;margin:0;text-wrap:balance}
.fam p{margin:0}
.fam a{color:inherit}
.fam .wrap{max-width:1180px}
.fam-hero{padding-block:clamp(1.4rem,4vw,2.8rem) clamp(1.6rem,4vw,2.6rem)}
.fam .crumbs{font-family:var(--mono);font-size:.76rem;color:var(--ink-2);margin-bottom:.9rem}
.fam .crumbs a{text-decoration:none}
.fam .sheet{background:var(--card);border:1.5px solid var(--ink);display:grid;grid-template-columns:minmax(0,1fr) 290px}
@media(max-width:900px){.fam .sheet{grid-template-columns:1fr}}
.fam .sheet-main{padding:clamp(1.1rem,3vw,2rem);display:grid;gap:1rem;min-width:0;border-right:1.5px solid var(--ink)}
@media(max-width:900px){.fam .sheet-main{border-right:0;border-bottom:1.5px solid var(--ink)}}
.fam .verb-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:.2rem 1rem}
.fam .verb-title h1{font-size:clamp(3.2rem,9vw,6.6rem);font-weight:800;letter-spacing:-.03em;line-height:.9}
.fam .verb-title h1 em{font-style:normal;color:var(--orange)}
.fam .verb-title .lab{font-family:var(--ui);font-weight:700;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}
.fam .lede{font-family:var(--body);font-size:clamp(1.04rem,1.5vw,1.18rem);line-height:1.6;max-width:62ch}
.fam .hl{background:no-repeat left 92%/100% .5em url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 20' preserveAspectRatio='none'%3E%3Cpath d='M2 13 C40 9 90 10 140 11 S185 8 198 3' fill='none' stroke='%235B78B8' stroke-opacity='.38' stroke-width='9' stroke-linecap='round'/%3E%3C/svg%3E");padding-inline:.1em;box-shadow:inset 0 -1px 0 rgba(230,121,46,.55)}
.fam .tblock{display:grid;align-content:start;font-family:var(--mono);font-size:.76rem;min-width:0}
.fam .tblock>div{display:grid;grid-template-columns:92px minmax(0,1fr);border-bottom:1px solid var(--ink)}
.fam .tblock b{font-weight:500;color:var(--ink-2);padding:.5rem .65rem;border-right:1px solid var(--ink);font-size:.68rem;text-transform:uppercase;letter-spacing:.06em}
.fam .tblock span{padding:.5rem .65rem;overflow-wrap:anywhere}
.fam .tblock .big span{font-family:var(--display);font-size:1.45rem;font-weight:700;line-height:1.1}
.fam .tblock .cta-cell{display:block;padding:1rem .65rem;border-bottom:0}
.fam .tblock .cta-cell a,.fam .btn-fam{display:block;text-align:center;font-family:var(--ui);font-weight:600;font-size:.92rem;text-decoration:none;background:#E6792E;color:#fff;padding:.7rem 1rem;border-radius:999px}
.fam .btn-fam{display:inline-block;justify-self:start}
.fam .tblock .cta-cell a:hover,.fam .btn-fam:hover{background:#1E2857;color:#fff}
/* drawings */
.fam .gridded{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(color-mix(in srgb,var(--pencil) 13%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--pencil) 13%,transparent) 1px,transparent 1px),linear-gradient(color-mix(in srgb,var(--pencil) 7%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--pencil) 7%,transparent) 1px,transparent 1px);background-size:60px 60px,60px 60px,12px 12px,12px 12px;-webkit-mask-image:radial-gradient(ellipse 75% 80% at 50% 50%,#000 55%,transparent 100%);mask-image:radial-gradient(ellipse 75% 80% at 50% 50%,#000 55%,transparent 100%)}
.fam .fam-draw{position:relative;border:1px solid var(--rule);background:var(--card)}
.fam .fam-draw svg{position:relative;display:block;width:100%;height:auto}
.fam .pdw{position:relative;margin:0;max-width:100%;overflow:hidden;border:1px solid var(--rule);background:var(--card)}
.fam .pdw .ghost{position:absolute;object-fit:cover;opacity:.24;filter:saturate(.55)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .fam .pdw .ghost{opacity:.18}}
:root[data-theme="dark"] .fam .pdw .ghost{opacity:.18}
.fam .pdw .lines{position:absolute;background:var(--ink);-webkit-mask:var(--lines) center/100% 100% no-repeat;mask:var(--lines) center/100% 100% no-repeat}
.fam .pdw .ovl{position:absolute;width:auto;height:auto}
.fam .pcap{font-family:var(--ui);font-size:.66rem;line-height:1.35;color:var(--ink-2);margin-top:-.6rem}
.fam .o{fill:none;stroke:var(--ink);stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}
.fam .c,.fam .ln{fill:none;stroke:var(--pencil);stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}
.fam .d,.fam .ln-d{fill:none;stroke:var(--pencil);stroke-width:1;stroke-dasharray:4 4}
.fam .g,.fam .ln-o{fill:none;stroke:var(--orange);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.fam .ln-b{fill:none;stroke:var(--ink);stroke-width:1.6}
.fam .gd{fill:none;stroke:var(--orange);stroke-width:1.8;stroke-dasharray:5 4}
.fam .gf{fill:var(--orange)}
.fam .pf,.fam .fill-p{fill:var(--pencil-soft)}
.fam .sf{fill:var(--card);stroke:var(--ink);stroke-width:1.6}
.fam .t,.fam .tx{font-family:var(--mono);font-size:10px;fill:var(--ink-2)}
.fam .to,.fam .tx-o{font-family:var(--mono);font-size:10px;fill:var(--orange)}
.fam .pdw .tx,.fam .pdw .tx-o{font-size:20px}
.fam .pdw .ln-o{stroke-width:2.6}
@media(max-width:700px){.fam .pdw text{display:none}}
/* sections */
.fam section.sec{padding-block:clamp(2.2rem,5vw,3.6rem)}
.fam .sec-head{display:grid;gap:.45rem;margin-bottom:1.4rem;max-width:68ch}
.fam .eyebrow{font-family:var(--mono);font-size:.74rem;color:var(--orange);letter-spacing:.04em}
.fam .sec-head h1,.fam .sec-head h2{font-size:clamp(1.6rem,3vw,2.3rem);font-weight:600}
.fam .sec-head p{color:var(--ink-2);font-family:var(--body)}
.fam .gapgrid{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:760px){.fam .gapgrid{grid-template-columns:1fr}}
.fam .gcard{background:var(--card);border:1px solid var(--rule);display:grid;grid-template-columns:170px minmax(0,1fr);min-width:0}
@media(max-width:520px){.fam .gcard{grid-template-columns:1fr}}
.fam .gw{position:relative;border-right:1px dashed var(--rule);display:grid;align-items:center;background:var(--sheet)}
.fam .gw svg{position:relative;width:100%;height:auto;display:block}
@media(max-width:520px){.fam .gw{border-right:0;border-bottom:1px dashed var(--rule)}}
.fam .gbody{padding:1rem 1.15rem 1.15rem;display:grid;gap:.35rem;align-content:start;min-width:0}
.fam .gbody .k{font-family:var(--mono);font-size:.7rem;color:var(--orange)}
.fam .gbody h3{font-size:1.28rem}
.fam .gbody h3 a{text-decoration:none}
.fam .gbody p{color:var(--ink-2);font-size:.95rem;font-family:var(--body)}
.fam .gbody ul{list-style:none;margin:.25rem 0 0;padding:0;display:grid;gap:.15rem}
.fam .gbody li a{font-family:var(--ui);font-size:.85rem;text-decoration:none;border-bottom:1px solid var(--rule)}
.fam .gbody li a:hover{border-color:var(--orange);color:var(--orange)}
.fam .ledger-wrap{overflow-x:auto;background:var(--card);border:1.5px solid var(--ink)}
.fam .gate+.ledger-wrap{border-top:0}
.fam .ledger{width:100%;border-collapse:collapse;min-width:720px;font-variant-numeric:tabular-nums}
.fam .ledger th{font-family:var(--mono);font-weight:500;font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2);text-align:left;padding:.55rem .75rem;border-bottom:1.5px solid var(--ink);background:var(--sheet)}
.fam .ledger td{padding:.8rem .75rem;border-bottom:1px solid var(--rule);vertical-align:top}
.fam .ledger tr:last-child td{border-bottom:0}
.fam .ledger .no{font-family:var(--mono);font-size:.72rem;color:var(--ink-2);white-space:nowrap}
.fam .ledger .val{font-family:var(--mono);font-weight:500;font-size:.88rem;color:var(--orange);white-space:nowrap}
.fam .ledger .t{font-family:var(--display);font-weight:600;font-size:1.06rem;line-height:1.25}
.fam .ledger .t a{text-decoration:none}
.fam .ledger .t a:hover{color:var(--orange)}
.fam .ledger .tg{font-family:var(--ui);font-size:.76rem;color:var(--ink-2);margin-top:.15rem}
.fam .ledger .tx2{font-family:var(--body);font-size:.92rem;color:var(--ink-2);margin-top:.35rem;max-width:66ch}
.fam .chip,.deal-svc .chip{display:inline-block;font-family:var(--mono);font-size:.7rem;border:1px solid var(--rule);border-radius:3px;padding:.05rem .4rem;margin:0 .25rem .25rem 0;color:var(--ink);text-decoration:none;white-space:nowrap}
.fam .chip:hover{border-color:var(--orange);color:var(--orange)}
.lk{display:inline-block;vertical-align:middle}
.lk-bar{display:inline-block;width:5.5em;height:.7em;border-radius:2px;background:repeating-linear-gradient(90deg,currentColor 0 3px,transparent 3px 6px);opacity:.28}
.tx2 .lk-bar{width:min(28em,90%);height:.6em}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
/* gate */
.gate{display:flex;flex-wrap:wrap;gap:.5rem 1.2rem;align-items:center;justify-content:space-between;background:var(--card,#fff);border:1.5px solid var(--ink,#1A2142);padding:.6rem 1rem;color:var(--ink,#1A2142)}
.gate-t{display:flex;gap:.6rem;align-items:center;min-width:0;max-width:72ch}
.gate-t p{margin:0;font-family:var(--ui);font-size:.85rem;color:var(--ink-2,#4F587C)}
.gate-t b{color:var(--ink,#1A2142);font-family:var(--display);font-size:1rem}
.gate .lock{color:var(--orange,#E6792E);display:inline-grid}
.gate-note{display:block;font-style:normal;color:var(--orange,#E6792E)}
.sso-row{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}
.sso-l{font-family:var(--ui);font-size:.78rem;color:var(--ink-2,#4F587C);margin-right:.2rem}
.ib{display:inline-grid;place-items:center;width:34px;height:34px;border:1px solid #C9CCD1;border-radius:4px;background:#fff;color:#1F1F1F;cursor:pointer;padding:0;text-decoration:none}
.ib:hover{border-color:#747775}
.ib.off{cursor:not-allowed;opacity:.55}
.ib.off:hover{border-color:#C9CCD1}
.ib.txt{width:auto;padding:0 .7rem;font-family:var(--ui);font-size:.82rem}
.gmail{display:flex;gap:.35rem;margin:0}
.gmail[hidden]{display:none}
.gmail input[type=email]{width:210px;max-width:52vw;font-family:var(--ui);font-size:.85rem;padding:.35rem .5rem;border:1px solid #C9CCD1;border-radius:4px;background:#fff;color:#1F1F1F}
.gmail .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
/* gap pages */
.fam .svc-cards{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.fam .svc-card{display:grid;gap:.6rem;align-content:space-between;padding:1.1rem 1.15rem 1.15rem;background:var(--card);border:1px solid var(--rule);border-top:4px solid var(--orange);text-decoration:none}
.fam .svc-card h3{font-size:1.15rem}
.fam .svc-card .go{font-family:var(--ui);font-size:.8rem;font-weight:600;color:var(--orange)}
.fam .svc-card:hover{border-color:var(--ink);border-top-color:var(--orange)}
.fam .where{margin-top:1.2rem;font-family:var(--ui);font-size:.85rem;color:var(--ink-2)}
/* insights */
.fam .ins{background:#1E2857;--ink:#EEF0F7;--ink-2:#B7BDD6}
.fam .ins .sec-head h2{color:#fff}
.fam .ins .eyebrow{color:#F4C7A6}
.fam .ins-grid{display:grid;gap:1.1rem;grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:700px){.fam .ins-grid{grid-template-columns:1fr}}
.fam .ins-card{border:1px solid rgba(255,255,255,.22);padding:1.3rem 1.3rem 1.4rem;display:grid;gap:.7rem;text-decoration:none;color:#EEF0F7}
.fam .ins-card:hover{border-color:#F4C7A6}
.fam .ins-card .meta{font-family:var(--mono);font-size:.7rem;color:#F4C7A6}
.fam .ins-card h3{font-size:clamp(1.2rem,1.8vw,1.45rem);font-weight:500;color:#fff;line-height:1.22}
/* closing */
.fam .closing{display:grid;gap:1.3rem 3rem;align-items:center}
@media(min-width:860px){.fam .closing{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}}
.fam .closing h2{font-size:clamp(1.6rem,3vw,2.2rem)}
.fam .closing p{color:var(--ink-2);margin-top:.6rem;max-width:58ch;font-family:var(--body)}
.fam .mailbox{border:1.5px solid var(--ink);background:var(--card);padding:1rem 1.15rem;display:grid;gap:.5rem}
.fam .mailbox small{font-family:var(--mono);font-size:.7rem;color:var(--ink-2)}
.fam .mail{font-family:var(--display);font-weight:600;font-size:clamp(1.1rem,2.3vw,1.45rem);word-break:break-all;user-select:all}
/* indexes */
.fam .idx-grid{display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:900px){.fam .idx-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.fam .idx-grid{grid-template-columns:1fr}}
.fam .idx{display:grid;gap:.25rem;padding:1.1rem 1.15rem;background:var(--card);border:1px solid var(--rule);text-decoration:none}
.fam .idx strong{font-family:var(--display);font-size:1.8rem;font-weight:700}
.fam .idx span{font-family:var(--ui);font-weight:600;font-size:.86rem}
.fam .idx small{font-family:var(--body);font-size:.92rem;color:var(--ink-2)}
.fam .idx:hover{border-color:var(--orange)}
/* home deals and project pages: the gate sits on the theme palette */
#deals .gate,.project-gate .gate{margin-bottom:1rem}
.deal-locked{opacity:.85}
@media (prefers-reduced-motion:no-preference){.fam .pdw .ln-b,.fam .pdw .ln-o{stroke-dasharray:4000;animation:famdraw 1.6s ease-out both}@keyframes famdraw{from{stroke-dashoffset:4000}to{stroke-dashoffset:0}}}

/* 1.4.6: extended service card (family offices) */
.fam .svc-card.svc-wide{grid-column:1/-1;align-content:start}
.fam .svc-wide .svc-lead{max-width:62ch;margin:0;font-size:1.02rem;line-height:1.55}
.fam .svc-wide .svc-blocks{display:grid;gap:1rem 1.6rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));padding:.9rem 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.fam .svc-wide h4{font-family:var(--ui);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;margin:0 0 .45rem;color:var(--ink)}
.fam .svc-wide ul{margin:0;padding-left:1.05rem;font-size:.93rem;line-height:1.5}
.fam .svc-wide li+li{margin-top:.3rem}
.fam .svc-wide .svc-block.out ul{color:var(--muted,#667);list-style:"– "}
.fam .svc-rel{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin:0}
.fam .svc-rel>span{font-family:var(--ui);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;margin-right:.3rem}
.fam .fo-line{margin:1.4rem 0 0;padding:.8rem 1rem;border-left:4px solid var(--orange);background:var(--card);font-size:.98rem;line-height:1.5;max-width:78ch}
.fam .fo-line b{font-family:var(--ui);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;margin-right:.6rem}
.fam .fo-line a{font-family:var(--ui);font-weight:600;color:var(--orange);margin-left:.3rem;white-space:nowrap}

/* 1.4.6: family-office note */
.fam .go-row{display:flex;gap:1.2rem;margin:0}
.fam .btn-line{display:inline-block;font-family:var(--ui);font-weight:600;font-size:.92rem;text-decoration:none;border:1.5px solid var(--ink);color:var(--ink);padding:.62rem 1rem;border-radius:999px}
.fam .btn-line:hover{border-color:#E6792E;color:#E6792E}
.fnote .btns{display:flex;flex-wrap:wrap;gap:.7rem;margin:.4rem 0 0}
.fnote .sheet-main h1{font-size:clamp(1.9rem,4vw,3rem);line-height:1.08;max-width:20ch}
.fnote .lede{max-width:56ch}
.fnote .two{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.fnote .tcard{background:var(--card);border:1px solid var(--rule);border-top:4px solid var(--orange);padding:1.1rem 1.2rem;display:grid;gap:.5rem;align-content:start}
.fnote .tcard .k,.fnote .tline .k{font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;color:var(--orange);text-transform:uppercase}
.fnote .tcard h3{font-size:1.2rem}
.fnote .tcard p,.fnote .prose p,.fnote .prose li,.fnote .tline p,.fnote .tline li{line-height:1.6}
.fnote .note-p{margin:1rem 0 0;max-width:68ch;color:var(--ink)}
.fnote .split{display:grid;gap:clamp(1.2rem,3vw,2.4rem);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}
@media(max-width:860px){.fnote .split{grid-template-columns:1fr}}
.fnote .prose{display:grid;gap:.7rem;max-width:62ch}
.fnote .prose h2{font-size:clamp(1.4rem,2.6vw,1.9rem);font-weight:600}
.fnote .prose ul{margin:0;padding-left:1.1rem;display:grid;gap:.35rem}
.fnote .spv{margin:0;background:var(--card);border:1.5px solid var(--ink);padding:1rem}
.fnote .spv svg{width:100%;height:auto;display:block;color:var(--ink)}
.fnote .spv .bx rect{fill:var(--paper,#fff);stroke:var(--ink);stroke-width:1.5}
.fnote .spv .bx.main rect{stroke:var(--orange);stroke-width:2.5}
.fnote .spv .bx.lend rect{stroke-dasharray:5 4}
.fnote .spv text{font-family:var(--ui);font-size:15px;font-weight:600;fill:var(--ink);text-anchor:middle}
.fnote .spv text.s{font-family:var(--mono);font-size:11px;font-weight:400;opacity:.8}
.fnote .spv text.lab{font-family:var(--mono);font-size:11.5px;font-weight:400}
.fnote .spv text.or{fill:var(--orange)}
.fnote .spv .ln path{fill:none;stroke:var(--ink);stroke-width:1.5}
.fnote .spv .ln.inc path{stroke:var(--orange);color:var(--orange)}
.fnote .spv figcaption{font-size:.82rem;margin-top:.6rem;opacity:.85}
.fnote .pack{background:var(--card);border:1px solid var(--rule);border-left:4px solid var(--ink);padding:1rem 1.2rem}
.fnote .pack h4{font-family:var(--ui);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;margin:0 0 .5rem}
.fnote .pack ul{margin:0;padding-left:1.1rem;display:grid;gap:.35rem;line-height:1.5}
.fnote .tline{list-style:none;margin:0;padding:0;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));counter-reset:t}
.fnote .tline>li{position:relative;background:var(--card);border:1px solid var(--rule);padding:1.1rem 1.2rem 1.2rem;display:grid;gap:.5rem;align-content:start}
.fnote .tline>li::before{counter-increment:t;content:counter(t);position:absolute;top:-.9rem;left:1.1rem;width:1.8rem;height:1.8rem;border-radius:50%;background:var(--orange);color:#fff;font-family:var(--mono);font-size:.85rem;display:grid;place-items:center}
.fnote .tline h3{font-size:1.2rem}
.fnote .tline ul{margin:0;padding-left:1.1rem;display:grid;gap:.35rem}
.fnote .notdo{margin:2rem 0 1.4rem;padding:1rem 1.2rem;border:1.5px dashed var(--ink);max-width:78ch}
.fnote .notdo h3{font-family:var(--ui);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;margin:0 0 .4rem}
.fnote .notdo p{margin:0;line-height:1.6}
.fnote .mailbox .btn-line{margin-top:.5rem;text-align:center}
.fam .pdw .lines-img{position:absolute;display:block;max-width:none}
.fam .fo-hero .ovl{position:absolute}
.fam .fo-hero .cl{fill:none;stroke:var(--orange);stroke-width:2.2;stroke-dasharray:14 9}
.fam .fo-hero .dim,.fam .fo-hero .tick,.fam .fo-hero .ld{fill:none;stroke:var(--orange);stroke-width:2.2}
.fam .fo-hero .ld{stroke:var(--ink);stroke-width:1.6}
.fam .fo-hero .pt{fill:var(--card);stroke:var(--orange);stroke-width:2.5}
.fam .fo-hero text{font-family:var(--mono);font-size:30px;letter-spacing:.06em;fill:var(--ink)}
.fam .fo-hero .tx-o{fill:var(--orange);font-size:34px}
.fam .fo-hero .tx{font-size:28px}.fam .fo-hero .tx-o{font-size:36px}

/* 1.4.6: Family Offices, standalone service – marble and brass */
.fam[data-fam="fo"],.fam .idx[data-fam="fo"]{--ink:#2A3346;--ink-2:#565E70;--sheet:#F2F0EB;--pencil:#8C7A55;--pencil-soft:#8C7A552E;--orange:#A0782C;--rule:#D6D2C8}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .fam[data-fam="fo"]{--ink:#E4E6EC;--ink-2:#B8BCC6;--sheet:#1C1F26;--pencil:#C2AE83;--pencil-soft:#C2AE832E;--orange:#D2A64E;--rule:#474B55}}
:root[data-theme="dark"] .fam[data-fam="fo"]{--ink:#E4E6EC;--ink-2:#B8BCC6;--sheet:#1C1F26;--pencil:#C2AE83;--pencil-soft:#C2AE832E;--orange:#D2A64E;--rule:#474B55}
.fam .idx-solo{margin:0 0 1rem;display:grid}
.fam .idx-solo .idx{border-top:4px solid #A0782C}
.fam .fo-hero .ghost{opacity:.5;filter:none}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .fam .fo-hero .ghost{opacity:.35}}
:root[data-theme="dark"] .fam .fo-hero .ghost{opacity:.35}
.fnote .split.one{grid-template-columns:minmax(0,1fr)}
.blur{filter:blur(4.5px);user-select:none;-webkit-user-select:none;pointer-events:none}
.fnote .mk-h{margin:1.8rem 0 .6rem;font-size:1.05rem}
.fnote .mk-h a{text-decoration:none;color:var(--ink)}
.fnote .mk-h b{font-family:var(--mono);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--orange);margin-right:.4rem}
.fnote .ledger.mk td{vertical-align:top;font-size:.92rem;line-height:1.45}
.fnote .ledger.mk td:nth-child(2){min-width:16em}
.fnote .ledger.mk .chip{white-space:normal}
.fnote .mk-out{font-family:var(--mono);font-size:.72rem;opacity:.7}
.fnote .mk-tabs{margin-top:1rem !important;display:grid;gap:.6rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin:0 0 1rem}
.fnote .mk-tab{display:grid;gap:.15rem;text-align:left;cursor:pointer;background:var(--card);border:1.5px solid var(--rule);border-top:4px solid var(--rule);padding:.7rem .85rem;font:inherit;color:var(--ink)}
.fnote .mk-tab b{font-family:var(--mono);font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}
.fnote .mk-tab span{font-size:.82rem;line-height:1.3;color:var(--ink-2)}
.fnote .mk-tab small{font-family:var(--mono);font-size:.7rem;color:var(--ink-2)}
.fnote .mk-tab:hover{border-color:var(--ink)}
.fnote .mk-tab[aria-selected="true"]{border-color:var(--ink);border-top-color:var(--orange);background:var(--sheet)}
.fnote .mk-tab:focus-visible{outline:2px solid var(--orange);outline-offset:2px}
.fnote .mk-more{margin:.6rem 0 0;font-family:var(--ui);font-size:.85rem}
.fnote .mk-more a{color:var(--orange);font-weight:600}
.fnote .ledger.rp td{vertical-align:top}.fnote .ledger.rp .chip{white-space:normal}.fnote .ledger.rp td:nth-child(2){min-width:18em}

/* 1.4.6: Family Offices – alternating solid bands; the cross pattern stays on every band. */
.fnote{--band-a:#DCD5C6;--band-b:#ECDDB9;--band-c:#2A3346}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .fnote{--band-a:#232731;--band-b:#2A2619;--band-c:#0F1218}}
:root[data-theme="dark"] .fnote{--band-a:#232731;--band-b:#2A2619;--band-c:#0F1218}
.fnote>.sec{padding-block:clamp(2.2rem,5vw,3.6rem)}
.fnote>.band-a{background:var(--band-a) var(--cross) -48px -48px/96px 96px}
.fnote>.band-b{background:var(--band-b) var(--cross) -48px -48px/96px 96px}
.fnote>.band-a .tcard,.fnote>.band-a .pack,.fnote>.band-a .tline>li,.fnote>.band-b .tcard,.fnote>.band-b .pack,.fnote>.band-b .tline>li{background:var(--sheet)}
.fnote>.band-a .mk-tab,.fnote>.band-b .mk-tab{background:var(--sheet)}
.fnote>.band-a .mk-tab[aria-selected="true"],.fnote>.band-b .mk-tab[aria-selected="true"]{background:#fff}
.fnote>.band-c{background:var(--band-c) url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20width%3D%2796%27%20height%3D%2796%27%3E%3Cpath%20d%3D%27M48%2043v10M43%2048h10%27%20stroke%3D%27%23ffffff%27%20stroke-opacity%3D%27.22%27%20stroke-width%3D%271%27/%3E%3C/svg%3E") -48px -48px/96px 96px;color:#F2F0EB}
.fnote>.band-c h2,.fnote>.band-c p{color:#F2F0EB}
.fnote>.band-c .mailbox{background:var(--sheet);color:var(--ink)}
.fnote>.band-c .mailbox .btn-line{border-color:var(--ink);color:var(--ink)}
.fnote .xref{margin-top:1.8rem;padding-top:1rem;border-top:1px solid var(--rule);display:grid;gap:.45rem}
.fnote .xref p{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:.3rem}
.fnote .xref span{font-family:var(--mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);min-width:12em}
.fnote .xref .chip{white-space:normal;margin:0;background:var(--sheet)}
.fnote .xref.in{margin-top:auto;padding-top:.8rem;gap:.35rem}
.fnote .xref.in p{gap:.25rem}
.fnote .xref.in span{display:block;width:100%;min-width:0;font-size:.62rem;margin-top:.15rem}
.fnote .xref.in .chip{font-size:.66rem}
.fnote .tcard,.fnote .tline>li{display:flex;flex-direction:column;gap:.5rem}
/* compact cross-links */
.fnote .xref,.fnote .xref.in{display:block;margin-top:auto;padding-top:.7rem;border-top:1px solid var(--rule);font-family:var(--mono);font-size:.72rem;line-height:1.7;gap:0}
.fnote .xref a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--rule)}
.fnote .xref a:hover{color:var(--orange);border-color:var(--orange)}
.fnote .xref a.g{color:var(--orange)}
.fnote .xref a.s{text-transform:uppercase;letter-spacing:.05em}
.fnote .xref i{font-style:normal;margin:0 .4em;opacity:.45}
.fnote section>.wrap>.xref{margin-top:1.4rem}
.fnote .xref a{white-space:nowrap}.fnote .xref i{margin:0 .15em}
.fnote .sec-head p a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--orange);text-underline-offset:3px}
.fnote .ledger.rp .t a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--orange);text-underline-offset:3px}.fnote .rp-live{font-family:var(--mono);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:var(--orange);padding:.05rem .35rem;border-radius:2px;margin-left:.3rem;vertical-align:middle}
