/* Hallmark · macrostructure: Split Studio / Long Document
 * tone: editorial · anchor hue: coastal blue · theme: locked design.md
 * nav: program masthead · footer: service colophon · enrichment: existing coastal-road image
 * pre-emit critique: P5 H5 E4 S5 R5 V4 */
/* Consumes tokens and fonts from the existing brand.css linked before this file. */

.program-page{font-size:var(--text-lg)}
.program-wrap{width:min(1120px,calc(100% - var(--page-gutter)*2));margin-inline:auto}
.program-identity{background:var(--color-paper-2);color:var(--color-ink-2);font-size:var(--text-xs);padding-block:var(--space-xs)}
.program-identity p{margin:0}
.program-header{background:var(--color-paper);color:var(--color-ink);border-bottom:1px solid var(--color-rule)}
.program-masthead{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-sm);padding-block:var(--space-lg)}
.program-header .cle-brand{gap:var(--space-xs)}
.program-header .cle-brand>.cle-brand__lockup{width:240px;height:auto}
.program-header .cle-brand__name{font-size:1.55rem}
.program-header .cle-brand__sub{font-size:.55rem}
.program-support{display:inline-flex;align-items:center;min-height:44px;font-size:var(--text-sm);font-weight:600;white-space:nowrap}
.program-nav{display:flex;flex-wrap:wrap;gap:0 var(--space-lg);padding-bottom:var(--space-xs)}
.program-nav a{display:inline-flex;align-items:center;min-height:48px;font-size:var(--text-sm);font-weight:500;text-decoration:none;white-space:nowrap;color:var(--color-ink-2);border-bottom:2px solid transparent}
.program-nav a[aria-current=page]{font-weight:700;color:var(--color-accent);border-bottom-color:var(--color-accent)}
.program-nav a:hover{text-decoration:underline;text-underline-offset:.3em;color:var(--color-accent)}
.program-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-xs);font-size:var(--text-xs);color:var(--color-muted);padding-top:var(--space-md)}
.program-breadcrumb a{display:inline-flex;min-height:44px;align-items:center;white-space:nowrap;color:var(--color-muted)}
.program-hero{padding-block:var(--space-2xl) var(--space-3xl)}
.program-hero h1{font-size:clamp(2.6rem,5.4vw,4.6rem);line-height:1.08;letter-spacing:-.04em;margin:0 0 var(--space-lg);max-width:17ch}
.program-hero--prelicensing h1{font-size:clamp(2.5rem,5vw,4rem);max-width:20ch}
.program-hero--renewal h1{font-size:clamp(2.5rem,5vw,4.2rem);max-width:22ch}
.program-intro{font-size:clamp(1.125rem,2vw,1.3rem);line-height:1.65;max-width:52ch;margin-bottom:var(--space-xl)}
.program-actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-sm) var(--space-lg)}
.program-actions .cle-button{font-size:var(--text-md)}
.program-link{display:inline-flex;align-items:center;min-height:44px;font-size:var(--text-md);font-weight:600;white-space:normal}
.program-actions a:active{transform:translateY(1px)}
.program-status{margin-top:var(--space-lg);padding:var(--space-md) var(--space-lg);background:var(--color-warning-bg);color:var(--color-warning);border-radius:var(--radius-input);font-size:var(--text-sm);max-width:66ch}
.program-status p{margin:var(--space-2xs) 0 0}
.program-status strong{font-weight:700}
.program-hero-grid{display:grid;gap:var(--space-xl);align-items:center}
.program-road{margin:0}
.program-road img{display:block;width:100%;aspect-ratio:1.2;object-fit:cover;border-radius:var(--radius-card)}
.program-road figcaption{font-size:var(--text-xs);margin-top:var(--space-xs);color:var(--color-muted)}
.program-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-lg);margin:0;padding-block:var(--space-lg);border-block:1px solid var(--color-rule)}
.program-facts div{min-width:0}
.program-facts dt{font-size:var(--text-sm);color:var(--color-muted)}
.program-facts dd{margin:var(--space-2xs) 0 0;font-family:var(--font-display);font-size:var(--text-xl);font-weight:500;line-height:1.35;color:var(--color-ink)}
.program-section{padding-block:var(--space-3xl)}
.program-section+.program-section{border-top:1px solid var(--color-rule)}
.program-section h2,.program-sidebar h2{font-size:clamp(2rem,3.3vw,3rem);line-height:1.16;margin:0 0 var(--space-lg);max-width:24ch}
.program-section h3{font-size:var(--text-xl);line-height:1.3;margin:0 0 var(--space-sm)}
.program-section p{max-width:65ch}
.program-split{display:grid;gap:var(--space-xl)}
.program-steps{list-style:none;padding:0;margin:0;counter-reset:program-step}
.program-steps li{display:grid;grid-template-columns:2rem minmax(0,1fr);gap:var(--space-md);padding-block:var(--space-lg);border-bottom:1px solid var(--color-rule);counter-increment:program-step}
.program-steps li:first-child{padding-top:0}
.program-steps li:last-child{border:0;padding-bottom:0}
.program-steps li::before{content:counter(program-step,decimal-leading-zero);font-size:var(--text-sm);font-weight:600;color:var(--color-accent);padding-top:.3rem}
.program-steps p{font-size:var(--text-md);margin:0}
.program-topics{display:grid;gap:var(--space-lg);margin:var(--space-xl) 0 0;padding:0;list-style:none}
.program-topics li{padding-top:var(--space-lg);border-top:1px solid var(--color-rule);min-width:0}
.program-topics p{font-size:var(--text-md);margin:0}
.program-panel{background:var(--color-paper-2);color:var(--color-ink-2);padding:var(--space-xl);border-radius:var(--radius-card)}
.program-panel h2{font-size:clamp(1.8rem,3vw,2.5rem)}
.program-panel p{font-size:var(--text-md)}
.program-panel ul{padding-left:var(--space-lg);margin:0}
.program-panel li{font-size:var(--text-md);padding-block:var(--space-xs)}
.program-panel li+li{border-top:1px solid var(--color-rule)}
.program-outline{display:grid;gap:var(--space-xl)}
.program-outline-list{padding:0;margin:0;list-style:none}
.program-outline-list li{padding-block:var(--space-lg);border-top:1px solid var(--color-rule)}
.program-outline-list h3{font-size:1.4rem}
.program-outline-list p{font-size:var(--text-md);margin:0}
.program-sidebar{min-width:0}
.program-case-lead{display:grid;gap:var(--space-lg);background:var(--color-paper-2);color:var(--color-ink-2);padding:var(--space-xl);border-radius:var(--radius-card);margin-top:var(--space-xl)}
.program-case-lead h3{font-size:clamp(1.7rem,3vw,2.3rem)}
.program-case-lead p{font-size:var(--text-md);margin-bottom:0}
.program-case-list{padding:0;margin:var(--space-lg) 0 0;list-style:none}
.program-case-list li{display:grid;gap:var(--space-xs);padding-block:var(--space-lg);border-bottom:1px solid var(--color-rule)}
.program-case-list h3{font-size:1.3rem;margin:0}
.program-case-list p{font-size:var(--text-md);margin:0}
.program-faq{border-top:1px solid var(--color-rule)}
.program-faq details{border-bottom:1px solid var(--color-rule)}
.program-faq summary{position:relative;cursor:pointer;list-style:none;font-size:var(--text-md);font-weight:600;line-height:1.55;color:var(--color-ink);min-height:48px;padding:var(--space-lg) var(--space-xl) var(--space-lg) 0}
.program-faq summary::-webkit-details-marker{display:none}
.program-faq summary::after{content:'+';position:absolute;right:0;top:var(--space-lg);font-size:var(--text-xl);line-height:1;font-weight:400;color:var(--color-accent)}
.program-faq details[open] summary::after{content:'−'}
.program-faq details p{font-size:var(--text-md);padding-bottom:var(--space-lg);margin:0;max-width:65ch}
.program-sources{font-size:var(--text-sm)}
.program-sources h2{font-size:var(--text-2xl)}
.program-sources ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-xs) var(--space-xl)}
.program-sources li{max-width:100%}
.program-sources a{display:inline-block;min-height:44px;padding-block:var(--space-xs);overflow-wrap:anywhere}
.program-reviewed{color:var(--color-muted);font-size:var(--text-xs);margin:var(--space-sm) 0 0}
.program-footer{background:var(--color-dark);color:var(--color-dark-muted);padding-block:var(--space-2xl) var(--space-xl)}
.program-footer h2{font:500 var(--text-2xl)/1.2 var(--font-display);color:var(--color-paper);margin:0 0 var(--space-md)}
.program-footer p{font-size:var(--text-sm);max-width:70ch}
.program-footer a{color:var(--color-paper);display:inline-flex;min-height:44px;align-items:center;white-space:nowrap;font-size:var(--text-sm)}
.program-footer a:hover{text-decoration-thickness:2px}
.program-footer :focus-visible{outline-color:var(--color-paper)!important}
.program-office{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-xs) var(--space-xl);font-size:var(--text-sm);font-style:normal}
.program-office span{max-width:100%}
.program-footer-nav{display:flex;flex-wrap:wrap;gap:0 var(--space-xl);border-top:1px solid var(--color-muted);padding-top:var(--space-sm);margin-top:var(--space-lg)}
.program-footer-small{font-size:var(--text-xs)!important;margin:var(--space-lg) 0 0}

@media(min-width:40rem){
 .program-hero{padding-block:var(--space-2xl) var(--space-3xl)}
 .program-facts{grid-template-columns:repeat(4,minmax(0,1fr))}
 .program-topics{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-xl)}
 .program-panel,.program-case-lead{padding:var(--space-2xl)}
 .program-case-list li{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:var(--space-xl)}
}
@media(min-width:60rem){
 .program-masthead{padding-block:var(--space-xl)}
 .program-nav{gap:var(--space-2xl)}
 .program-hero-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:var(--space-3xl)}
 .program-hero--prelicensing .program-hero-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);align-items:start}
 .program-hero--renewal .program-hero-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);align-items:end}
 .program-split{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:var(--space-4xl)}
 .program-outline{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:var(--space-3xl);align-items:start}
 .program-case-lead{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:var(--space-2xl)}
 .program-section{padding-block:var(--space-4xl)}
 .program-sources{padding-block:var(--space-2xl) var(--space-3xl)}
}
@media(prefers-reduced-motion:reduce){.program-page *, .program-page *::before,.program-page *::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.program-actions a:active{transform:none}}
@media(forced-colors:active){.program-status,.program-panel,.program-case-lead{border:1px solid CanvasText}.program-nav a[aria-current=page]{border-bottom:2px solid LinkText}.program-footer{border-top:1px solid CanvasText}}

@media(max-width:40rem){.program-header .cle-brand>.cle-brand__lockup{width:200px}}
