/* Current branch components: catalog, getting started, source policy, courses.
   One scale per component; responsive rules change layout instead of shrinking copy. */
.open-v5-branch{--paper:var(--aix-paper);--ink:var(--aix-ink);--muted:var(--aix-muted);--line:var(--aix-line);--purple:var(--aix-action);--serif:var(--aix-font-editorial);--sans:var(--aix-font-ui);background:var(--paper);color:var(--ink);font-family:var(--sans)}
.open-v5-branch .ov5-header{border-bottom:1px solid var(--line);background:var(--paper)}
.open-v5-branch .ov5-header-inner{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.open-v5-branch .ov5-header .xlg-brand img{width:36px;height:36px}
.open-v5-branch .ov5-header .xlg-brand strong{font-size:15px;letter-spacing:0}
.open-v5-branch .ov5-header .xlg-brand small{font-size:12px;letter-spacing:.04em;margin-top:4px}
.open-v5-branch .ov5-header-nav{margin:0;display:flex;align-items:center;gap:24px;font-size:14px;}
.open-v5-branch .ov5-header-nav a{text-decoration:none;display:inline-flex;align-items:center;min-height:44px}
.open-v5-branch .ov5-header-nav .ov5-home-return:hover{text-decoration:underline;text-underline-offset:5px}
.open-v5-branch .ov5-header-nav .ov5-nav-next{background:var(--ink);color:var(--paper);border-radius:8px;padding:10px 16px;gap:16px;font-size:14px;}
.open-v5-branch .site-header{min-height:88px;background:var(--paper)}
.open-v5-apps .page-width,.open-v5-apps .site-header{width:min(1200px,calc(100% - 64px))}
.open-v5-branch .header-start{border-radius:8px;min-height:44px}
.open-v5-branch .ov5-hero{display:grid;grid-template-columns:minmax(0,1fr) 248px;gap:80px;align-items:center;max-width:none;padding-block:64px}
.open-v5-branch .ov5-hero h1{font-family:var(--sans);font-size:clamp(44px,5.5vw,72px);font-weight:600;letter-spacing:0;line-height:1.25;margin:24px 0;color:var(--ink)}
.open-v5-branch .ov5-hero h1 em{font-style:normal;color:var(--ink)}
.open-v5-branch .ov5-overline{font-size:12px;font-weight:550;letter-spacing:.06em;color:var(--muted)}
.open-v5-branch .ov5-overline span{display:inline;margin-left:24px;color:var(--muted);font-weight:400;letter-spacing:0}
.open-v5-branch .ov5-hero :is(.lead,.hero-description){font-size:17px;line-height:1.85;color:var(--muted);max-width:640px}
.open-v5-branch .ov5-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:32px}
.open-v5-branch .ov5-button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-height:52px;padding:12px 24px;background:var(--ink);color:var(--paper);border:1px solid var(--ink);border-radius:8px;font-size:15px;font-weight:550;text-decoration:none;transition:background-color 160ms}
.open-v5-branch .ov5-button:hover{background:var(--aix-action-hover)}
.open-v5-branch .ov5-text-link{font-size:14px;display:inline-flex;align-items:center;gap:16px;min-height:44px;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line)}
.open-v5-branch .ov5-text-link:hover{border-color:var(--ink)}
.open-v5-branch .ov5-side-note{border-left:1px solid var(--line);padding-left:32px}
.open-v5-branch .ov5-side-note img{width:168px;height:auto;margin:0 0 24px;transform:rotate(-7deg)}
.open-v5-branch .ov5-side-note p{font-size:14px;line-height:1.75;color:var(--muted)}
.open-v5-branch .ov5-side-note p strong{font-weight:550;color:var(--ink)}
.open-v5-branch .ov5-side-note a{display:inline-flex;align-items:center;gap:12px;min-height:44px;font-size:14px;color:var(--ink);border-bottom:1px solid var(--line);margin-top:12px;text-decoration:none}
.open-v5-branch .ov5-compatibility{font-size:12px;color:var(--muted);margin-top:16px}
.open-v5-branch .ov5-route{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid var(--line);margin-bottom:0}
.open-v5-branch .ov5-route a{display:flex;gap:20px;align-items:center;padding:24px 24px 24px 0;font-size:14px;color:var(--ink);text-decoration:none}
.open-v5-branch .ov5-route a>span:first-child{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.open-v5-branch .ov5-route a>span:last-child{margin-left:auto}
.open-v5-branch .ov5-route a+a{border-left:1px solid var(--line);padding-left:24px}
.open-v5-branch .ov5-route a:hover{background:var(--aix-selection)}
.open-v5-branch .ov5-license{border-left:1px solid var(--line);padding-left:32px}
.open-v5-branch .ov5-license-label{font-size:12px;color:var(--muted)}
.open-v5-branch .ov5-license>strong{display:block;font-family:var(--sans);font-size:88px;font-weight:500;line-height:1.1;letter-spacing:0;margin:12px 0 16px;color:var(--ink)}
.open-v5-branch .ov5-license p{font-size:14px;line-height:1.75;color:var(--muted)}
.open-v5-branch .ov5-license a{display:inline-flex;align-items:center;gap:12px;min-height:44px;margin-top:16px;border-bottom:1px solid var(--line);font-size:14px;color:var(--ink);text-decoration:none}
.open-v5-branch .ov5-open-line{border-block:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:24px;margin-bottom:0;font-size:14px}
.open-v5-branch .ov5-open-line strong{font-weight:550}
.open-v5-branch .ov5-open-line>span{font-size:12px;color:var(--muted)}
.open-v5-branch .free-line{border-color:var(--line);padding-block:24px}
.open-v5-branch .free-line strong{font-weight:550}
.open-v5-branch .free-line p>span:last-child{font-size:12px}
/* Catalog: quiet summary rows; the detail appears when it is useful. */
.open-v5-apps .ov5-hero{display:block;padding-block:56px 0}
.open-v5-apps .ov5-hero h1{font-size:clamp(42px,5.2vw,68px);margin-block:24px}
.open-v5-apps .ov5-hero h1 br{display:none}
.open-v5-apps .ov5-hero h1 em{margin-left:.15em}
.open-v5-apps .ov5-hero .hero-description{max-width:760px;font-size:16px}
.catalog-paths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:40px;border-block:1px solid var(--line)}
.catalog-paths a{display:grid;grid-template-columns:1fr auto;gap:4px 16px;padding:24px;text-decoration:none;color:var(--ink)}
.catalog-paths a:first-child{padding-left:0}
.catalog-paths a+a{border-left:1px solid var(--line)}
.catalog-paths strong{font-size:28px;line-height:1.3;font-weight:550;letter-spacing:0}
.catalog-paths strong span{font-size:14px;letter-spacing:0;font-weight:500}
.catalog-paths p{font-size:14px;margin:4px 0 0;color:var(--muted);line-height:1.75;}
.catalog-paths a>span{grid-column:2;grid-row:1/3;align-self:center}
.catalog-paths a:hover{background:var(--aix-selection)}
.open-v5-apps .catalog-shell{padding-top:48px}
.open-v5-apps .directory-heading{margin-bottom:24px}
.open-v5-apps .directory-heading h2{font-size:28px;letter-spacing:0}
.open-v5-apps .directory-help{font-size:12px;color:var(--muted)}
.open-v5-branch .filter.active{background:var(--ink);border-color:var(--ink)}
.open-v5-branch .group-heading{background:transparent;border-top-color:var(--ink);padding-block:24px}
.open-v5-branch .group-heading h2{font-size:18px}
.open-v5-branch .app-symbol{background:var(--aix-selection);border-radius:12px;color:var(--ink)}
.open-v5-branch .app-symbol:has(img){background:transparent;border-radius:0}
.open-v5-apps .free-line{margin-top:24px;margin-bottom:64px}
/* Instructions and policy share numbered, readable sections. */
.open-v5-branch .policy-row{grid-template-columns:72px 1fr 1.1fr;gap:40px;padding-block:56px}
.open-v5-branch .policy-row h2{font-size:40px;line-height:1.35;letter-spacing:0}
.open-v5-branch .policy-row p{font-size:15px;line-height:1.9}
.open-v5-branch .policy-row .policy-index{font-size:12px;color:var(--muted);white-space:nowrap}
.open-v5-branch #source-status{margin-top:16px;font-size:14px;color:var(--muted)}
.open-v5-branch .old-friends{border:0;border-block:1px solid var(--line);border-radius:0;padding:40px 0;margin:24px 0 64px;gap:64px;background:transparent}
.open-v5-branch .old-friends h2{font-size:32px;margin-top:16px}
.open-v5-branch .old-friends p{font-size:14px;line-height:1.75;}
.open-v5-branch .step-row{grid-template-columns:64px 1.1fr 1fr;gap:40px;padding-block:64px}
.open-v5-branch .step-count{font-family:var(--sans);font-size:48px;line-height:1;font-weight:400;color:var(--muted);letter-spacing:0}
.open-v5-branch .step-row h2{font-size:34px;line-height:1.4;letter-spacing:0}
.open-v5-branch .step-row p{font-size:15px;line-height:1.9}
.open-v5-branch .step-aside{font-size:14px}
.open-v5-branch .step-aside p{font-size:14px}
.open-v5-branch .step-row .xlg-btn{font-size:14px;min-height:48px;border-radius:8px}
.open-v5-branch .closing-panel{padding-block:64px}
.open-v5-branch .closing-panel h2{font-size:48px}
.open-v5-branch .xlg-btn{border-radius:8px}
.open-v5-branch .site-footer>p{font-size:12px}
.open-v5-branch :is(a,button,summary):focus-visible{outline:2px solid var(--aix-focus);outline-offset:5px}
@media(max-width:1000px){
.open-v5-branch .ov5-hero{grid-template-columns:minmax(0,1fr) 208px;gap:40px;padding-block:48px}
.open-v5-apps .ov5-hero{display:block;padding-bottom:0}
.open-v5-branch .ov5-hero h1{font-size:clamp(44px,5.6vw,64px);font-weight:600;line-height:1.25;}
.open-v5-branch .ov5-side-note{padding-left:24px}.open-v5-branch .ov5-side-note img{width:144px}
.open-v5-branch .policy-row{grid-template-columns:48px 1fr 1fr;gap:24px}.open-v5-branch .policy-row h2{font-size:32px}
.open-v5-branch .step-row{grid-template-columns:48px 1fr;gap:24px}.open-v5-branch .step-aside{grid-column:2;border-left:0;border-top:1px solid var(--line);padding:24px 0 0}
}
@media(max-width:767px){
.open-v5-apps .page-width,.open-v5-apps .site-header{width:calc(100% - 40px)}
.open-v5-branch .ov5-hero{grid-template-columns:1fr;gap:32px;padding-block:40px}
.open-v5-branch .ov5-hero h1{font-size:clamp(38px,10.5vw,56px);line-height:1.25;margin-block:20px;font-weight:600;}
.open-v5-branch .ov5-overline{font-size:12px}.open-v5-branch .ov5-overline span{margin-left:12px;font-size:12px}
.open-v5-branch .ov5-hero :is(.lead,.hero-description){font-size:15px;line-height:1.85}.open-v5-branch .ov5-hero :is(.lead,.hero-description) br{display:none}
.open-v5-branch .ov5-actions{gap:16px;margin-top:24px}.open-v5-branch .ov5-button{font-size:14px;min-height:48px;padding:12px 20px;gap:24px}.open-v5-branch .ov5-text-link{font-size:14px;}
.open-v5-branch .ov5-side-note{display:grid;grid-template-columns:64px 1fr;gap:0 20px;align-items:center;padding:24px 0 0;border-left:0;border-top:1px solid var(--line)}
.open-v5-branch .ov5-side-note img{width:64px;grid-row:1/3;margin:0}.open-v5-branch .ov5-side-note p{font-size:14px;line-height:1.75;}.open-v5-branch .ov5-side-note p br{display:none}.open-v5-branch .ov5-side-note a{justify-self:start;margin:4px 0 0;font-size:14px;}
.open-v5-branch .ov5-route a{display:block;padding:16px 12px 16px 0;font-size:14px;line-height:1.8}.open-v5-branch .ov5-route a+a{padding-left:16px}.open-v5-branch .ov5-route a>span:first-child{display:block;margin-bottom:8px}.open-v5-branch .ov5-route a>span:last-child{display:none}
.open-v5-branch .ov5-license{border-left:0;border-top:1px solid var(--line);padding:24px 0 0;display:grid;grid-template-columns:104px 1fr;gap:4px 24px}
.open-v5-branch .ov5-license-label{grid-column:1;grid-row:1}.open-v5-branch .ov5-license>strong{grid-column:1;grid-row:2/4;font-size:64px;margin:0}.open-v5-branch .ov5-license p{grid-column:2;grid-row:1/3;font-size:14px;line-height:1.75;}.open-v5-branch .ov5-license a{grid-column:2;grid-row:3;justify-self:start;margin-top:0;font-size:14px;}
.open-v5-branch .ov5-open-line{align-items:start;flex-direction:column;gap:8px;font-size:14px;padding-block:24px}
.open-v5-apps .ov5-hero{padding-block:32px 0}.open-v5-apps .ov5-hero h1 br{display:block}.open-v5-apps .ov5-hero h1 em{margin-left:0}
.catalog-paths{margin-top:28px}.catalog-paths a{padding:16px 12px;grid-template-columns:1fr;gap:4px}.catalog-paths strong{font-size:26px}.catalog-paths strong span{display:block;font-size:12px;margin-top:8px}.catalog-paths p{font-size:14px;line-height:1.75;}.catalog-paths a>span{display:none}
.open-v5-apps .catalog-shell{padding-top:32px}.open-v5-apps .directory-heading{margin-bottom:20px}.open-v5-apps .directory-heading .eyebrow{display:none}.open-v5-apps .directory-heading h2{font-size:23px;margin-top:0}.open-v5-apps .directory-help{font-size:12px}
.open-v5-branch .group-heading{padding-block:20px}.open-v5-branch .group-heading h2{font-size:16px}
.open-v5-branch .policy-row{grid-template-columns:1fr;gap:16px;padding-block:40px}.open-v5-branch .policy-row>div:last-child{grid-column:auto}.open-v5-branch .policy-row h2{font-size:30px}.open-v5-branch .policy-row p{font-size:14px}
.open-v5-branch .old-friends{grid-template-columns:1fr;gap:24px;padding-block:32px;margin-block:16px 32px}.open-v5-branch .old-friends h2{font-size:28px}.open-v5-branch .old-friends p{font-size:14px;line-height:1.75;}
.open-v5-branch .step-row{grid-template-columns:32px minmax(0,1fr);gap:20px;padding-block:40px}.open-v5-branch .step-count{font-size:32px;padding-top:6px}.open-v5-branch .step-row h2{font-size:27px;line-height:1.4}.open-v5-branch .step-row p,.open-v5-branch .step-aside,.open-v5-branch .step-aside p{font-size:14px;line-height:1.85}
.open-v5-branch .closing-panel{padding-block:48px}.open-v5-branch .closing-panel h2{font-size:34px}
}
@media(max-width:600px){
.open-v5-branch .ov5-header-inner{min-height:0;flex-wrap:wrap;gap:12px;padding-block:16px}
.open-v5-branch .ov5-header-nav{width:100%;justify-content:space-between;gap:12px;font-size:14px;}.open-v5-branch .ov5-header-nav .ov5-nav-next{font-size:14px;padding:8px 12px;gap:8px}
.open-v5-branch .site-header{min-height:0}
}
@media(prefers-reduced-motion:reduce){.open-v5-branch .ov5-side-note img{transform:none}}
