/* September 2026: approved editorial layouts. Existing page styles supply the brand tokens. */
[hidden]{display:none!important}
.refined :is(button,a,select,input):focus-visible{outline:2px solid currentColor;outline-offset:5px}
.refined .reading-links a{color:var(--ink);text-decoration:underline;text-underline-offset:5px}
.home-refined .hero>.wrap{position:relative;z-index:2}
.home-refined .hero{min-height:100vh;min-height:100svh;padding-bottom:104px}
.hero-scroll{position:absolute;right:clamp(24px,5vw,84px);bottom:25px;z-index:3;display:flex;gap:16px;align-items:center;min-height:44px;font:400 12px/1.5 "General Sans",Arial,sans-serif;letter-spacing:.04em;color:#f3f3f3;text-shadow:0 1px 8px #08121f}
.hero-scroll span{font-size:22px}
.home-refined #about-the-firm{scroll-margin-top:0}
.story-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px}
.home-refined .story-actions .btn{margin:0;min-width:166px;text-align:center}
.home-refined .story-actions .btn-line{background:transparent;color:#f3f3f3;border-color:#c7cdd6}
.story-actions .process-arrow{display:none}
.cert-arrow-mobile{display:none}
.about-refined .letter .about-principles{font-size:14px;font-weight:500;letter-spacing:.06em;color:#0c1a2d;margin-bottom:25px}
/* Founder introduction occupies the future video position without a placeholder. */
.home-refined .story{margin-top:0;border-radius:0;min-height:82svh;display:flex;align-items:center;padding:88px 0}
.home-refined .story-founder{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(0,1fr);align-items:center;gap:88px;width:100%;max-width:1280px}
.home-refined .story-copy{min-width:0}
.home-refined .story .eyebrow{color:#d7b486;margin-bottom:26px}
.home-refined .story h2{font-size:clamp(52px,5.4vw,76px)!important;line-height:1.06;letter-spacing:-.025em;max-width:640px;margin:0 0 30px;color:#f3f3f3}
.home-refined .story .btn-gold{background:#d7b486;color:#0c1a2d;border-color:transparent}
.home-refined .story-lede{max-width:510px;margin:0 0 30px;font-size:18px;line-height:1.8;color:#c7cdd6}
@media(max-width:760px){
 .story-actions .process-arrow{display:inline-block;vertical-align:-2px;margin-left:12px}
 .home-refined .affil-card .ac-more::after{content:none}
 .home-refined .affil-card .cert-arrow-mobile{display:inline-block;width:16px;height:16px;vertical-align:-2px;margin-left:6px;color:#d7b486}
}
.story-founder-media{margin:0;max-width:460px;width:100%;justify-self:end}
.founder-portrait-link{display:block;border-radius:4px;color:#d7b486}
.home-refined .story-founder-media img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:4px}
.story-founder-media figcaption{display:flex;flex-direction:column;gap:5px;margin-top:22px;text-align:left}
.story-founder-media figcaption span:first-child{font-size:17px;color:#f3f3f3}
.story-founder-media figcaption span:last-child{font-size:12px;color:#c7cdd6;letter-spacing:.03em}
.home-refined .services>.wrap,.home-refined .why>.wrap,.home-refined .tech>.wrap{max-width:1280px}
.home-refined .stats{position:relative;margin-top:0;border:0;border-radius:0;padding:92px 0}
.home-refined .services{padding:112px 0 120px}
.home-refined .services h2{font-size:clamp(36px,4.4vw,58px)!important;max-width:800px!important}
.home-refined .svc3>a{background:transparent;border:0;border-radius:0;box-shadow:none;color:#f3f3f3}
.home-refined .svc3>a:hover{box-shadow:none;transform:translateY(-4px)}
.home-refined .svc3 .sc-img{height:300px;border-radius:6px;overflow:hidden}
.home-refined .svc3 .sc-body{padding:28px 0 0;background:transparent}
.home-refined .svc3 h3{color:#f3f3f3;font-size:25px;font-weight:500}
.home-refined .svc3 p{color:#c7cdd6;font-size:16px}
.home-refined .svc3 .more{color:#d7b486;border-color:rgba(243,243,243,.2)}
/* Owner review: the original three image tiles, at the larger section scale. */
.home-refined .why{padding:112px 0 120px;background:#0c1a2d;--ink-soft:#c7cdd6}
.home-refined .why h2{color:#f3f3f3}
.home-refined .why>.wrap>.eyebrow{color:#d7b486}
.home-refined .why-card{background:#08121f;border:1px solid #526071;box-shadow:0 16px 36px rgba(0,0,0,.12)}
.home-refined .why-card .w-body h3,.home-refined .why-card .w-body a{color:#f3f3f3}
.home-refined .why-card .w-body p{color:#c7cdd6}
.home-refined .why-card .w-body a:hover{text-decoration-color:#f3f3f3}
.home-refined .why h2{font-size:clamp(36px,4.3vw,58px)!important;max-width:800px!important}
.home-refined .why-grid{gap:28px;margin-top:56px}
.home-refined .why-card .ph-img{height:300px}
.home-refined .why-card .ph-img img{height:100%;object-fit:cover}
.home-refined .why-card .w-body{padding:30px 28px 36px}
.home-refined .why-card h3{font-size:20px;line-height:1.4}
.home-refined .why-card p{font-size:16px;line-height:1.75}
.home-refined .investing-section{background:#f3f3f3;padding:72px 0;min-height:100svh;display:flex;align-items:center}
.home-refined .investing-section>.wrap{max-width:1180px;width:100%}
.home-refined .investing-section .portfolio-explorer{margin:0}
.home-refined .investing-section .eyebrow{color:#7d5f33}
/* Light custody chapter maintains the owner-requested navy/light sequence after Why. */
.home-refined .tech{border:0;padding:126px 0 116px;min-height:86svh;display:flex;align-items:center;background:#f3f3f3;--ink-soft:#4a5568;--gold-text:#7d5f33}
.home-refined .tech h2,.home-refined .tech a{color:#0c1a2d}
.home-refined .tech .eyebrow{color:#4a5568}
.home-refined .tech p,.home-refined .tech .tech-list li{color:#4a5568}
.home-refined .tech .tech-list li{border-bottom-color:#c7cdd6}
.home-refined .tech .tech-list li::before{background:#0c1a2d;border-color:#0c1a2d}
.home-refined .tech .cust-lockup .altruist-logo{filter:brightness(0)}
.home-refined .tech>.wrap{width:100%}
.home-refined .tech-in{grid-template-columns:1.1fr .9fr;gap:86px;align-items:start}
.home-refined .tech h2{font-size:clamp(34px,3.8vw,52px);line-height:1.15;max-width:500px}
.home-refined .tech .shot{position:relative;aspect-ratio:958/719;border:0;box-shadow:none;background:transparent;border-radius:12px;max-width:540px;margin:0 auto 20px;overflow:hidden}
/* Crop through container geometry so reveal rules cannot restore the source image edge. */
.home-refined .tech .reveal .shot img{position:absolute;left:-.2%;top:0;width:100.4%;max-width:none;height:auto;clip-path:none}
.home-refined .tech .fine{margin-top:44px;font-size:12.5px;line-height:1.7;opacity:1}
.home-refined .tech-list{margin-top:26px}
.home-refined .affil-sec{padding:98px 0 104px}
.home-refined .affil-sec h2{font-size:clamp(32px,3.8vw,48px);max-width:640px}
.home-refined .affil-grid{gap:32px}
.home-refined a.affil-card{background:transparent;border:0;border-radius:0;padding:26px 0 0;border-top:1px solid rgba(243,243,243,.25);box-shadow:none}
.home-refined a.affil-card:hover{transform:none;background:transparent}
.home-refined .affil-card h3{font-size:17px}
.home-refined .faqs{padding:98px 0 110px!important}
.home-refined .cta{padding:104px 0}

/* Compact explorer: descriptions open beside the selected asset class. */
.portfolio-explorer{color:#0c1a2d;margin:90px 0 70px}
.portfolio-explorer .pe-heading{max-width:900px;margin-bottom:28px}
.portfolio-explorer h2{font-family:"Editor's Note","Lora",Georgia,serif;font-weight:300;font-size:clamp(34px,3.4vw,46px);letter-spacing:-.02em;line-height:1.1;color:#0c1a2d;margin:0 0 16px}
.portfolio-explorer .pe-heading>p:last-child{color:#4a5568;font-size:18px;line-height:1.7;max-width:700px}
.pe-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:66px;align-items:start}
.pe-ring{position:relative;max-width:340px;margin:0 auto;container-type:inline-size}
.pe-ring svg{width:100%;height:auto;display:block;overflow:visible}
.pe-ring path{cursor:pointer;transition:transform .32s cubic-bezier(.2,.7,.2,1),opacity .25s,filter .25s;transform-origin:260px 260px;stroke:transparent;stroke-width:1.5}
.pe-exploring .pe-ring path:not(.is-selected){opacity:.32}
.pe-ring path.is-selected{transform:translate(var(--pe-x),var(--pe-y)) scale(1.035);filter:drop-shadow(0 5px 7px rgba(12,26,45,.18));stroke:rgba(12,26,45,.22)}
.pe-ring [data-pe-arc]{pointer-events:none}
.pe-ring .pe-hit{pointer-events:all;transform:none;filter:none;opacity:1;stroke:none;transition:none}
.pe-center{position:absolute;inset:27% 26%;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;pointer-events:none}
.pe-center-group{font-size:10px;letter-spacing:.12em;text-transform:uppercase;line-height:1.5;margin-bottom:12px;color:#4a5568}
.pe-center-name{font-family:"Editor's Note","Lora",Georgia,serif;font-weight:300;font-size:clamp(23px,2.25vw,30px);line-height:1.12}
.pe-center-hint{font-size:11px;margin-top:14px;color:#4a5568}
.pe-center-name{max-width:100%;overflow-wrap:normal;text-wrap:balance}
.pe-ring .pe-center-name{font-size:clamp(20px,8cqw,30px)}
.pe-ring .pe-center .pe-name-long{font-size:clamp(18px,6.5cqw,23px);line-height:1.12}
.pe-exploring .pe-center-hint{display:none}
@container(max-width:350px){.pe-center-hint{display:none}.pe-center-group{font-size:9px;margin-bottom:10px}}
.portfolio-explorer:not(.pe-exploring) .pe-center-name{font-size:clamp(25px,2.5vw,33px);line-height:1.12}
.pe-reset{display:none;align-items:center;justify-content:center;gap:12px;border:0;border-bottom:1px solid #c7cdd6;background:transparent;font:400 13px/1.5 "General Sans",Arial,sans-serif;color:#0c1a2d;padding:10px 2px;margin:14px auto 0;cursor:pointer;min-height:44px}
.pe-ready .pe-reset{display:flex}
.pe-reset-slot{min-height:50px}
.pe-reset:hover{border-color:#0c1a2d}
.pe-choice-arrow{margin-left:auto;flex:none;transition:transform .2s}
.pe-item[open] .pe-choice-arrow{transform:rotate(180deg)}
.portfolio-explorer .pe-group-title{display:flex;align-items:center;justify-content:space-between;gap:12px}
.pe-caption{font-size:12px;line-height:1.6;color:#4a5568;text-align:center;margin:8px auto 0}
.pe-desktop-hint{display:block;margin-top:4px}
.pe-controls{padding-top:10px;min-width:0}
.pe-choices{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px}
.pe-ready .pe-choices{display:grid}
.pe-choice-group+.pe-choice-group{margin-top:22px}
.portfolio-explorer .pe-group-title{font:500 11px/1.5 "General Sans",Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#4a5568;margin:0 0 9px}
.pe-item summary{display:flex;list-style:none;align-items:center;gap:10px;width:100%;text-align:left;border:0;padding:10px 8px;background:transparent;font:400 14px/1.4 "General Sans",Arial,sans-serif;color:#0c1a2d;cursor:pointer;min-height:46px}
.pe-item{border-bottom:1px solid #c7cdd6}
.pe-item summary::-webkit-details-marker{display:none}
.pe-item[open]{background:#fff;box-shadow:inset 2px 0 #0c1a2d}
.pe-item[open] summary{font-weight:500}
.pe-item summary:focus-visible{outline:2px solid #0c1a2d;outline-offset:-2px}
.pe-inline-description{font-size:13px;line-height:1.7;color:#4a5568;margin:0;padding:0 18px 15px 27px}
.pe-mobile-description{display:none;font-size:14px;line-height:1.7;color:#4a5568;margin:16px 0 0}
.pe-dot{width:9px;height:9px;border-radius:50%;flex:none}
.pe-bottom{display:flex;justify-content:space-between;align-items:start;gap:40px;border-top:1px solid #c7cdd6;margin-top:20px;padding-top:22px}
.pe-bottom>p{max-width:530px;color:#4a5568;font-size:12px;line-height:1.7;margin:0}
.pe-reading{display:flex;flex-direction:column;gap:10px;font-size:14px}
.pe-reading a,.pe-more{color:#0c1a2d;text-decoration:underline;text-underline-offset:4px}
.pe-select,.pe-mobile-label{display:none}
@media(max-width:1000px){.pe-layout{gap:36px}.pe-choices{gap:20px}.pe-center-name{font-size:25px}.pe-item summary{font-size:13px}}
@media(max-width:760px){
 .portfolio-explorer{margin:64px 0 50px}.portfolio-explorer .pe-heading{margin-bottom:20px}.portfolio-explorer h2{font-size:36px}.portfolio-explorer .pe-heading>p:last-child{font-size:17px}
 .pe-layout{grid-template-columns:1fr;gap:24px}.pe-ring{max-width:330px}.pe-center-name{font-size:26px}.pe-center-group{font-size:9px}
 .pe-ready .pe-choices{display:none}.pe-controls{padding-top:0}.pe-desktop-hint{display:none}
 .pe-ready .pe-mobile-label{display:block;font-size:12px;margin-bottom:8px;font-weight:500}
 .pe-ready .pe-mobile-description{display:block}
 .pe-ready .pe-select{display:block;width:100%;font:400 16px "General Sans",Arial,sans-serif;padding:14px 12px;border:1px solid #c7cdd6;background:#f3f3f3;color:#0c1a2d;border-radius:3px}
 .home-refined .investing-section{min-height:0;padding:64px 0}.pe-choices{grid-template-columns:1fr}.pe-bottom{flex-direction:column;gap:22px;margin-top:28px}
}
@media(prefers-reduced-motion:reduce){.pe-ring path{transition:none}.pe-ring path.is-selected{transform:none;filter:none}}
@media print{.pe-select,.pe-mobile-label,.pe-mobile-description,.pe-reset-slot{display:none!important}.pe-ready .pe-choices{display:grid!important}.pe-item>p{display:block!important}.pe-item::details-content{content-visibility:visible}.pe-visual{max-width:300px}}

/* Service pages: headings and concise summaries occupy the margin, prose retains its measure. */
.service-refined main>section>.wrap{max-width:1220px}
.service-refined .service-opening{display:grid;grid-template-columns:.7fr 1.3fr;gap:80px;align-items:start;margin-bottom:84px}
.service-refined .service-opening>.d-lede{font-family:"Editor's Note","Lora",Georgia,serif;font-weight:300;font-size:29px;line-height:1.35;color:#0c1a2d;margin:0;max-width:350px}
.service-refined .d-fit{max-width:none;background:transparent;border:0;border-radius:0;padding:0 0 0 28px;border-left:1px solid #c7cdd6;margin:0}
.service-refined .d-prose{max-width:none}
.prose-chapter{display:grid;grid-template-columns:.7fr 1.3fr;gap:80px;padding:50px 0;border-top:1px solid #c7cdd6}
.service-refined .prose-chapter>h2{font-size:clamp(28px,2.8vw,38px);line-height:1.18;margin:0;max-width:330px}
.prose-chapter>div{max-width:680px}
.service-refined .prose-chapter p{font-size:17px;line-height:1.8}
.service-refined .d-list{max-width:1040px;column-gap:70px}
.service-refined .d-qh{margin-top:72px}
.service-refined .d-faq{max-width:820px}
.reading-links{margin:72px 0 0;padding:32px 0;border-top:1px solid #c7cdd6}
.reading-links h2{font-size:30px;font-weight:300;margin:0 0 22px}
.reading-links ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.reading-links li{font-size:16px;line-height:1.6;padding:0}
.service-refined .d-cross{margin-top:36px}
.about-refined .about-in{display:block;max-width:1200px}
.bio-intro{display:block;max-width:720px;margin:0 auto 64px}
.bio-intro>.portrait{display:block;position:static;width:100%;max-width:420px!important;margin:0 auto 56px!important;outline:0;border-radius:4px;box-shadow:none}
.bio-intro .letter{max-width:720px;margin:0;padding:0}
.bio-intro .letter p{font-size:17px;line-height:1.8}
.bio-intro .letter p+p{margin-top:24px}
.about-refined .about{max-width:720px;margin:0 auto}
.services-refined .card{border:0;box-shadow:none;background:transparent;border-radius:0}
.services-refined .card .sc-body{padding-left:0;padding-right:0}

/* Process-specific styling lives in process-timeline.css. */
@media print{.hero-scroll{display:none}.home-refined .story h2,.home-refined .story-lede,.story-founder-media figcaption span{color:#0c1a2d}}

/* Educational figures and calculator plots are code-native, with text equivalents. */
.learning-figure{padding:32px 0;margin:42px 0;border-top:1px solid #c7cdd6;border-bottom:1px solid #c7cdd6}
.learning-figure figcaption{font-size:14px;color:var(--ink-soft);line-height:1.6;margin-top:20px}
.learning-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;list-style:none!important;margin:0!important;padding:0!important}
.learning-steps li{padding:0!important;font-size:15px;line-height:1.6;position:relative}
/* Step arrows (Oct 1, 2026, Joseph: the arrows were off): a drawn arrow, its ink centred in the 32px gap (about 10px clear each side, the same as the space between the two figure columns' edges) and on the first line of the step heading. Replaces a text glyph that sat on the baseline and nearly touched the next heading. The gap stays at 32px so the longest heading (Coordinated choices, 197px) still fits on one line in the 660px column. */
.learning-steps li:not(:last-child)::after{content:"";position:absolute;right:-25px;top:7px;width:18px;height:18px;background-color:#0c1a2d;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2.5 8h11M9.5 4l4 4-4 4' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2.5 8h11M9.5 4l4 4-4 4' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
.learning-steps strong{display:block;font-family:"Editor's Note","Lora",Georgia,serif;font-size:25px;line-height:1.2;font-weight:300;color:#0c1a2d;margin-bottom:12px}
.learning-steps span{display:block;color:var(--ink-soft)}
.calc-chart{margin-top:24px;padding-top:24px;border-top:1px solid #c7cdd6}
.calc-chart svg{width:100%;height:auto;display:block;overflow:visible}
.calc-chart figcaption{font-size:12px;line-height:1.6;color:var(--ink-soft);margin-top:12px}
.calc-chart text{font-family:"General Sans",Arial,sans-serif;font-size:11px;fill:#0c1a2d}
.calc-chart .chart-key{display:flex;gap:20px;flex-wrap:wrap;font-size:12px;margin-top:12px}
.chart-key span::before{content:"";display:inline-block;width:22px;height:3px;background:#0c1a2d;margin-right:7px;vertical-align:middle}
.chart-key .series-1::before{background:#48a9c5;outline:1px solid #0c1a2d;border-top:1px dashed #0c1a2d}
.calc-chart details{margin-top:16px;font-size:12px}
.calc-chart summary{cursor:pointer;min-height:30px}
.calc-chart .chart-table{max-height:240px;overflow:auto}
.calc-chart table{width:100%;border-collapse:collapse;font-size:12px;font-variant-numeric:tabular-nums}
.calc-chart th,.calc-chart td{text-align:right;padding:7px 4px;border-bottom:1px solid #c7cdd6}
.calc-chart th:first-child,.calc-chart td:first-child{text-align:left}
.calc-validation{font-size:14px;line-height:1.5;margin:12px 0 0;color:#0c1a2d}
.video-poster{position:relative;display:block;aspect-ratio:16/9;width:100%;background:#0c1a2d;overflow:hidden;color:#f3f3f3}
.video-poster img{width:100%;height:100%;object-fit:cover;opacity:.5}
.video-poster span{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;font-size:16px}
.video-poster svg{width:64px;height:64px}
.video-poster:focus-visible{outline-offset:-6px}
.vid iframe{border:0}

@media(max-width:1000px){
 .home-refined .tech-in{gap:44px}.home-refined .story-founder{gap:44px}
 .service-refined .service-opening,.prose-chapter{gap:44px}
}
@media(max-width:760px){
 .home-refined .story{min-height:0;padding:80px 0}.home-refined .story-founder{grid-template-columns:1fr;gap:48px}.home-refined .story h2{font-size:clamp(44px,11.5vw,62px)!important;margin-bottom:26px}.home-refined .story-lede{font-size:17px;line-height:1.8}.story-values{gap:16px 24px;margin-top:32px}.story-founder-media{max-width:440px;justify-self:center}.story-founder-media figcaption span:first-child{font-size:16px}
 .home-refined .stats{border-radius:0;margin-top:0;padding:74px 0}
 .home-refined .services{padding:80px 0}.home-refined .services h2{font-size:38px!important}
 .home-refined .svc3 .sc-img{height:260px}.home-refined .svc3 .sc-body{padding-top:22px}
 .home-refined .why{padding:80px 0}.home-refined .why-grid{margin-top:36px;gap:28px}
 .home-refined .why-card .ph-img{height:240px}.home-refined .why-card .w-body{padding:26px}
 .home-refined .investing-section{padding:80px 0}
 .home-refined .tech{padding:90px 0;min-height:0}.home-refined .tech-in{grid-template-columns:1fr;gap:46px}
 .home-refined .tech h2{font-size:38px}.home-refined .tech .fine{margin-top:30px}
 .home-refined .affil-sec{padding:80px 0}
 .home-refined a.affil-card{padding:22px 0}.home-refined .affil-grid{gap:10px}
 .home-refined .faqs{padding:80px 0!important}.home-refined .cta{padding:80px 0}
 .service-refined .service-opening{grid-template-columns:1fr;gap:28px;margin-bottom:44px}
 .service-refined .service-opening>.d-lede{max-width:560px;font-size:27px}
 .service-refined .d-fit{padding-left:20px}.prose-chapter{grid-template-columns:1fr;gap:24px;padding:36px 0}
 .service-refined .prose-chapter>h2{max-width:560px;font-size:30px}.service-refined .prose-chapter p{font-size:16px}
 .reading-links{margin-top:50px}.reading-links ul{grid-template-columns:1fr;gap:20px}
 .bio-intro{margin-bottom:48px}.bio-intro>.portrait{max-width:380px!important;margin:0 auto 40px!important}
 .bio-intro .letter p{font-size:16px}
 .learning-steps{grid-template-columns:1fr;gap:32px}.learning-steps li:not(:last-child)::after{display:none}
}
@media(prefers-reduced-motion:reduce){.home-refined .svc3>a{transition:none}.home-refined .svc3>a:hover{transform:none}}
/* Blog: one feature, six recent guides, and a compact, crawlable topic library. */
.blog-feature{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:70px;align-items:center;margin:10px 0 92px;color:#0c1a2d}
.blog-feature img{display:block;width:100%;height:440px;object-fit:cover;border-radius:4px}
.blog-feature h2{font-size:clamp(32px,3.5vw,48px);line-height:1.12;margin-bottom:24px}
.blog-feature p:not(.eyebrow){font-size:17px;line-height:1.75;color:var(--ink-soft)}
.feature-link{display:block;margin-top:24px;font-size:14px;text-decoration:underline;text-underline-offset:5px}
.blog-refined .pcard{border:0;border-radius:0;background:transparent;box-shadow:none}
.blog-refined .pc-body{padding:24px 0 30px}
.blog-refined .pc-img{border-radius:4px}
.blog-library{margin-top:88px}
.blog-library>h2{font-size:40px;margin-bottom:34px}
.blog-topic{border-top:1px solid #c7cdd6}
.blog-topic:last-child{border-bottom:1px solid #c7cdd6}
.blog-topic>summary{font-family:"Editor's Note",Georgia,serif;font-weight:300;font-size:30px;padding:24px 0;cursor:pointer}
.blog-topic>summary span{float:right;font:400 13px/2 "General Sans",Arial,sans-serif;color:var(--ink-soft);padding-top:5px}
.blog-topic ul{list-style:none;margin:0;padding:0 0 28px;display:grid;grid-template-columns:1fr 1fr;gap:0 50px}
.blog-topic li a{display:block;padding:18px 0;color:#0c1a2d;border-top:1px solid #c7cdd6;font-size:16px;line-height:1.6}
.blog-topic li a:hover span{text-decoration:underline;text-underline-offset:4px}
.blog-topic time{display:block;font-size:12px;color:var(--ink-soft);margin-top:6px}
@media(max-width:760px){.blog-feature{grid-template-columns:minmax(0,1fr);gap:32px;margin-bottom:64px}.blog-feature img{height:300px}.blog-topic ul{grid-template-columns:1fr}.blog-topic>summary{font-size:24px}.blog-topic>summary span{font-size:11px}.blog-library>h2{font-size:34px}}

.calculators-refined .calc{min-width:0}.calculators-refined .r-value{overflow-wrap:anywhere}.calc-chart text{font-size:10px}

.home-refined .custody-update{font-size:13px;color:#c7cdd6;margin:40px 0 0;max-width:780px}.custody-update a{color:inherit;text-decoration:underline;text-underline-offset:4px}

/* Compact aligned calculator workspaces; notes sit below both columns. */
.calculators-refined .calculator-tools{padding:52px 0 80px}
.calculators-refined .calc-grid{display:block;max-width:1200px}
.calc-jumps{display:flex;flex-wrap:wrap;gap:16px 36px;padding-bottom:26px;border-bottom:1px solid #c7cdd6}
.calc-jumps a{font-size:14px;color:#0c1a2d;text-decoration:underline;text-underline-offset:5px;padding:8px 0}
.calculators-refined .calc{padding:60px 0 66px;border-bottom:1px solid #c7cdd6;scroll-margin-top:14px}
.calculators-refined .calc:last-child{border-bottom:0;padding-bottom:16px}
.calc-intro{max-width:740px;margin-bottom:28px}
.calc-intro h2{font-family:"Editor's Note","Lora",Georgia,serif;font-size:clamp(32px,3.4vw,44px);line-height:1.15;font-weight:300;color:#0c1a2d;margin-bottom:12px}
.calculators-refined .calc .sub{font-size:17px;line-height:1.6;margin:0}
.calc-workspace{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:64px;align-items:stretch}
.calc-inputs,.calc-output{min-width:0}
.calc-inputs{display:flex;flex-direction:column;justify-content:space-between;gap:16px;padding-top:20px}
.calc-field{margin:0}
.calculators-refined .calc label{font-size:13px;line-height:1.4;font-weight:500;margin:0 0 8px}
.calculators-refined .calc input{padding:14px 16px;border-radius:4px;background:#fff;height:50px}
.calculators-refined .result{text-align:left;margin:0;padding:20px 24px;border-radius:4px;min-height:133px}
.calculators-refined .r-value{font-size:clamp(30px,2.8vw,38px);line-height:1.15}
.calculators-refined .r-note{line-height:1.6;margin-top:8px}
.calculators-refined .calc-chart{margin:18px 0 0;padding:0;border:0}
.calculators-refined .calc-chart svg{max-height:228px;width:100%;height:auto}
.calculators-refined .calc-chart .chart-key{margin-top:8px;font-size:11px;gap:20px}
.calc-support{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:40px;margin-top:24px;padding-top:20px;border-top:1px solid #c7cdd6;align-items:start}
.calc-support>p{font-size:12px;line-height:1.75;color:#4a5568;margin:0}
.calc-support details{font-size:12px;color:#0c1a2d;min-width:0}
.calc-support summary{cursor:pointer;min-height:36px;line-height:1.6}
.calc-support .chart-table{max-height:250px;overflow:auto}
.calc-support table{width:100%;border-collapse:collapse;font-size:12px;font-variant-numeric:tabular-nums}
.calc-support th,.calc-support td{text-align:right;padding:7px 4px;border-bottom:1px solid #c7cdd6;white-space:nowrap}
.calc-support th:first-child,.calc-support td:first-child{text-align:left}
.calc-validation:empty{display:none}
.calculators-refined .calc-note{text-align:left;max-width:1200px;margin-top:32px;font-size:13px;line-height:1.8}
@media(max-width:1000px){.calc-workspace{gap:36px}.calculators-refined .result{min-height:145px}.calc-support{gap:28px}}
@media(max-width:760px){.calculators-refined .calculator-tools{padding:36px 0 60px}.calc-jumps{display:grid;grid-template-columns:1fr 1fr;gap:8px 22px}.calc-jumps a{font-size:13px}.calculators-refined .calc{padding:46px 0 52px}.calc-intro{margin-bottom:28px}.calc-workspace{grid-template-columns:1fr;gap:28px}.calc-inputs{display:grid;grid-template-columns:1fr 1fr;gap:20px 16px;padding-top:0}.calc-field{min-width:0}.calculators-refined .calc label{min-height:2.8em;margin-bottom:6px;font-size:12px}.calculators-refined .calc input{padding:12px 10px}.calc-validation{grid-column:1/-1}.calculators-refined .result{padding:20px;min-height:0}.calculators-refined .calc .sub{font-size:16px}.calc-support{grid-template-columns:1fr;gap:18px}.calculators-refined .calc-chart .chart-key{font-size:10px;gap:14px}.calculators-refined .calc-chart text{font-size:14px}}
@media(max-width:360px){.calc-inputs{grid-template-columns:1fr}.calculators-refined .calc label{min-height:0}}

/* Keep loaded photography visible; a short, early section fade is sufficient. */
.client-login-refined .portal-wrap{max-width:1180px}
.client-login-refined .login-sec{padding:80px 0 90px}
.client-login-refined .portal-grid{gap:56px}
.client-login-refined .portal{position:relative;display:flex;flex-direction:column;align-items:flex-start;padding:0;background:transparent;border:0;box-shadow:none;border-radius:0;color:#0c1a2d}
.portal-symbol{position:absolute;right:0;top:0;display:block;width:56px;height:56px;color:#0c1a2d}
.client-login-refined .portal .eyebrow{color:#7d5f33;margin-bottom:12px}
.client-login-refined .page-hero{padding:140px 0 54px}.client-login-refined .portal h2{padding-right:75px;font-size:42px;color:#0c1a2d;margin:0 0 22px}
.client-login-refined .portal>p:not(.eyebrow):not(.portal-note){font-size:17px;line-height:1.8;color:#4a5568;margin:0 0 26px;min-height:5.4em}
.portal-features{list-style:none;padding:0;margin:0 0 32px;width:100%}
.portal-features li{padding:14px 0;border-top:1px solid #c7cdd6;font-size:15px;line-height:1.6}
.portal-features li:last-child{border-bottom:1px solid #c7cdd6}
.client-login-refined .portal .btn{margin:0 0 26px;display:flex;justify-content:center;gap:18px;min-width:240px}
.client-login-refined .portal .portal-note{font-size:12px;color:#4a5568;line-height:1.75;margin:20px 0 0;max-width:380px}
.portal-help{display:flex;justify-content:space-between;align-items:center;gap:50px;padding-top:40px;border-top:1px solid #c7cdd6;margin-top:68px}
.portal-help h2{font-size:30px;line-height:1.2;margin:0 0 14px;color:#0c1a2d}
.portal-help p{font-size:15px;line-height:1.7;color:#4a5568;margin:0;max-width:560px}
.portal-help>a{color:#0c1a2d;font-size:15px;text-decoration:underline;text-underline-offset:5px;white-space:nowrap}
@media(max-width:760px){.client-login-refined .login-sec{padding:64px 0}.client-login-refined .portal-grid{grid-template-columns:1fr;gap:56px}.client-login-refined .portal>p:not(.eyebrow):not(.portal-note){min-height:0;font-size:16px}.client-login-refined .portal h2{font-size:36px}.portal-help{align-items:start;flex-direction:column;gap:24px;margin-top:52px}.portal-help h2{font-size:29px}}
.service-refined .service-intro{padding:80px 0}
.service-refined .service-intro .service-opening{margin:0;align-items:start}
.service-refined .service-method{background:#0c1a2d;color:#f3f3f3;padding:100px 0}
.service-method>.wrap>h2{font-size:clamp(36px,3.8vw,50px);font-weight:300;line-height:1.12;color:#f3f3f3;margin:0 0 48px}
.service-method .eyebrow{color:#d7b486}
.service-topics{display:grid;grid-template-columns:1fr 1fr;gap:80px}
.service-topic{min-width:0;padding-top:28px;border-top:1px solid rgba(243,243,243,.25)}
.service-topic .topic-number{font-size:12px;color:#d7b486;letter-spacing:.08em;margin:0 0 18px}
.service-topic h3{font-family:"Editor's Note",Georgia,serif;font-weight:300;font-size:34px;line-height:1.15;color:#f3f3f3;min-height:2.3em;margin:0 0 20px}
.service-topic>p:not(.topic-number){font-size:17px;line-height:1.8;color:#c7cdd6;min-height:5.4em;margin:0 0 24px}
.service-detail>summary{font-size:14px;color:#d7b486;cursor:pointer;padding:12px 0;min-height:44px}
.service-detail>div{margin-top:20px;padding-top:20px;border-top:1px solid rgba(243,243,243,.25)}
.service-detail p{font-size:16px;line-height:1.8;color:#c7cdd6;margin:0 0 20px}
.service-detail p:last-child{margin-bottom:0}
.service-detail strong{color:#f3f3f3;font-weight:500}
.service-detail a{color:#d7b486;text-decoration:underline;text-underline-offset:4px}
.investment-principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:56px;margin-bottom:60px}
.investment-principles svg{display:block;width:52px;height:52px;color:#c7cdd6;margin-bottom:25px}
.investment-principles h3{font-family:"Editor's Note",Georgia,serif;font-weight:300;color:#f3f3f3;font-size:29px;line-height:1.2;margin:0 0 16px}
.investment-principles p{font-size:16px;line-height:1.8;color:#c7cdd6;margin:0}
.service-refined .service-explorer{background:#f3f3f3;padding:88px 0}
.service-explorer .portfolio-explorer{margin:0}
.service-refined .service-inclusions{background:#e9e9e7;padding:80px 0}
.service-inclusions .d-list{margin-bottom:34px}
.service-inclusions .d-menuline{font-size:14px;line-height:1.75;max-width:780px;margin-bottom:0}
.service-refined .service-followthrough{padding:80px 0 90px;background:#f3f3f3}
.service-followthrough .d-qh{margin-top:0;font-size:clamp(32px,3.4vw,44px)}
.service-followthrough .d-faq{max-width:none}
.service-question{border-top:1px solid #c7cdd6}
.service-question:last-child{border-bottom:1px solid #c7cdd6}
.service-question summary{cursor:pointer;font-family:"Editor's Note",Georgia,serif;font-weight:300;font-size:25px;line-height:1.4;padding:24px 0}
.service-question>div{max-width:820px;padding-bottom:24px}
.service-question p{font-size:16px;line-height:1.8;color:#4a5568;margin:0}
@media(max-width:900px){.service-topics{gap:42px}.investment-principles{gap:32px}}
@media(max-width:760px){.service-refined .service-intro,.service-refined .service-method,.service-refined .service-explorer,.service-refined .service-inclusions,.service-refined .service-followthrough{padding:64px 0}.service-topics{grid-template-columns:1fr;gap:38px}.service-topic h3{font-size:31px;min-height:0}.service-topic>p:not(.topic-number){min-height:0;font-size:16px}.investment-principles{grid-template-columns:1fr;gap:32px;margin-bottom:40px}.investment-principles>div{display:grid;grid-template-columns:42px 1fr;column-gap:22px}.investment-principles svg{width:40px;height:40px;grid-row:1/3;margin-top:3px}.investment-principles h3{font-size:28px;margin-bottom:12px}.investment-principles p{grid-column:2}.service-question summary{font-size:23px}}
.refined .reveal{transition-duration:.35s;transition-delay:0s;transform:translateY(8px)}
.refined .reveal.on{transform:none}
.refined .reveal img:not(.altruist-logo):not(.vanguard-logo),.refined .reveal.on img:not(.altruist-logo):not(.vanguard-logo){clip-path:none;transform:none;transition:none}

.home-refined .story-founder{align-items:center}
/* Shared reading edges and aligned rows within repeated components. */
.home-refined .why-card h3{min-height:2.8em}
.home-refined .affil-card h3{min-height:2.6em}
.services-refined .card{display:flex;flex-direction:column}
.services-refined .card .sc-body{display:flex;flex-direction:column;flex:1}
.services-refined .card h3{min-height:2.6em}
.services-refined .card .more{margin-top:auto}
.refined .pcard{display:flex;flex-direction:column}
.refined .pcard .pc-body{display:flex;flex-direction:column;flex:1}
.refined .pcard .pc-date{margin-top:auto}
.service-refined .d-list{columns:auto;display:grid;grid-template-columns:1fr 1fr;gap:0 48px;max-width:none}
.service-refined .d-list li{margin:0;padding:17px 0 17px 22px;border-bottom:1px solid #c7cdd6;break-inside:avoid}
.service-refined .d-list li::before{top:25px}
@media(max-width:760px){.home-refined .why-card h3,.home-refined .affil-card h3,.services-refined .card h3{min-height:0}.service-refined .d-list{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.refined .reveal{transition:none;transform:none}}

/* Page titles communicate immediately instead of waiting through an entrance animation. */
.refined .page-hero h1,.refined .page-hero p{opacity:1;transform:none;animation:none}
@media(max-width:760px){.client-login-refined .page-hero{padding:130px 0 48px}}

/* Pricing chapters share a warm-gray ground, with spacious off-white frames. */
.pricing-refined main{background:#e9e9e7}
.pricing-refined .page-hero{background:#e9e9e7;color:#0c1a2d}
.pricing-refined .page-hero h1{color:#0c1a2d}
.pricing-refined .page-hero p{color:#4a5568}
.pricing-refined .page-hero .eyebrow{color:#0c1a2d}
.pricing-refined .page-hero .wm{width:clamp(90px,20vw,280px);height:auto;right:clamp(24px,3vw,48px);top:100px;opacity:1}
.pricing-refined .page-hero .wm polygon{fill:#0c1a2d;stroke:none}
@media(min-width:1001px){.pricing-refined .page-hero>.wrap{padding-right:320px}}
.pricing-refined .fee-band{background:transparent;border-bottom:0;padding:0 0 56px}
.pricing-refined .pricing-frame{width:calc(100% - 80px);max-width:1180px;padding:72px 64px;background:#f6f5f1;border:1px solid #d4d5d1;border-radius:6px;box-shadow:0 4px 18px rgba(12,26,45,.025)}
.pricing-refined .fee-card{background:transparent;border-color:#d4d5d1;border-radius:3px;box-shadow:none}
.pricing-refined .fee-head{background:#e9e9e7}
.pricing-refined .fee-only{padding:0 0 56px;background:transparent;color:#0c1a2d}
.pricing-refined .banner{background:#0c1a2d;--ink-soft:#c7cdd6;--gold-text:#d7b486;padding:64px 0}
.pricing-refined .banner .b-text{color:#f3f3f3}
.fee-only-intro{display:grid;grid-template-columns:1.05fr .95fr;gap:80px;align-items:center}
.pricing-refined .fee-only .eyebrow{color:#0c1a2d}
.pricing-refined .fee-only h2,.pricing-refined .fee-inclusions h2{font-size:clamp(36px,4vw,54px);font-weight:300;line-height:1.12;margin:0 0 26px;max-width:550px}
.pricing-refined .fee-only h2{color:#0c1a2d}
.fee-only-intro p:not(.eyebrow){font-size:18px;line-height:1.8;color:#4a5568;max-width:520px;margin:0}
.fee-flow{display:grid;grid-template-columns:1fr .8fr 1fr;gap:18px;align-items:center;min-width:0}
.fee-flow-party{display:flex;align-items:center;flex-direction:column;text-align:center;gap:22px;font-size:15px;line-height:1.5}
.fee-flow-party>svg{width:96px;height:96px;border:1px solid #788391;border-radius:50%;padding:19px;color:#0c1a2d}
.fee-flow-link{color:#4a5568;font-size:11px;line-height:1.5;text-align:center;align-self:start;padding-top:25px}
.fee-flow-link svg{display:block;width:100%;margin-top:9px}
.fee-principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px;margin-top:74px}
.fee-principles>div{border-top:1px solid #c7cdd6;padding-top:26px}
.fee-principle-mark{font:300 28px/1.2 "Editor's Note","Lora",Georgia,serif;color:#0c1a2d;display:block;margin-bottom:20px}
.fee-principles h3{font-size:20px;color:#0c1a2d;margin:0 0 12px;font-weight:500}
.fee-principles p{font-size:16px;line-height:1.75;color:#4a5568;margin:0;max-width:300px}
.pricing-refined .fee-inclusions{background:transparent;color:#0c1a2d;padding:0 0 88px}
.fee-menu-heading{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end;margin-bottom:48px}
.pricing-refined .fee-inclusions h2{color:#0c1a2d;margin-bottom:0}
.fee-menu-heading>p{font-size:18px;line-height:1.8;max-width:480px;margin:0;color:#4a5568}
.fee-menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:66px}
.fee-menu-item{display:grid;grid-template-columns:46px 1fr 18px;gap:22px;align-items:start;padding:34px 0;border-top:1px solid #c7cdd6;text-decoration:none;color:#0c1a2d}
.fee-menu-item>div{min-width:0}
.fee-menu-icon{width:46px;height:46px;margin-top:29px}
.fee-included{display:block;color:#4a5568;font-size:11px;letter-spacing:.06em;margin-bottom:10px}
.fee-included>span{margin-right:5px}
.fee-menu-item h3{font-family:"Editor's Note","Lora",Georgia,serif;font-size:29px;font-weight:300;line-height:1.18;letter-spacing:-.01em;margin:0 0 14px;color:#0c1a2d}
.fee-menu-item p{color:#4a5568;font-size:16px;line-height:1.75;margin:0;max-width:400px}
.fee-menu-arrow{margin-top:31px;font-size:20px}
.fee-menu-item:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.fee-menu-item:focus-visible{outline:2px solid #0c1a2d;outline-offset:6px}
.fee-ongoing{display:grid;grid-template-columns:1fr 1.5fr;gap:50px;margin-top:34px;padding:36px 0;border-top:1px solid #c7cdd6;border-bottom:1px solid #c7cdd6}
.fee-ongoing h3{font-family:"Editor's Note","Lora",Georgia,serif;font-size:30px;font-weight:300;color:#0c1a2d;margin:0}
.fee-ongoing ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:16px 34px;font-size:15px;line-height:1.7;color:#4a5568}
.fee-ongoing li{padding-left:18px;position:relative}
.fee-ongoing li::before{content:'+';position:absolute;left:0;color:#0c1a2d}
.fee-scope{max-width:850px;font-size:13px;line-height:1.8;margin:28px 0 0;color:#4a5568}
.portal-contact{display:flex;flex-direction:column;gap:10px;flex:none}
.portal-contact a{color:#0c1a2d;font-size:15px;text-decoration:underline;text-underline-offset:5px;min-height:28px;overflow-wrap:anywhere}
@media(max-width:1000px){.pricing-refined .pricing-frame{width:calc(100% - 48px);padding:52px 36px}.fee-only-intro{gap:40px}.fee-flow{gap:12px}.fee-menu-heading{gap:40px}.fee-menu{column-gap:40px}.fee-menu-item{gap:16px;grid-template-columns:38px 1fr 16px}.fee-menu-icon{width:38px;height:38px}.fee-menu-item h3{font-size:26px}.fee-principles{gap:30px}}
@media(max-width:760px){.pricing-refined .pricing-frame{width:calc(100% - 32px);padding:40px 20px}.pricing-refined .fee-band,.pricing-refined .fee-only{padding:0 0 28px}.pricing-refined .fee-inclusions{padding:0 0 48px}.pricing-refined .fee-head,.pricing-refined .fee-row{padding:18px 12px;gap:16px}.pricing-refined .fee-head{font-size:10px;letter-spacing:.08em}.pricing-refined .fee-head span:last-child{text-align:right}.pricing-refined .fee-rate{flex-shrink:0;font-size:29px}.fee-only-intro,.fee-menu-heading{grid-template-columns:1fr;gap:36px}.pricing-refined .fee-only h2,.pricing-refined .fee-inclusions h2{font-size:38px}.fee-only-intro p:not(.eyebrow),.fee-menu-heading>p{font-size:17px}.fee-flow{max-width:450px;width:100%;margin:8px auto}.fee-flow-party>svg{width:82px;height:82px;padding:16px}.fee-flow-party{font-size:13px;gap:16px}.fee-flow-link{padding-top:18px}.fee-principles{grid-template-columns:1fr;gap:28px;margin-top:48px}.fee-principles>div{display:grid;grid-template-columns:36px 1fr;column-gap:20px;padding-top:24px}.fee-principle-mark{grid-row:1/3;margin:0}.fee-principles p{grid-column:2;max-width:none}.fee-principles h3{font-size:19px}.fee-menu{grid-template-columns:1fr}.fee-menu-item{padding:28px 0;gap:18px;grid-template-columns:38px 1fr 16px}.fee-menu-item h3{font-size:27px}.fee-menu-heading{margin-bottom:34px;gap:20px}.fee-ongoing{grid-template-columns:1fr;gap:22px;padding:28px 0}.fee-ongoing ul{grid-template-columns:1fr;gap:12px}.fee-ongoing h3{font-size:29px}.portal-contact{max-width:100%;flex:auto}}

/* Restore deliberate tile interaction without restoring the old image entrance wipe. */
.home-refined .why-card.reveal.on{transition:transform .3s ease,box-shadow .3s ease}
.home-refined .why-card.reveal.on .ph-img img{transition:transform .65s ease}
@media(hover:hover){.home-refined .why-card.reveal.on:hover{transform:translateY(-6px);box-shadow:0 24px 48px rgba(0,0,0,.28)}.home-refined .why-card.reveal.on:hover .ph-img img{transform:scale(1.045)}}
.home-refined .why-card.reveal.on:focus-within{transform:translateY(-6px);box-shadow:0 24px 48px rgba(0,0,0,.28)}
@media(prefers-reduced-motion:reduce){.home-refined .why-card.reveal.on,.home-refined .why-card.reveal.on .ph-img img{transition:none}.home-refined .why-card.reveal.on:hover,.home-refined .why-card.reveal.on:focus-within,.home-refined .why-card.reveal.on:hover .ph-img img{transform:none}}

/* Mobile arrows are vector drawings, so phone fonts cannot substitute emoji artwork.
   Text glyphs remain the desktop presentation; the arrows are decorative, not labels. */
@media(max-width:760px){
 .refined{
  --ui-arrow-right:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2 8h11M9 4l4 4-4 4' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --ui-arrow-ne:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m4 12 8-8M4 4h8v8' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --ui-arrow-reset:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 7a5.5 5.5 0 1 1 1 5M3 2v5h5' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
 }
 .refined .ui-arrow,
 .refined .arrow-link::after,.refined .card .more::after,.refined .svc3 .more::after,
 .refined .d-cross a::after,.refined .cred a::after,.refined .ac-more::after{
  display:inline-block;flex:none;width:16px;height:16px;padding:0;font-size:0;line-height:0;
  vertical-align:-2px;background-color:currentColor;
  -webkit-mask:var(--ui-arrow-shape,var(--ui-arrow-right)) center/contain no-repeat;
  mask:var(--ui-arrow-shape,var(--ui-arrow-right)) center/contain no-repeat;
 }
 .refined .arrow-link::after,.refined .card .more::after,.refined .svc3 .more::after,
 .refined .d-cross a::after,.refined .cred a::after,.refined .ac-more::after{content:"";margin-left:7px}
 .refined .ui-arrow-ne,.refined .cred a::after,.refined .ac-more::after{--ui-arrow-shape:var(--ui-arrow-ne)}
 .refined .ui-arrow-left{transform:rotate(180deg)}
 .refined .ui-arrow-down{transform:rotate(90deg)}
 .refined .ui-arrow-reset{--ui-arrow-shape:var(--ui-arrow-reset)}
 .home-refined .affil-card .ac-more::after{display:none}
}
/* Homepage affiliations on phones (Astra 2, #13): a compact logo and name header, then the sentence
   and the Learn more link across the full card width, instead of a narrow column beside a fixed
   logo column. The same pattern the About affiliations use. Navy ground and desktop unchanged. */
@media(max-width:560px){
  .home-refined a.affil-card{grid-template-columns:92px minmax(0,1fr);column-gap:16px;row-gap:12px;align-items:center}
  .home-refined a.affil-card .ac-logo{grid-row:1;grid-column:1;justify-content:flex-start;align-self:center}
  .home-refined a.affil-card .ac-logo img{max-width:92px;max-height:40px}
  .home-refined a.affil-card .ac-logo img.fpa{max-height:28px}
  .home-refined a.affil-card h3{grid-column:2;grid-row:1;margin:0;align-self:center}
  .home-refined a.affil-card p,.home-refined a.affil-card .ac-more{grid-column:1 / -1}
  .home-refined a.affil-card .ac-more{padding-top:2px}
}
/* The phone portfolio selector (Astra 2, #14). Still the native select, so the system chooser,
   keyboard and screen reader behaviour are unchanged; it just takes the site's warm surface,
   rule colour, radius and a drawn chevron instead of a flat grey box. 16px text keeps iOS from
   zooming. */
@media(max-width:760px){
  .refined .pe-ready .pe-select{-webkit-appearance:none;appearance:none;min-height:52px;padding:14px 46px 14px 16px;
    border:1px solid #d8ceba;border-radius:12px;background:#fffdf8 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%237d5f33' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 18px center/12px 8px;
    color:#0c1a2d;font:500 16px/1.3 "General Sans",Arial,sans-serif;box-shadow:0 1px 2px rgba(12,26,45,.05);cursor:pointer}
  .refined .pe-ready .pe-select:hover{border-color:#bcae93}
  .refined .pe-ready .pe-select:focus-visible{outline:2px solid #0c1a2d;outline-offset:3px;border-color:#0c1a2d}
  .refined .pe-ready .pe-mobile-label{color:#4a5568;letter-spacing:.02em}
}
/* Hover lifts and photo zooms are for a mouse (Astra 2, #16). On touch screens a tap left cards
   lifted and photos enlarged until the next tap. There the cards stay put; a press darkens the
   edge instead, and keyboard focus keeps its own outline. Desktop hover is unchanged. */
@media (hover:none),(pointer:coarse){
  .card:hover,.pcard:hover,.svc3>a:hover,.svc3 a:hover,.why-card:hover,.affil-card:hover,.opt:hover,.btn:hover{transform:none!important}
  .card:hover img,.pcard:hover img,.svc3 a:hover img,.why-card:hover img{transform:none!important}
  /* the page-kit cards' hover shadow is released in page-kit.css, which loads after this file */
}
/* Homepage hero on phones (Astra 2, #17): where the small white line crosses the brightest glass,
   a tight dark edge on each letter keeps it legible. No fade over the photograph, which Joseph
   rejected; the full-height composition and the scroll cue are unchanged. */
@media(max-width:760px){
  .home-refined.has-video .hero h1.intro{text-shadow:0 1px 2px rgba(6,12,24,.85),0 0 3px rgba(6,12,24,.5),0 1px 16px rgba(6,12,24,.6)}
  .home-refined .hero .btn-line{text-shadow:0 1px 2px rgba(6,12,24,.6)}
}
/* A vertical video in the landscape tile (Astra 2, #28): the real 9:16 frame, crisp and at full
   strength, on the navy tile, instead of YouTube's enlarged and blurred fill at half opacity. The
   play control sits on a navy disc so it reads over the picture. Click-to-load is unchanged. */
.video-poster.is-vertical{background:#0c1a2d radial-gradient(120% 90% at 50% 50%,#1b2d45 0%,#0c1a2d 70%)}
.video-poster.is-vertical img{object-fit:contain;opacity:1}
.video-poster.is-vertical span{inset:auto auto 0 0;flex-direction:row;align-items:center;justify-content:flex-start;gap:12px;padding:0 0 22px 22px;text-shadow:0 1px 3px rgba(6,12,24,.8)}
.video-poster.is-vertical svg{width:56px;height:56px;border-radius:50%;background:rgba(12,26,45,.62)}
@media(max-width:600px){.video-poster.is-vertical span{font-size:0;padding:0 0 14px 14px}.video-poster.is-vertical svg{width:46px;height:46px}}
