/* v1.0.4 front-end common layout and accessibility refinements */
:root{color-scheme:light}html{scroll-behavior:smooth}body{font-size:15px;-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto}a,button{transition:color .15s ease,background-color .15s ease,border-color .15s ease} .site-header{position:relative;z-index:10}.wrap{max-width:var(--width,1200px)}.section{padding-block:clamp(36px,5vw,70px)}.section-heading{align-items:center}.section-heading h2{line-height:1.35}.cards{gap:20px}.card{transition:border-color .15s,box-shadow .15s,transform .15s}.card:hover{box-shadow:0 8px 32px #0f172a0b;transform:translateY(-2px)}.card h3{overflow-wrap:anywhere}.card p{min-height:0}.card-body{display:flex;flex-direction:column}.card-arrow{margin-top:auto}.card-image{display:grid;place-items:center}.card-image img{object-fit:contain}.hero p,.page-intro p,.detail-header p{max-width:68ch}.prose{font-size:15px;line-height:1.95;overflow-wrap:anywhere}.prose p{margin:0 0 1.1em}.prose h2,.prose h3{line-height:1.45}.detail-layout{gap:clamp(20px,4vw,52px)}.detail-content{min-width:0}.info-panel{position:sticky;top:24px}.facts{grid-template-columns:minmax(105px,35%) minmax(0,1fr)}.facts dd{overflow-wrap:anywhere}.breadcrumbs{display:flex;flex-wrap:wrap;gap:7px;align-items:center}.pagination a,.pagination span{overflow-wrap:anywhere}.footer-top,.footer-bottom{flex-wrap:wrap}.search-form input{flex:1 1 160px;width:auto;min-width:0}details[open]>summary{margin-bottom:12px}summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}@media(max-width:800px){.site-header .nav.open{box-shadow:0 14px 28px #00000014}.nav.open a{padding:7px 0}.info-panel{position:static}.detail-header{padding:18px 0 30px}.detail-header h1{font-size:clamp(28px,6vw,38px)}.page-intro{padding:37px 0 25px}.page-intro h1{font-size:32px}}@media(max-width:500px){.hero{gap:25px}.hero h1{font-size:clamp(30px,9vw,40px)}.search-form{flex-wrap:wrap}.search-form input{flex:1 1 100%;width:100%}.search-form button{width:100%}.section-heading{align-items:flex-start}.section-heading a{white-space:nowrap}.card-body{padding:20px}.footer-top strong{font-size:21px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
