/* Category-only layout. Header, footer and other archives retain their theme styles. */
.bosanke-matorke-page #primary.bm-landing { width:100%; float:none; margin:0; padding:0; }
.bosanke-matorke-page #content > .container { display:block; }
.bm-landing { --bm-ink:#20282a; --bm-muted:#566166; --bm-line:#dce1df; --bm-wash:#f4f6f4; --bm-accent:var(--primary-color,#80b784); color:var(--bm-ink); }
.bm-landing *, .bm-landing *::before, .bm-landing *::after { box-sizing:border-box; }
.bm-landing #main { margin:0; }
.bm-landing h1,.bm-landing h2,.bm-landing h3 { color:var(--bm-ink); font-family:var(--secondary-font,Georgia,serif); font-weight:600; letter-spacing:-.025em; line-height:1.2; }
.bm-landing h2 { font-size:clamp(1.55rem,2.4vw,2.25rem); margin:0 0 1.2rem; }
.bm-landing h3 { font-size:1.25rem; margin:0 0 .8rem; }
.bm-landing p { font-size:1rem; line-height:1.75; margin:0 0 1rem; }
.bm-landing a { color:inherit; text-underline-offset:4px; }
.bm-landing a:hover { color:inherit; }
.bm-landing a:focus-visible,.bm-landing button:focus-visible,.bm-landing select:focus-visible,.bm-landing summary:focus-visible { outline:3px solid #287b92; outline-offset:4px; }
.bm-landing [id] { scroll-margin-top:2rem; }
.bm-breadcrumb { display:flex; flex-wrap:wrap; gap:.6rem; align-items:center; font-size:.875rem; line-height:1.6; padding:1.5rem 0; color:var(--bm-muted); }
.bm-hero { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr); gap:clamp(2rem,5vw,5rem); align-items:center; padding:2.2rem 0 3.5rem; border-bottom:1px solid var(--bm-line); }
.bm-landing .bm-eyebrow { color:var(--bm-muted); font-family:var(--primary-font,inherit); font-size:.875rem; line-height:1.5; font-weight:600; letter-spacing:.045em; margin:0 0 1rem; }
.bm-eyebrow span { padding:0 .25rem; }
.bm-hero h1 { font-size:clamp(2.35rem,4.7vw,4.2rem); max-width:15ch; margin:0 0 1.3rem; }
.bm-landing .bm-lead { font-size:1.125rem; max-width:54ch; color:#3f4b4f; }
.bm-actions { display:flex; align-items:center; flex-wrap:wrap; gap:1.4rem; margin:1.6rem 0; }
.bm-landing .bm-button { display:inline-flex; justify-content:center; align-items:center; gap:1rem; min-height:48px; border:1px solid transparent; border-radius:5px; padding:.8rem 1.25rem; font:600 1rem/1.4 var(--primary-font,inherit); letter-spacing:0; text-transform:none; text-decoration:none; box-shadow:none; cursor:pointer; transition:transform .15s ease,background-color .15s ease; }
.bm-landing .bm-button:hover { transform:translateY(-2px); }
.bm-landing .bm-button-primary { background:var(--bm-accent); color:#152018; }
.bm-landing .bm-button-dark { color:#fff; background:var(--bm-ink); }
.bm-landing .bm-button-dark:hover { color:#fff; background:#364348; }
.bm-text-link { font-size:.9375rem; font-weight:600; }
.bm-landing .bm-service-note { color:var(--bm-muted); font-size:.875rem; line-height:1.65; max-width:65ch; margin-bottom:0; }
.bm-service-card { padding:2rem; background:var(--bm-wash); border:1px solid var(--bm-line); border-top:4px solid var(--bm-accent); border-radius:8px; }
.bm-service-mark { display:inline-block; font:bold .875rem/1.1 var(--primary-font,inherit); letter-spacing:.05em; padding:.6rem .7rem; background:white; border:1px solid var(--bm-line); border-radius:4px; margin-bottom:1.5rem; }
.bm-service-card h2 { font-size:1.6rem; }
.bm-landing .bm-price { font-family:var(--secondary-font,Georgia,serif); font-size:2.7rem; font-weight:600; line-height:1.15; margin:1.5rem 0; }
.bm-price span { display:block; font:400 .875rem/1.6 var(--primary-font,inherit); margin-top:.45rem; color:var(--bm-muted); }
.bm-number { border-top:1px solid var(--bm-line); padding-top:1.2rem; }
.bm-number strong { display:block; font-size:1.3rem; letter-spacing:.04em; }
.bm-profiles { padding:3rem 0; }
.bm-section-heading { display:flex; justify-content:space-between; align-items:center; gap:1.5rem; margin-bottom:1.4rem; }
.bm-section-heading h2 { margin-bottom:0; }
.bm-section-heading .bm-eyebrow { margin-bottom:.5rem; }
.bm-landing .bm-count { font-size:1.8rem; font-weight:600; text-align:right; line-height:1.2; flex-shrink:0; margin:0; }
.bm-count span { display:block; font-size:.875rem; font-weight:400; color:var(--bm-muted); margin-top:.4rem; }
.bm-filters { display:flex; align-items:flex-end; gap:1rem; flex-wrap:wrap; padding:1.25rem; margin:1.5rem 0 2rem; border:1px solid var(--bm-line); border-radius:6px; background:var(--bm-wash); }
.bm-field { flex:1 1 200px; }
.bm-field label { display:block; font-size:.875rem; line-height:1.4; font-weight:600; margin-bottom:.5rem; }
.bm-field select { width:100%; max-width:100%; min-height:48px; border:1px solid #aeb9b5; border-radius:4px; background-color:white; color:var(--bm-ink); padding:.65rem 2rem .65rem .85rem; font:400 1rem/1.4 var(--primary-font,inherit); }
.bm-reset { padding:.7rem .2rem; font-size:.875rem; }
.bm-result-note { color:var(--bm-muted); }
.bm-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; }
.bm-landing #main .bm-profile { display:flex; flex-direction:column; min-width:0; border:1px solid var(--bm-line); border-radius:8px; padding:0; margin:0; overflow:hidden; background:white; }
.bm-photo { display:block; aspect-ratio:4/4.5; width:100%; background:#e9eeeb; overflow:hidden; text-decoration:none; }
.bm-photo img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 25%; margin:0; transition:transform .3s ease; }
.bm-photo:hover img { transform:scale(1.03); }
.bm-monogram { width:100%; height:100%; display:flex; align-items:center; justify-content:center; font:400 6rem/1 var(--secondary-font,Georgia,serif); color:#566b61; background:linear-gradient(135deg,#edf1ee,#d6e0da); }
.bm-profile-body { padding:1.2rem; display:flex; flex-direction:column; flex:1; min-width:0; }
.bm-profile-meta { display:flex; flex-wrap:wrap; justify-content:space-between; gap:.5rem; font-size:.875rem; color:var(--bm-muted); margin-bottom:.7rem; }
.bm-profile h3 a { text-decoration:none; overflow-wrap:anywhere; }
.bm-profile h3 a:hover { text-decoration:underline; }
.bm-landing .bm-excerpt { color:var(--bm-muted); margin-bottom:1.25rem; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; }
.bm-contact { margin-top:auto; width:100%; }
.bm-pagination { margin:2rem 0 .5rem; }
.bm-pagination ul { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:.45rem; padding:0; margin:0; list-style:none; }
.bm-pagination li { margin:0; padding:0; }
.bm-pagination .page-numbers { display:flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; padding:.45rem .75rem; border:1px solid var(--bm-line); border-radius:4px; font-size:.9375rem; text-decoration:none; }
.bm-pagination ul.page-numbers { border:0; padding:0; }
.bm-pagination .current { background:var(--bm-ink); color:white; border-color:var(--bm-ink); }
.bm-empty { padding:3rem 1.5rem; background:var(--bm-wash); border:1px solid var(--bm-line); text-align:center; border-radius:6px; }
.bm-how { border-top:1px solid var(--bm-line); border-bottom:1px solid var(--bm-line); padding:3rem 0; }
.bm-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2rem; margin:2rem 0 0; padding:0; list-style:none; }
.bm-step-no { display:block; font:400 2rem/1 var(--secondary-font,Georgia,serif); color:#65796e; margin-bottom:1rem; }
.bm-steps p { color:var(--bm-muted); margin:0; }
.bm-editorial { display:grid; grid-template-columns:minmax(220px,1fr) minmax(0,1.7fr); gap:3rem; padding:3.5rem 0; border-bottom:1px solid var(--bm-line); }
.bm-editorial-copy p { margin:0 0 1.25rem; }
.bm-editorial-copy h3 { margin-top:1.8rem; }
.bm-faq { max-width:900px; margin:0 auto; padding:3.5rem 0; }
.bm-faq details { border-bottom:1px solid var(--bm-line); padding:1rem 0; }
.bm-faq summary { font-size:1.0625rem; font-weight:600; cursor:pointer; line-height:1.6; padding:.35rem 1.5rem .35rem 0; }
.bm-faq details p { color:var(--bm-muted); margin:.75rem 0 .25rem; }
.bm-bottom { display:flex; align-items:center; justify-content:space-between; gap:2rem; flex-wrap:wrap; border-top:3px solid var(--bm-accent); padding:2rem; background:var(--bm-wash); border-radius:6px; margin:0 0 3rem; }
.bm-bottom h2 { font-size:1.6rem; margin-bottom:.7rem; }
.bm-bottom p { margin:0; color:var(--bm-muted); }
.bm-dialog { color:var(--bm-ink); width:min(520px,calc(100% - 2rem)); max-height:calc(100dvh - 2rem); overflow-y:auto; padding:2rem; margin:auto; border:0; border-top:5px solid var(--bm-accent); border-radius:8px; box-shadow:0 18px 80px #0004; background:white; }
.bm-dialog:not([open]) { display:none; }
.bm-dialog::backdrop { background:rgba(17,27,30,.72); }
.bm-dialog-close { position:absolute; top:.4rem; right:.5rem; border:0; padding:.25rem; width:44px; height:44px; background:transparent; color:var(--bm-ink); font:400 2rem/1 sans-serif; cursor:pointer; }
.bm-dialog-close:hover { background:var(--bm-wash); color:var(--bm-ink); }
.bm-dialog h2 { padding-right:2rem; }
.bm-dialog-name { font-weight:600; }
.bm-contact-details { margin:1rem 0; }
.bm-contact-details div { padding:.8rem 0; border-bottom:1px solid var(--bm-line); }
.bm-contact-details dt { font-size:.875rem; font-weight:400; color:var(--bm-muted); }
.bm-contact-details dd { margin:.2rem 0 0; font-size:1.2rem; font-weight:600; overflow-wrap:anywhere; }
.bm-dialog .bm-send { width:100%; margin:.5rem 0 1rem; }
.bm-dialog-links { display:flex; flex-wrap:wrap; gap:.6rem 1.2rem; font-size:.875rem; }
.bm-landing .bm-small { font-size:.875rem; line-height:1.65; }
@media (max-width:1000px) {
    .bm-hero { gap:2rem; grid-template-columns:minmax(0,1.25fr) minmax(250px,1fr); }
    .bm-service-card { padding:1.5rem; }
    .bm-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .bm-editorial { gap:2rem; }
}
@media (max-width:700px) {
    .bm-hero { grid-template-columns:1fr; padding-top:1rem; gap:1.6rem; }
    .bm-hero h1 { max-width:100%; }
    .bm-service-card { padding:1.25rem; }
    .bm-service-mark { display:none; }
    .bm-service-card h2 { font-size:1.35rem; }
    .bm-landing .bm-price { margin:1rem 0; font-size:2rem; }
    .bm-section-heading { align-items:flex-start; }
    .bm-section-heading h2 { font-size:1.6rem; }
    .bm-landing .bm-count { font-size:1.4rem; }
    .bm-count span { max-width:9ch; line-height:1.4; }
    .bm-filters { padding:1rem; }
    .bm-field { flex-basis:100%; }
    .bm-filters .bm-button { width:100%; }
    .bm-steps { grid-template-columns:1fr; gap:1.75rem; }
    .bm-step-no { margin-bottom:.5rem; }
    .bm-editorial { grid-template-columns:1fr; gap:1rem; }
    .bm-bottom { padding:1.5rem; gap:1.25rem; }
}
@media (max-width:500px) {
    .bm-grid { grid-template-columns:1fr; }
    .bm-photo { aspect-ratio:4/3.7; }
    .bm-actions { gap:1rem; }
    .bm-dialog { padding:1.5rem; }
    .bm-hero h1 { font-size:2.35rem; }
}
@media (prefers-reduced-motion:reduce) { .bm-landing .bm-button,.bm-photo img { transition:none; transform:none; } }
