/* Brand Circle: shared type scale, spacing and photo treatment (v1.2.0).
   Loaded after the page stylesheet on every coded page, so these values are the single place to tune the look.
   Fonts: Fraunces (headings) and IBM Plex Sans (body) come from Customizer > Brand Circle Layout. */
:root{--bc-navy:#20396F;--bc-green:#0BA14B;--bc-sx:16px;--bc-sy:30px;--bc-gap:16px;--bc-cardp:18px}
@media(min-width:640px){:root{--bc-sx:24px;--bc-sy:36px;--bc-gap:20px;--bc-cardp:24px}}
@media(min-width:900px){:root{--bc-sx:40px;--bc-sy:44px;--bc-gap:24px}}

/* ───────── 1 · TYPE ───────── */
body .bc-page{--bc-pad:clamp(16px,4vw,32px);font-size:16px;line-height:1.45;text-transform:none;letter-spacing:0}
body .bc-page :is(h1,h2,h3,h4,h5,a,button,summary,label,th,span,li,p){text-transform:none}
body .bc-page p{margin:0 0 12px;line-height:1.45}
body .bc-page li{line-height:1.45}
body .bc-page .bc-lead{font-size:17px;line-height:1.45}
body .bc-page .bc-note,body .bc-page .bc-focus,body .bc-page .bc-crumb,body .bc-page small{font-size:14px;line-height:1.4}
/* small green label above each heading (H2): sentence case, caption size */
body .bc-page h2.bc-acc{font-size:14px;font-weight:700;line-height:1.3;letter-spacing:.02em;text-transform:none;margin:0 0 8px;color:var(--bc-accent)}
/* page title (hero) */
body .bc-page #top h4,body .bc-page .bc-sec.bc-hero h4{font-size:clamp(30px,1.2rem + 2.2vw,48px);font-weight:700;line-height:1.15;margin:0 0 12px}
/* home slider caption (same scale as a page hero) */
body .bc-page .hs-box h4{font-size:clamp(30px,1.2rem + 2.2vw,48px);font-weight:700;line-height:1.15;margin:0 0 10px;color:#fff}
body .bc-page .hs-box h2{font-size:14px;margin:0 0 8px;color:#fff}
body .bc-page .hs-box p{font-size:17px;line-height:1.45;margin:0 0 16px;color:rgba(255,255,255,.94)}
@media(min-width:640px){body .bc-page .hs-box p{font-size:18px}}
/* main section heading */
body .bc-page h4{font-size:clamp(24px,1rem + 1.1vw,32px);font-weight:700;line-height:1.25;margin:0 0 10px}
/* subsection heading */
body .bc-page h3{font-size:clamp(20px,17px + .6vw,24px);font-weight:600;line-height:1.3;margin:0 0 10px}
/* card heading */
body .bc-page :is(.bcs-card,.bc-card,.bc-steps li,.bc-why,.bc-team li,.bc-fpoints li,.bc-role,.bc-story .r,.bc-pk,.bc-feat,.bc-ways li,.bc-manage,.bc-bring,.bc-formcard) h3{font-size:18px;font-weight:600;line-height:1.3;margin:0 0 8px}
@media(min-width:640px){body .bc-page :is(.bcs-card,.bc-card,.bc-steps li,.bc-why,.bc-team li,.bc-fpoints li,.bc-role,.bc-story .r,.bc-pk,.bc-feat,.bc-ways li,.bc-manage,.bc-bring,.bc-formcard) h3{font-size:20px}}
body .bc-page .bc-team h3{font-size:18px}
body .bc-page :is(.bc-hero,.bc-grid2) h3{font-size:clamp(20px,17px + .6vw,24px);font-weight:600;margin:0 0 10px}
body .bc-page .bc-lead,body .bc-page :is(#top) .bc-lead{font-size:17px}
@media(min-width:768px){body .bc-page .bc-lead{font-size:18px}}
/* navigation, buttons, form labels: 16px medium/semibold */
body .bc-page :is(.bc-btn,.bcs-more,button){font-size:16px;font-weight:600;letter-spacing:0;text-transform:none}
body .bc-page .bcs-more{font-size:15px}
body .bc-page .bc-field>label{font-size:14px;font-weight:600}
body .bc-page .bc-check label{font-size:14px!important}
/* captions and supporting labels: 14px */
body .bc-page :is(.bc-tag,.tag,.bc-role2,.bc-chips,.bc-pills,.bc-outcome small,.bc-story .tag){font-size:14px;line-height:1.4;letter-spacing:.01em;text-transform:none}
body .bc-page .bc-role{font-size:15px;line-height:1.3}
body .bc-page .bc-bring h3{letter-spacing:0;text-transform:none}
body .bc-page .bc-table :is(th,td)::before{text-transform:none;letter-spacing:0;font-size:14px}

/* ───────── 2 · SPACING ───────── */
body .bc-page .bc-sec{padding:var(--bc-sy) var(--bc-sx);margin:0 0 16px}
body .bc-page .bc-head{margin-bottom:20px}
body .bc-page :is(.bcs-grid,.bc-grid,.bc-cards,.bc-steps,.bc-fpoints,.bc-team,.bc-feats,.bc-fields,.bc-flex,.bc-ways){gap:var(--bc-gap)}
body .bc-page :is(.bc-fellows,.bc-split,.bc-about,.bc-hero,.bc-grid2,.bc-whysplit,.bc-contact){gap:20px}
@media(min-width:900px){body .bc-page :is(.bc-fellows,.bc-split,.bc-about,.bc-hero,.bc-grid2,.bc-whysplit,.bc-contact){gap:32px}}
body .bc-page :is(.bcs-card,.bc-card){padding:var(--bc-cardp)}
body .bc-page .bcs-card p,body .bc-page .bc-card p{margin:0 0 12px}
body .bc-page :is(.bcs-card,.bc-card) p:last-child{margin-bottom:0}
body .bc-page .bcs-ico{margin-bottom:12px}
body .bc-page .bc-list li{padding:3px 0}
body .bc-page .bc-why summary{padding:10px 14px}
body .bc-page .bc-why .a{padding-bottom:12px}
body .bc-page .bc-faq{max-width:920px}
body .bc-page .bc-faq details{margin-bottom:8px}
body .bc-page .bc-faq summary{min-height:48px;padding:10px 16px}
body .bc-page .bc-faq .a{padding:0 16px 14px}
body .bc-page .bc-actions{gap:10px;margin-top:4px}
body .bc-page .bc-btn{min-height:48px;padding:.7em 1.5em}
body .bc-page .bc-field input,body .bc-page .bc-field select{min-height:46px}
body .bc-page .bc-field textarea{min-height:104px}
body .bc-page .bc-fields{gap:14px}
body .bc-page .bc-formside{padding:20px var(--bc-cardp)}
@media(min-width:900px){body .bc-page .bc-formside{padding:32px 36px}}
body .bc-page .bc-divider{margin:4px 0 18px}
/* photo boxes follow their content: no oversized empty frames */
body .bc-page .bc-photo{height:210px}
body .bc-page .bc-feat .bc-photo{height:170px}
@media(min-width:640px){body .bc-page .bc-photo{height:260px}body .bc-page .bc-feat .bc-photo{height:200px}}
@media(min-width:800px){body .bc-page :is(.bc-split,.bc-about) .bc-photo,body .bc-page .bc-aboutphoto{min-height:340px;height:auto}body .bc-page .bc-whyphoto{min-height:340px}}
@media(min-width:900px){body .bc-page .bc-hero .bc-photo,body .bc-page .bc-grid2 .bc-photo{min-height:320px}body .bc-page .bc-panel .bc-photo{min-height:380px}}
/* About hero: tree image with the two-line story under it */
body .bc-page .bc-heroside{display:flex;flex-direction:column;gap:12px;min-width:0}
body .bc-page .bc-heroside .bc-photo{flex:1 1 auto;min-height:230px}@media(min-width:900px){body .bc-page .bc-heroside .bc-photo{min-height:330px}}
body .bc-page .bc-treeq{margin:0;padding:0 0 0 14px;border-left:3px solid var(--bc-green);color:rgba(255,255,255,.92);font-size:15px;line-height:1.45}
body .bc-page .bc-treeq p{margin:0 0 6px;font-size:15px}
body .bc-page .bc-treeq p:last-child{margin:0}
/* footer, header and forms inherit the same rhythm in style.css */

/* ───────── 3 · PHOTO TREATMENT ───────── */
/* one grade for every photograph: cool navy shadows (#20396F) multiplied in, no green tint */
body .bc-page .bc-photo::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(32,57,111,.06) 0%,rgba(32,57,111,.24) 100%);mix-blend-mode:multiply}
/* hero photographs: 50 to 60% navy gradient */
body .bc-page :is(.bc-hero,.bc-grid2,.bc-sec.dark) .bc-photo::after{background:linear-gradient(135deg,rgba(32,57,111,.5) 0%,rgba(32,57,111,.6) 100%);mix-blend-mode:normal}
/* green is for overlays and accents only: a thin accent edge on hero photos */
body .bc-page :is(.bc-hero,.bc-grid2,.bc-sec.dark) .bc-photo{box-shadow:inset 0 -4px 0 var(--bc-green)}

/* ───────── 4 · ACACIA LINE DRAWINGS (dividers and card texture only) ───────── */
body .bc-page .bc-divider span{width:38px;height:38px;border:0;border-radius:0;box-shadow:none;background:var(--bc-navy);-webkit-mask:var(--bc-acacia) center/contain no-repeat;mask:var(--bc-acacia) center/contain no-repeat}
:root{--bc-acacia:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M24 43V25M24 33c-3-1-6-3-7-6M24 30c3-1 6-3 8-6M24 38c-2-1-3-2-4-3M24 36c2-1 4-2 5-3'/%3E%3Cpath d='M5 21c3-5 9-8 19-8s16 3 19 8c-4-2-9-3-19-3S9 19 5 21z'/%3E%3Cpath d='M12 16c3-3 7-5 12-5s9 2 12 5'/%3E%3C/svg%3E")}
/* service cards: faint root and canopy lines in the corner, behind a clear white reading surface */
body .bc-page a.bcs-card,body .bc-page div.bcs-card{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 120' fill='none' stroke='%2320396F' stroke-opacity='.07' stroke-width='1.4' stroke-linecap='round'%3E%3Cpath d='M160 120c-10-18-8-34 6-50M150 120c-4-14-14-24-30-30M138 120c2-12-2-22-12-30M120 120c-6-10-18-16-34-16M100 120c8-8 10-16 6-26M80 120c4-6 4-12 0-18'/%3E%3Cpath d='M126 90c8-6 14-6 22-2M98 104c6-8 12-10 20-8'/%3E%3C/svg%3E") no-repeat right bottom/150px 112px}

/* ───────── 5 · PARTNERS STRIP uses the same navy and green ───────── */
body .bc-partners{background:linear-gradient(125deg,var(--bc-navy) 0%,#1c6a86 55%,var(--bc-green) 140%)!important}
