:root{font-family:'Manrope',Arial,Helvetica,sans-serif;font-size:16px;color:#16212E;background:#F6F4F1}
*{box-sizing:border-box}
body{margin:0}
h1,h2{font-family:'Fraunces',Georgia,serif;font-weight:400}

main{max-width:1280px;margin:auto;padding:36px clamp(14px,3vw,40px) 80px}
.crumb{font-size:.78rem;color:#8A93A0;margin:0 0 14px;letter-spacing:.02em}
.crumb a{color:#9D7A5A;text-decoration:none}
.crumb a:hover{text-decoration:underline}
.page-title h1{font-size:clamp(1.7rem,2.6vw,2.3rem);margin:0 0 6px;color:#102E4A}
.page-title p{color:#5C6B7A;margin:0 0 26px;line-height:1.6;font-size:.95rem;max-width:820px}

/* ── HOW-TO ── */
.how-to{background:#fff;border:1px solid rgba(157,122,90,.22);border-radius:6px;padding:4px 20px;margin:0 0 22px;max-width:900px}
.how-to summary{cursor:pointer;list-style:none;padding:14px 0;font-weight:700;font-size:.86rem;color:#102E4A;display:flex;align-items:center;gap:8px}
.how-to summary::-webkit-details-marker{display:none}
.how-to summary::before{content:"?";flex:0 0 auto;width:18px;height:18px;border-radius:50%;background:#9D7A5A;color:#fff;font-size:.72rem;font-weight:700;display:flex;align-items:center;justify-content:center}
.how-to[open] summary{border-bottom:1px solid rgba(157,122,90,.18);margin-bottom:12px}
.how-to ul{margin:0;padding:0 0 16px;list-style:none;display:flex;flex-direction:column;gap:9px}
.how-to li{font-size:.83rem;line-height:1.55;color:#3D4A57;padding-left:16px;position:relative}
.how-to li::before{content:"—";position:absolute;left:0;color:#9D7A5A}
.how-to li a{color:#9D7A5A;font-weight:600}

/* ── TABS ── */
.frag-tabs{display:flex;gap:10px;margin:0 0 22px;border-bottom:1px solid rgba(157,122,90,.22);flex-wrap:wrap}
.frag-tab{background:none;border:none;cursor:pointer;font-family:inherit;font-size:.86rem;font-weight:700;color:#8A93A0;padding:10px 4px 14px;position:relative;display:flex;align-items:center;gap:8px}
.frag-tab::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:transparent}
.frag-tab.is-active{color:#102E4A}
.frag-tab.is-active::after{background:#9D7A5A}
.frag-tab-count{font-size:.68rem;font-weight:700;color:#9D7A5A;background:#FBF3E7;border-radius:99px;padding:2px 9px}
.frag-tab.is-active .frag-tab-count{background:#102E4A;color:#F6F4F1}

/* ── SECTIONS / PANELS ── */
.frag-panel{display:none;margin:0 0 40px}
.frag-panel.is-active{display:block}
.frag-section-desc{color:#5C6B7A;font-size:.9rem;line-height:1.55;max-width:760px;margin:0 0 20px}

/* ── CONTROLS: SEARCH + CHIPS ── */
.frag-controls{display:flex;flex-direction:column;gap:14px;margin:0 0 6px}
.frag-search{width:100%;max-width:480px;font-family:inherit;font-size:.9rem;padding:12px 16px;border:1px solid rgba(157,122,90,.3);border-radius:6px;background:#fff;color:#16212E}
.frag-search:focus{outline:none;border-color:#9D7A5A}
.frag-chips{display:flex;gap:8px;flex-wrap:wrap}
.frag-chip{font-family:inherit;font-size:.76rem;font-weight:600;letter-spacing:.01em;color:#5C6B7A;background:#fff;border:1px solid rgba(157,122,90,.28);border-radius:99px;padding:7px 14px;cursor:pointer;transition:all .15s;white-space:nowrap}
.frag-chip:hover{border-color:#9D7A5A;color:#102E4A}
.frag-chip.is-active{background:#102E4A;border-color:#102E4A;color:#F6F4F1}
.frag-chip-count{opacity:.6;margin-left:2px}

.frag-result-count{font-size:.78rem;color:#8A93A0;margin:14px 0 10px}

/* ── LIST ── */
.frag-list{display:flex;flex-direction:column;gap:26px}
.frag-cat-group h3{font-size:.98rem;color:#102E4A;margin:0 0 10px;padding-bottom:8px;border-bottom:1px solid rgba(157,122,90,.18)}
.frag-cat-group-count{font-weight:400;color:#8A93A0;font-size:.82rem}
.frag-rows{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px 14px}
.frag-row{border:1px solid rgba(157,122,90,.16);background:#fff;border-radius:6px;padding:11px 14px;display:flex;flex-direction:column;gap:3px}
.frag-row-name{font-family:'Fraunces',Georgia,serif;font-size:.94rem;color:#102E4A;line-height:1.3}
.frag-row-insp{font-size:.76rem;color:#8A93A0}
.frag-row-insp strong{color:#5C6B7A;font-weight:600}
.frag-row-gender{align-self:flex-start;margin-top:3px;font-size:.63rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#9D7A5A;background:#FBF3E7;border-radius:99px;padding:2px 9px}
.frag-empty{font-size:.88rem;color:#8A93A0;padding:30px 0}

@media(max-width:600px){
  main{padding:24px 16px 50px}
  .frag-rows{grid-template-columns:1fr}
  .frag-search{max-width:none}
}
