.booklet { display:grid; grid-template-columns:1fr; gap:clamp(2rem,5vw,4.5rem); align-items:center; padding:clamp(3rem,7vw,5.5rem) 0; }
.booklet__media { order:2; text-align:center; }
.booklet__content { order:1; min-width:0; }
.booklet__media a { display:inline-flex; flex-direction:column; align-items:center; gap:.7rem; }
.booklet__media img { width:min(78vw,410px); filter:drop-shadow(0 18px 24px rgba(0,0,0,.16)); }
.booklet__content h2 { margin:.35rem 0 .3rem; color:#000; font:700 30px/1 Montserrat,Arial,sans-serif; letter-spacing:-.6px; text-transform:uppercase; }
.booklet__content p { color:#7a7a7a; }
.badge-index,.degree-index,.degree-list { margin:1rem 0 1.4rem; padding:0; list-style:none; }
.badge-index { columns:2 180px; column-gap:2rem; }
.badge-index--single-column { columns:1; }
.badge-index li,.degree-index li,.degree-list li { position:relative; break-inside:avoid; margin-bottom:.5rem; padding-left:1.9rem; }
.badge-index li::before,.degree-index li::before,.degree-list li::before { content:'✓'; position:absolute; left:0; top:.18rem; display:grid; place-items:center; width:1.05rem; height:1.05rem; border-radius:.15rem; background:#22c55e; color:#fff; font-size:.78rem; font-weight:700; }
.degree-index { display:grid; grid-template-columns:1fr; gap:.4rem; }
.degree-item--popular::before{background:#81b886}.degree-item--bronze::before{background:#bd7224!important}.degree-item--silver::before{background:#b1b1b1!important}.degree-item--gold::before{background:#c69d1f!important}.degree-item--platinum::before{background:#ffe185!important;color:#745f00}
.badge-section { display:grid; grid-template-columns:1fr; gap:clamp(1.5rem,4vw,3rem); padding:clamp(2.7rem,6vw,5rem) 0; border-top:1px solid #ececec; }
.badge-section__media { display:flex; justify-content:center; align-items:flex-start; min-width:0; }
.badge-section__media img { width:min(65vw,280px); max-height:310px; object-fit:contain; }
.badge-section__body,.badge-accordion__content,.places-list,.places-list>details,.places-list>details>summary,.places-list>details>span { min-width:0; }
.badge-section__subtitle { color:#000; font:italic 400 18px/1 Montserrat,Arial,sans-serif; letter-spacing:-.36px; }
.badge-section__intro { margin-top:1.35rem; color:#7a7a7a; font:400 18px/1.6 Roboto,Arial,sans-serif; }
.badge-safety { padding:clamp(3rem,7vw,5rem) 1rem; border-top:1px solid #ececec; background:#fff; }
.badge-safety__inner { display:grid; gap:1rem; }
.safety-note { padding:1rem 1.15rem; border-left:3px solid var(--lw-orange); background:var(--lw-soft); }
.safety-note p { margin:.45rem 0 0; }
.badge-accordion { margin-top:1.25rem; border:1px solid #ececec; background:#fff; box-shadow:0 8px 24px rgba(0,0,0,.05); }
.badge-accordion>summary,.places-list>details>summary { list-style:none; cursor:pointer; user-select:none; }
.badge-accordion>summary::-webkit-details-marker,.places-list>details>summary::-webkit-details-marker { display:none; }
.badge-accordion__summary { display:flex; align-items:center; gap:.75rem; min-height:39px; padding:.34rem 1rem; color:#fff; background:linear-gradient(90deg,#f8aa34 0%,#f6c57e 42%,#fff 100%); font-size:clamp(.84rem,1.8vw,1rem); font-weight:700; text-transform:uppercase; }
.badge-accordion__summary::before { content:'➜'; display:grid; place-items:center; width:1.05rem; height:1.05rem; border-radius:50%; background:#fff; color:#f09c1f; font-size:.72rem; }
.badge-accordion__summary>span:first-child { flex:1 1 auto; }
.badge-accordion__icon { flex:0 0 auto; width:.72rem; height:.72rem; border-right:2px solid #fff; border-bottom:2px solid #fff; transform:rotate(45deg); }
.badge-accordion[open] .badge-accordion__icon { transform:rotate(225deg); }
.badge-map-link { margin:.9rem 0 0; color:#666; font-size:.94rem; }
.places-list>br { display:none; }
.places-list>span { display:block; padding:.6rem 1rem .5rem 20px; color:#444!important; background:linear-gradient(90deg,#fff 0%,#fbe2be 58%,#fcd59a 100%); font-size:.9rem!important; font-weight:700; line-height:1.4!important; letter-spacing:.08em; text-transform:uppercase; }
.places-list>details { margin:0!important; border:0!important; border-top:1px solid var(--lw-line)!important; background:#fff!important; }
.places-list>details:nth-of-type(odd) { background:var(--lw-soft)!important; }
.places-list>details>summary { display:flex; grid-template-columns:none; align-items:center; flex-wrap:nowrap; gap:0; min-height:48px; padding:.65rem .9rem; color:#666; font-size:0; text-align:left; }
.places-list>details>summary>span:first-child { flex:0 0 4.5ch; width:4.5ch; overflow:hidden; font-size:.74rem!important; font-weight:700; color:#666!important; text-align:center; white-space:nowrap; }
.badge-accordion--tower-codes .places-list>details>summary>span:first-child { flex-basis:7.5ch; width:7.5ch; }
.places-list>details>summary>span:nth-child(2) { flex:0 1 auto; min-width:0; margin-left:.75rem; overflow:hidden; color:#666!important; font-size:.91rem!important; font-weight:700!important; line-height:1.35; text-overflow:ellipsis; white-space:nowrap; }
.places-list>details>summary>span:not(:first-child):not(:nth-child(2)):not(:last-child) { flex:0 0 auto; margin-left:.5rem; color:#777!important; font-size:.72rem!important; white-space:nowrap; }
.places-list>details>summary>span:last-child { flex:0 0 auto; margin-left:auto; padding-left:.5rem; color:#666!important; font-size:0!important; }
.places-list>details>summary>span:last-child::after { content:'>>'; font-size:.76rem; font-weight:700; }
.places-list>details[open]>summary>span:last-child::after { content:'<<'; }
.places-list>details>span { display:block; padding:.1rem 1rem 1rem 6.5rem; color:#676767!important; font-size:.86rem!important; }
@media(min-width:760px){ .booklet{grid-template-columns:minmax(250px,40%) minmax(0,1fr)}.booklet__media{order:1}.booklet__content{order:2} }
@media(min-width:900px){ .badge-section{grid-template-columns:minmax(180px,22%) minmax(0,1fr);align-items:start}.badge-section__media img{width:100%;max-width:285px} }
@media(max-width:640px){ .hero{min-height:390px}.badge-index{columns:1}.badge-accordion__summary{padding:.3rem .8rem}.places-list>details>summary{display:flex;grid-template-columns:none;gap:0;padding:.65rem .75rem}.places-list>details>summary>span:first-child,.places-list>details>summary>span:nth-child(2),.places-list>details>summary>span:last-child{grid-column:auto;grid-row:auto}.places-list>details>summary>span:nth-child(2){font-size:clamp(.76rem,3.5vw,.91rem)!important}.places-list>details>summary>span:not(:first-child):not(:nth-child(2)):not(:last-child){font-size:clamp(.66rem,3vw,.72rem)!important}.places-list>details>span{padding:.05rem .75rem .9rem;font-size:.83rem!important} }
