/* Refuture Africa / Website brand application v1.0.
   White canvas, warm Paper moments, readable type and open frames.
   Owner size controls retain precedence through their bounded !important tokens. */
html{font-size:18px}
body[data-brand-page]{font-size:1rem;line-height:1.65;--space:clamp(48px,5.5vw,80px)}
body[data-brand-page] h2{font-size:clamp(30px,3.5vw,46px);line-height:1.12;letter-spacing:-.035em}
body[data-brand-page] h3{line-height:1.2}
body[data-brand-page] main p:where(:not(.eyebrow):not(.lead):not(.hero-lead):not(.descriptor):not(.large-text):not(.small-lead):not(.studio-card-title):not(.fellowship-status):not(.brand-method-through)){font-size:1rem;line-height:1.65}
body[data-brand-page] main .eyebrow{font-size:.72rem;letter-spacing:.1em;line-height:1.5;margin-bottom:18px}
body[data-brand-page] main .lead{font-size:clamp(20px,1.8vw,25px);line-height:1.5}
body[data-brand-page] main .large-text{font-size:clamp(21px,2vw,27px);line-height:1.5}
body[data-brand-page] main :is(.prose,.stage-body,.service-detail-grid,.discipline-list,.fellowship-foundation-grid,.studio-intro) p{font-size:1rem;line-height:1.65}
body[data-brand-page] main :is(.clean-list,.service-outputs,.prose ul,.prose ol){font-size:1rem;line-height:1.65}
body[data-brand-page] main :is(.field-help,.download-small,.studio-field-help,.resource-meta,.fellowship-small,.studio-card-note,.prototype-note,.form-intro,.fellowship-output-note){font-size:.82rem;line-height:1.6}
body[data-brand-page] main :is(label,legend,.studio-field label,.consent-choice){font-size:.88rem;line-height:1.6}
body[data-brand-page] main :is(input,textarea,select){font-size:1rem}
body[data-brand-page] main :is(.button,.text-link){font-size:.88rem;min-height:44px}
body[data-brand-page] main :is(.method-path p,.artifact-card p,.studio-stages p,.fellowship-timeline p,.fellowship-output-grid p,.focus-card p,.domain-grid p,.ambition-grid p){font-size:.9rem;line-height:1.6}
body[data-brand-page] main :is(.fellowship-summary dt,.studio-stage-meta,.studio-stats dd,.fellowship-month,.breadcrumbs,.offer-num,.focus-lens){font-size:.78rem}
body[data-brand-page] main :is(.fellowship-summary>p,.contact-steps p,.contact-aside>p){font-size:.88rem}
body[data-brand-page] main .fellowship-status{font-size:.82rem;line-height:1.6;align-items:flex-start}
body[data-brand-page] .editorial-image figcaption,body[data-brand-page] .editorial-image figcaption span{font-size:.78rem;line-height:1.55}
body[data-brand-page] .editorial-image figcaption{flex-wrap:wrap;gap:4px 16px}
body[data-brand-page] .footer-top .brand{width:200px;min-width:180px}
body[data-brand-page] .footer-bottom,body[data-brand-page] .footer-business{font-size:.78rem;line-height:1.6}
body[data-brand-page] main .two-col{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(30px,5vw,72px);align-items:start}
body[data-brand-page] main .prose{max-width:70ch}
body[data-brand-page] main .section-heading{margin-bottom:32px}
body[data-brand-page] main .page-hero{padding-block:48px 56px;max-width:1400px}
body[data-brand-page] main .page-hero .lead{max-width:48ch}
body[data-brand-page] main .studio-intro{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(30px,5vw,72px)}
body[data-brand-page] main .closing h2{font-size:clamp(34px,4vw,54px)}
/* A visible opening gives the supporting frame its brand meaning. */
.brand-open-frame{position:relative;border:1px solid var(--ink);border-right:0;border-top:0;padding:18px 0 0 18px}
.brand-open-frame:before{content:'';position:absolute;left:0;top:0;width:44%;height:1px;background:var(--ink)}
.brand-illustration{margin:30px 0 0;max-width:620px;min-width:0}
.brand-illustration picture{display:block;overflow:hidden;background:var(--paper)}
.brand-illustration img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.brand-illustration figcaption{font-size:.78rem;line-height:1.5;color:var(--muted);padding:12px 8px 12px 0}
.brand-image-credit{display:block;margin-top:4px;font-size:.72rem}
body[data-brand-page='/careers'] .studio-intro .brand-illustration img{object-position:50% 35%}
/* FAQ headings lead the list instead of occupying an empty full-height column. */
body[data-brand-page] .fellowship-faq-section .two-col{display:block}
body[data-brand-page] .fellowship-faq-section h2{margin-bottom:32px}
body[data-brand-page] .fellowship-faq{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px;align-items:start}
body[data-brand-page] .fellowship-faq summary{font-size:1rem;padding-block:22px;min-height:72px}
body[data-brand-page] .fellowship-faq details>p{font-size:.94rem;padding-right:24px}
body[data-brand-page] main .studio-faq{grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);gap:20px 56px}
body[data-brand-page] .studio-questions summary,body[data-brand-page] .workshop-faq summary{font-size:1rem}
/* A form is a focused task, with guidance above the long application. */
body[data-brand-page='/fellowship-application'] main>.section.two-col{display:block;max-width:1000px}
body[data-brand-page='/fellowship-application'] main>.section.two-col>div:first-child{max-width:75ch;margin-bottom:36px}
body[data-brand-page='/fellowship-application'] .fellowship-application-panel{padding:clamp(24px,4vw,48px);max-width:920px}
body[data-brand-page='/fellowship-application'] .fellowship-application-panel .field-help{font-size:.82rem}
body[data-brand-page='/fellowship-application'] .fellowship-application-panel .consent-choice{font-size:.88rem}
body[data-brand-page] .fellowship-interest-panel .field-help,body[data-brand-page] .fellowship-interest-panel label span{font-size:.78rem}
/* Method relationships remain live text and reflow to a vertical sequence. */
.brand-method{margin:36px 0 44px;background:var(--paper)}
.brand-method ol{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));list-style:none;margin:0;padding:0;border:1px solid var(--line)}
.brand-method li{min-width:0;border-right:1px solid var(--line)}
.brand-method li:last-child{border:0}
.brand-method a{height:100%;display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:24px 18px;min-height:230px}
.brand-method strong{font:700 23px/1.2 Rubik,Arial,sans-serif}
.brand-method a>span:not(.brand-step){font-size:.86rem;line-height:1.55}
.brand-step{color:var(--cobalt);font-size:.78rem;font-weight:700}
.brand-method svg{margin-top:auto;color:var(--cobalt);flex:none}
.brand-method figcaption{padding:20px 24px;background:var(--ink);color:var(--paper);font-size:.88rem;line-height:1.6}
body[data-brand-page] main .brand-method-through{padding:18px 24px;margin:0;font-size:.88rem;background:var(--lime);color:var(--ink)}
.brand-method a:hover{background:#fff}
/* Enterprise: distinguish exchanges and decision rights from impact claims. */
.brand-value-section{padding-top:8px}
.brand-value-map{background:var(--paper)}
.brand-value-map>.eyebrow{padding:22px 24px 0}
.brand-value-nodes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;padding:0 24px 24px}
.brand-value-nodes>div{padding:24px;border:1px solid var(--line);border-top:4px solid var(--cobalt);background:#fff;min-width:0}
.brand-value-nodes>div:nth-child(2){border-top-color:var(--clay)}
.brand-value-nodes h3{font-size:25px;margin:0 0 18px}
body[data-brand-page] main .brand-value-nodes p{font-size:.9rem;margin:0}
.brand-value-flows{list-style:none;background:var(--ink);color:var(--paper);padding:26px 24px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.brand-value-flows strong{display:block;color:var(--lime);font-size:.88rem;line-height:1.5;margin-bottom:12px}
.brand-value-flows li>span{display:block;font-size:.88rem;line-height:1.6}
.brand-value-map figcaption{font-size:.82rem;padding:20px 24px;line-height:1.6;max-width:95ch}
/* Concrete examples support the offer without inventing client evidence. */
.brand-output-section{border-top:1px solid var(--line)}
.brand-output-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
body[data-brand-page='/services'] .brand-output-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.brand-output-card{padding:28px;background:var(--paper);border:1px solid var(--line);min-width:0}
.brand-output-card h3{font-size:26px;margin:24px 0 16px}
.brand-output-note{max-width:75ch;margin-bottom:28px}
.brand-artifact{height:100px;padding:16px 18px;border-left:3px solid var(--cobalt);background:#fff;max-width:230px;transform:rotate(-2deg)}
.brand-artifact i{display:block;height:8px;width:85%;background:var(--line);margin:10px 0}
.brand-artifact i:first-child{width:52%;background:var(--ink)}
.brand-artifact i:last-child{width:66%;background:var(--lime)}
.brand-output-card:nth-child(2) .brand-artifact{border-left-color:var(--clay);transform:rotate(2deg)}
.brand-output-card:nth-child(3) .brand-artifact{border-left-color:var(--ink)}
body[data-brand-page] main .brand-output-card>p:not(.eyebrow){font-size:.94rem}
/* Useful legal and support information uses a reading layout, not empty columns. */
:is(body[data-brand-page='/privacy'],body[data-brand-page='/cookies'],body[data-brand-page='/terms'],body[data-brand-page='/legal'],body[data-brand-page='/participation-terms'],body[data-brand-page='/research-principles']) main{max-width:1100px;margin:auto}
:is(body[data-brand-page='/privacy'],body[data-brand-page='/cookies'],body[data-brand-page='/terms'],body[data-brand-page='/legal'],body[data-brand-page='/participation-terms'],body[data-brand-page='/research-principles']) main>.section{display:block;padding-block:28px;max-width:900px}
:is(body[data-brand-page='/privacy'],body[data-brand-page='/cookies'],body[data-brand-page='/terms'],body[data-brand-page='/legal'],body[data-brand-page='/participation-terms'],body[data-brand-page='/research-principles']) main h2{font-size:30px;margin-bottom:18px}
/* Resource pages inherit the identity and keep genuine tool previews prominent. */
body[data-brand-page] .tool-reader-intro{padding-block:48px;max-width:1100px}
body[data-brand-page] .tool-reader-intro h1{font-size:clamp(38px,5vw,72px);max-width:20ch}
body[data-brand-page] .tool-reader-index{top:110px}
body[data-brand-page] .tool-reader-text{font-size:1rem;line-height:1.7;max-width:75ch}
body[data-brand-page] .tool-reader-page-heading h2{font-size:28px}
body[data-brand-page] .download-layout{gap:48px;align-items:start}
.brand-download-cover{max-width:360px;margin-top:28px}
.brand-download-cover img{display:block;width:100%;height:auto;border:1px solid var(--line);background:var(--paper)}
.brand-download-cover figcaption{font-size:.78rem;line-height:1.6;margin-top:10px;color:var(--muted)}
.brand-offer-label{display:inline-block;max-width:100%;font-size:.85rem;font-weight:700;border-left:3px solid var(--cobalt);padding-left:14px;margin:0 0 22px;line-height:1.5}
@media(max-width:1000px){.brand-method ol{grid-template-columns:1fr}.brand-method li{border:0;border-bottom:1px solid var(--line)}.brand-method a{display:grid;grid-template-columns:30px minmax(0,1fr) 24px;gap:12px 20px;min-height:0;padding:22px}.brand-method a>span:not(.brand-step){grid-column:2}.brand-method svg{grid-column:3;grid-row:1/3;align-self:center;margin:0;transform:rotate(90deg)}.brand-value-nodes{gap:12px}.brand-value-nodes>div{padding:20px}.brand-value-flows{gap:18px}}
@media(max-width:800px){html{font-size:16px}body[data-brand-page]{--space:48px}.brand-open-frame{padding-left:12px;padding-top:12px}body[data-brand-page] main .two-col,body[data-brand-page] main .studio-intro,body[data-brand-page] main .studio-faq{grid-template-columns:1fr;gap:28px}body[data-brand-page] main .fellowship-faq{grid-template-columns:1fr;gap:0}body[data-brand-page] main .fellowship-faq summary{min-height:64px;padding-block:20px;font-size:1rem}body[data-brand-page] main .page-hero{padding-block:32px 40px}body[data-brand-page] main .page-hero h1{font-size:clamp(38px,10vw,64px)}body[data-brand-page] main .eyebrow{font-size:.8rem}body[data-brand-page] main :is(.field-help,.download-small,.studio-field-help,.fellowship-small,.studio-card-note,.prototype-note,.form-intro,.fellowship-output-note){font-size:.88rem}body[data-brand-page] main :is(label,legend,.studio-field label,.consent-choice,.button,.text-link){font-size:1rem}body[data-brand-page] main :is(.method-path p,.artifact-card p,.studio-stages p,.fellowship-timeline p,.fellowship-output-grid p,.focus-card p,.domain-grid p,.ambition-grid p){font-size:1rem}.brand-value-nodes,.brand-value-flows,.brand-output-grid,body[data-brand-page='/services'] .brand-output-grid{grid-template-columns:1fr}.brand-value-map>.eyebrow{padding:18px 18px 0}.brand-value-nodes{padding:0 18px 18px;gap:16px}.brand-value-flows{padding:24px 18px;gap:24px}.brand-value-map figcaption{padding:20px 18px}.brand-output-card{padding:24px}.brand-illustration{margin-top:26px;max-width:640px}.brand-illustration figcaption,.brand-image-credit{font-size:.88rem}body[data-brand-page] .footer-top .brand{width:185px}body[data-brand-page] .footer-bottom,body[data-brand-page] .footer-business{font-size:.88rem}body[data-brand-page] .tool-reader-index{position:static}.brand-download-cover{max-width:280px}body[data-brand-page] main>.brand-value-section{padding-top:0}}
@media(prefers-reduced-motion:reduce){.brand-artifact{transform:none}}
.brand-download-thumbnails{display:grid;grid-template-columns:1fr;gap:12px}
.brand-download-thumbnails:has(img:nth-child(2)){grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.brand-download-thumbnails:has(img:nth-child(2)) img:nth-child(2){transform:translateY(12px)}
.brand-offer-label>span{font-weight:400;color:var(--muted)}
body[data-brand-page] main .brand-offer-label{font-size:.85rem}
body[data-brand-page] .brand-story-feature{align-items:center}
.brand-story-feature .brand-illustration{margin:0}
.brand-story-copy .prose{margin-top:24px}
body[data-brand-page='/about'] .about-feature img{aspect-ratio:4/3;object-fit:cover}
body[data-brand-page] main :is(article,aside,.studio-stats>div,.fellowship-summary dl>div){min-width:0;overflow-wrap:anywhere}
.brand-value-map>h2{padding:24px 24px 0;margin:0;font-size:34px}
body[data-brand-page] .primary-nav,body[data-brand-page] .nav-group>summary{font-size:14px}
body[data-brand-page] .brand{min-width:180px}
@media(max-width:800px){.brand-value-map>h2{padding:20px 18px 0;font-size:30px}}

/* Fellowship purpose: short explanations first, detailed curriculum on demand. */
body[data-brand-page='/fellowship'] main .fellowship-purpose-question{font-size:clamp(28px,3.3vw,42px);line-height:1.15;margin:0 0 18px;max-width:24ch}
.fellowship-practice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:24px 0 36px}
.fellowship-practice-grid article{padding:28px;background:var(--paper,#f5f1e8);border-top:3px solid var(--ink,#172423)}
.fellowship-practice-grid article:last-child{grid-column:1/-1}
.fellowship-practice-grid h3{margin:0 0 12px}
.fellowship-practice-grid p{margin:0;max-width:65ch}
.fellowship-method-details{border-top:1px solid var(--ink,#172423);border-bottom:1px solid var(--ink,#172423)}
.fellowship-method-details>summary{cursor:pointer;padding:22px 0;font-weight:600;font-size:1.1rem}
.fellowship-method-details>summary:focus-visible{outline:3px solid #3046c5;outline-offset:4px}
.fellowship-method-details-body{padding:12px 0 28px}
.fellowship-contexts{list-style:none;padding:0;margin:24px 0}
.fellowship-contexts li{padding:20px 0;border-top:1px solid #d8ddd7}
.fellowship-contexts h3{margin:0 0 10px}
.fellowship-contexts p{margin:0}
@media(max-width:800px){.fellowship-practice-grid{grid-template-columns:1fr;gap:16px}.fellowship-practice-grid article{padding:22px}.fellowship-practice-grid article:last-child{grid-column:auto}}

/* Layout refinement: clear openings, compact browsing and legible details. */
body[data-brand-page] main :is(.field-help,.download-small,.studio-field-help,.resource-meta,.fellowship-small,.studio-card-note,.prototype-note,.form-intro,.fellowship-output-note){font-size:max(14px,.82rem)}
body[data-brand-page] main :is(.fellowship-summary dt,.fellowship-month,.fellowship-jump a,.resource-preview span){font-size:max(14px,.78rem);line-height:1.55}
body[data-brand-page] .fellowship-interest-panel :is(.field-help,label span){font-size:max(14px,.78rem)}
body[data-brand-page] .fellowship-summary dd span,body[data-brand-page] .brand-image-credit{font-size:14px;line-height:1.55}
body[data-brand-page] .nav-submenu a{font-size:14px}
.nav-audience{display:block;font-size:14px;font-weight:400;line-height:1.5;color:var(--muted);margin-top:3px}
body[data-brand-page='/fellowship'] .fellowship-hero{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(32px,5vw,72px);padding-block:40px 36px}
body[data-brand-page='/fellowship'] .fellowship-hero h1{font-size:clamp(26px,2.5vw,36px);line-height:1.15;margin:0 0 20px;letter-spacing:-.025em}
body[data-brand-page='/fellowship'] .fellowship-hero h1 br{display:none}
body[data-brand-page='/fellowship'] .fellowship-hero h1 em:before{content:' '}
body[data-brand-page='/fellowship'] main .fellowship-purpose-question{font-size:clamp(40px,4.5vw,64px);line-height:1.05;max-width:17ch;margin-bottom:18px}
body[data-brand-page='/fellowship'] .fellowship-hero .lead{font-size:20px;line-height:1.45;margin-bottom:18px}
body[data-brand-page='/fellowship'] .fellowship-hero>div>p{max-width:55ch}
.fellowship-overview{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:40px;padding-block:28px 36px;border-top:1px solid var(--line)}
.fellowship-overview p{margin:0;max-width:65ch}
body[data-brand-page='/fellowship'] .fellowship-summary{padding:24px}
body[data-brand-page='/fellowship'] .fellowship-summary dl>div{padding-block:11px}
body[data-brand-page='/fellowship'] .fellowship-summary dd{font-size:21px}
body[data-brand-page='/fellowship'] .fellowship-summary dl{margin-bottom:18px}
body[data-brand-page='/fellowship'] .fellowship-summary>p{margin:0}
.home-belief{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(30px,5vw,72px)}
.home-belief .prose{max-width:70ch}
.home-practice-details{border-top:1px solid var(--line);margin-top:28px}
.home-practice-details>summary{cursor:pointer;padding:20px 0;font-weight:700;min-height:56px;color:var(--cobalt)}
.home-practice-more{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;padding-block:12px 24px}
.home-practice-note{min-width:0}
.home-practice-note h3{font-size:28px;margin-bottom:20px}
.home-practice-note .prose{max-width:65ch}
.home-practice-note .eyebrow{margin-bottom:14px}
body[data-brand-page] .home-practice-note>div{min-width:0}
body[data-brand-page] .brand-example{margin:0;background:#fff;border:1px solid var(--line);border-top:3px solid var(--cobalt);padding:20px;transform:none}
.brand-example figcaption{font-size:14px;font-weight:700;line-height:1.5;color:var(--cobalt);margin-bottom:18px}
.brand-example dl{margin:0;display:grid;gap:14px}
.brand-example dl>div+div{border-top:1px solid var(--line);padding-top:14px}
.brand-example dt{font-size:14px;font-weight:700;margin-bottom:5px}
.brand-example dd{font-size:16px;line-height:1.55;margin:0}
.brand-output-card:has(.brand-example){display:flex;flex-direction:column}
.brand-output-card .brand-example{order:4;margin-top:22px}
.brand-output-card:has(.brand-example) h3{margin-top:10px}
.brand-output-card:has(.brand-example)>.eyebrow{margin-bottom:12px}
body[data-brand-page] .resource-family{padding-block:24px 48px}
body[data-brand-page] .resource-family>h2{font-size:30px;margin:0 0 26px}
.resource-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.resource-card-grid .resource-tool{display:flex;flex-direction:column;gap:0;border:1px solid var(--line);padding:0;min-width:0;scroll-margin-top:110px;background:#fff}
.resource-card-grid .resource-preview{order:0;padding:20px;border:0;border-bottom:1px solid var(--line);height:220px;flex:none}
.resource-card-grid .resource-preview img{max-height:160px;max-width:100%;width:auto;height:auto}
.resource-card-grid .resource-preview span{margin-top:12px}
.resource-card-grid .resource-tool-copy{padding:26px;display:flex;flex-direction:column;flex:1;min-width:0}
.resource-card-grid .resource-tool-copy h3{font-size:27px;line-height:1.18;margin-bottom:18px}
.resource-card-grid .resource-tool-copy .eyebrow{margin-bottom:12px}
.resource-card-grid .resource-meta{margin-block:10px 20px}
.resource-card-grid .resource-actions{margin-top:auto;gap:16px 24px;padding-top:12px}
.resource-card-grid .resource-details{margin-top:20px}
.resource-card-grid .resource-details p{margin-block:18px 0}
.resource-card-grid .resource-details summary{min-height:48px}
.resource-catalogue{padding-block:10px 20px}
@media(max-width:1000px){body[data-brand-page='/fellowship'] .fellowship-hero{gap:28px}.fellowship-summary dd{overflow-wrap:anywhere}}
@media(max-width:800px){
 body[data-brand-page='/fellowship'] .fellowship-hero{grid-template-columns:1fr;padding-block:28px 24px;gap:28px}
 body[data-brand-page='/fellowship'] .fellowship-hero h1{font-size:26px;margin-bottom:18px}
 body[data-brand-page='/fellowship'] main .fellowship-purpose-question{font-size:clamp(38px,10vw,56px)}
 .fellowship-overview,.home-belief,.home-practice-more{grid-template-columns:1fr;gap:24px}
 .fellowship-overview{padding-block:24px 30px}
 body[data-brand-page] main :is(.field-help,.download-small,.studio-field-help,.resource-meta,.fellowship-small,.studio-card-note,.prototype-note,.form-intro,.fellowship-output-note){font-size:14px;line-height:1.6}
 body[data-brand-page] .fellowship-interest-panel :is(.field-help,label span),body[data-brand-page] main :is(.fellowship-summary dt,.fellowship-month,.fellowship-jump a,.resource-preview span){font-size:14px}
 .resource-card-grid{grid-template-columns:1fr}
 .resource-card-grid .resource-tool-copy{padding:24px}
 body[data-brand-page] .resource-family>h2{font-size:28px}
 .brand-example{padding:18px}
}
@media(prefers-reduced-motion:reduce){.home-practice-details{scroll-behavior:auto}}
