.block__service { padding-top:var(--page-top-space, 10px); padding-bottom:64px; color:#334155; min-height:60vh; }
.block__service h1 { font-size:clamp(22px, calc(3vw - 2px), 32px); line-height:1.25; color:#243551; margin:0; }
.block__service .b_publications--breadcrumbs { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin:0 0 26px; }
.block__service h2 { color:#243551; font-size:21px; margin:24px 0 14px; }
.block__service p { line-height:1.75; }
.b_service--intro { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; margin-bottom:26px; }
.b_service--intro p { margin:0; color:#64748b; }
.b_service--grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.b_service--card { display:flex; flex-direction:column; padding:26px; border:1px solid var(--line,#e2e8f0); border-radius:14px; background:#fff; }
.b_service--card h2 { margin:18px 0 8px; }
.b_service--card > p { flex:1; margin:0 0 24px; color:#64748b; }
.b_service--card .form-actions { justify-content:flex-start; margin-top:0; gap:12px; }
.b_service--card .form-actions .text-button { display:inline-flex; align-items:center; min-height:44px; }
.b_service--icon { display:grid; place-items:center; width:48px; height:48px; color:#2563eb; background:#eef4ff; border-radius:12px; font-size:22px; }
.b_service--terms { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px; margin-bottom:20px; font-size:14px; }
.b_service--terms strong { color:#243551; font-size:19px; }
.b_service--terms span, .b_service--hint { color:#64748b; font-size:13px; }
.b_service--layout { display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:36px; align-items:start; }
.b_service--layout > article { min-width:0; }
.b_service--cover { width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; border:1px solid var(--line,#e2e8f0); border-radius:14px; }
.b_service--tagline { margin-top:26px; }
.b_service--deliverables { padding-left:22px; line-height:2; }
.b_service--summary { position:sticky; top:105px; padding:26px; background:#f6f8fc; border:1px solid #e2e8f0; border-radius:14px; }
.b_service--summary .button { width:100%; margin-bottom:16px; }
.b_service--summary .text-button { font-size:13px; }
.b_service--price { display:block; font-size:27px; color:#243551; }
.b_service--meta { display:flex; flex-wrap:wrap; gap:20px; margin:30px 0; color:#64748b; font-size:12px; }
.b_service--feedback { border-top:1px solid #e2e8f0; }
.b_service--feedback .comment > strong { font-size:14px; color:#334155; }
.b_service--feedback .comment > p { font-size:14px; color:#475569; line-height:1.75; }
.b_service--feedback .comment > .text-button { display:inline-flex; align-items:center; min-height:44px; }
.b_service--form { display:grid; gap:16px; }
.b_service--identity { display:grid; gap:16px; min-width:0; margin:0; padding:16px; border:1px solid #e2e8f0; border-radius:10px; background:#f8fafc; }
.b_service--identity legend { padding:0 6px; font-size:14px; font-weight:600; color:#334155; }
.b_service--form .form-field { display:grid; gap:7px; margin:0; font-size:14px; }
.b_service--form .input, .b_service--form .textarea { width:100%; min-width:0; }
.b_service--form .button { justify-self:start; }
.b_service--form h3 { margin:12px 0 0; color:#243551; }
.b_service--form p { margin:0; }
.b_service--consent { display:flex; align-items:flex-start; gap:9px; font-size:12px; line-height:1.7; color:#64748b; }
.b_service--consent input { flex-shrink:0; margin-top:5px; accent-color:#2563eb; }
.b_service--consent a { text-decoration:underline; }
.b_service--message { color:#236247; min-height:1.6em; font-size:14px; }
.b_service--rating { display:flex; align-items:center; flex-wrap:wrap; gap:14px; padding:12px 0; }
.b_service--rating strong { font-size:22px; color:#243551; }
.b_service--vote { display:flex; align-items:center; flex-wrap:wrap; gap:4px 12px; width:100%; }
.b_service--vote > span { font-size:14px; color:#475569; }
.b_service--stars { display:flex; }
.b_service--rating .icon-button { color:#d99a28; width:44px; height:44px; }
.dialog-panel:has(.b_service--success) { max-width:480px; }
.b_service--success { display:grid; justify-items:center; gap:16px; text-align:center; padding:20px 12px; }
.b_service--success > i { color:#16926e; font-size:44px; }
.b_service--success > h3 { display:block; margin:0; text-align:center; }
.b_service--success .button { justify-self:center; margin-top:4px; }
.footer .footer-links .nav-link { max-width:100%; white-space:normal; overflow-wrap:anywhere; text-align:left; }
@media (max-width:1100px) { .b_service--grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .b_service--layout { grid-template-columns:minmax(0,1fr) 280px; gap:24px; } }
@media (max-width:700px) { .b_service--grid, .b_service--layout { grid-template-columns:minmax(0,1fr); } .b_service--summary { position:static; grid-row:1; } .b_service--card { padding:22px; } .block__service { padding-bottom:40px; } }

.block__portfolio .project-cover { height:auto; aspect-ratio:16 / 9; }
.block__portfolio .project-cover > img { position:absolute; inset:0; }
.block__portfolio .b_preview--details { display:inline-flex; align-items:center; gap:5px; min-height:44px; }

.block__account { max-width:640px; margin:45px auto 60px; padding:36px; border:1px solid #e2e8f0; border-radius:16px; background:#fff; }
.block__account h2 { margin-top:20px; }
.block__account strong, .b_account--email { overflow-wrap:anywhere; }
.b_account--icon { display:grid; place-items:center; width:64px; height:64px; border-radius:18px; background:#eef4ff; color:#2563eb; font-size:28px; }
.b_account--muted { color:#64748b; font-size:14px; }
.b_account--form { display:grid; gap:22px; margin-top:26px; }
.b_account--form fieldset { display:grid; grid-template-columns:1fr 1fr; gap:12px; border:0; padding:0; margin:0; }
.b_account--form legend { padding:0 0 12px; font-weight:600; color:#243551; }
.b_account--topic { display:flex; align-items:center; gap:12px; padding:14px; border:1px solid #e2e8f0; border-radius:9px; cursor:pointer; }
.b_account--topic:has(:checked) { background:#f2f6ff; border-color:#abc5fb; }
.b_account--topic input { width:17px; height:17px; accent-color:#2563eb; }
.b_account--form .b_account--topic-hint { grid-column:1 / -1; margin:0; color:#64748b; font-size:14px; }
.b_account--form .b_account--result { margin:0; font-size:14px; color:#475569; }
.b_account--result:empty { display:none; }
.b_account--form .b_account--result[data-state='error'] { color:#b42318; }
.b_account--form .b_account--result[data-state='success'] { color:#236247; }
.b_account--form .form-actions { justify-content:flex-start; margin-top:0; }
.b_account--form .form-actions .text-button { display:inline-flex; align-items:center; min-height:44px; }
.b_account--confirm-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px 16px; }
.b_account--confirm-actions .button { min-height:44px; }
.b_account--confirm-actions .text-button { display:inline-flex; align-items:center; min-height:44px; }
[data-page='confirm'] .b_account--result { color:#b42318; font-size:14px; }
[data-page='unsubscribe'] .b_account--result { color:#b42318; font-size:14px; }
[data-page='unsubscribe'] .form-actions { justify-content:flex-start; }
[data-page='unsubscribe'] .button, [data-page='unsubscribe'] .text-button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; }
@media (max-width:375px) { [data-page='unsubscribe'] .form-actions { flex-direction:column; align-items:stretch; } }
@media (max-width:700px) { .block__account { margin:22px auto; padding:24px; } }
@media (max-width:375px) { .b_account--form fieldset { grid-template-columns:1fr; } .b_account--form .form-actions { flex-direction:column; align-items:stretch; } .b_account--form .form-actions .text-button { justify-content:center; } }

.block__status { max-width:720px; text-align:center; margin:50px auto 70px; }
.b_status--number { font-size:clamp(96px,20vw,170px); font-weight:800; line-height:1; letter-spacing:-.07em; color:#dfe8f8; }
.block__status h1 { margin-top:24px; text-align:center; }
.block__status p { color:#64748b; margin:18px auto 28px; max-width:440px; }
.b_status--search { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:10px; max-width:480px; margin:0 auto 24px; }
.b_status--search label { grid-column:1 / -1; text-align:left; font-size:14px; color:#475569; }
.b_status--search .input { min-width:0; flex:1; }
.block__status .form-actions { justify-content:center; }
.block__status .form-actions a { display:inline-flex; align-items:center; min-height:44px; }
@media (max-width:375px) { .b_status--search { grid-template-columns:minmax(0,1fr); } }

.block__management { margin-top:22px; }
.b_management--tabs { display:flex; flex-wrap:wrap; gap:6px; padding-bottom:18px; border-bottom:1px solid #e2e8f0; }
.b_management--tabs a { padding:12px 18px; border-radius:9px; font-size:14px; color:#53647c; }
.b_management--tabs [aria-current] { background:#eef4ff; color:#2563eb; font-weight:600; }
.b_management--toolbar { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; margin:24px 0 12px; }
.b_management--search { flex:1; max-width:480px; min-width:180px; }
.b_management--search .input { width:100%; }
.b_management--filter { display:flex; align-items:center; gap:10px; font-size:13px; }
.b_management--filter select { min-width:160px; }
.b_management--count { font-size:12px; color:#64748b; }
.b_management--layout { display:grid; grid-template-columns:minmax(250px,.8fr) minmax(0,1.2fr); gap:24px; align-items:start; }
.b_management--list { display:grid; gap:10px; }
.b_management--record { display:grid; gap:12px; width:100%; text-align:left; padding:20px; background:#fff; border:1px solid #e2e8f0; border-radius:12px; color:#64748b; cursor:pointer; font-size:13px; line-height:1.6; overflow-wrap:anywhere; }
.b_management--record.__selected { border-color:#8fb1f2; background:#f4f7fe; }
.b_management--record-head { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; color:#243551; }
.b_management--record small { font-size:11px; }
.b_management--badge { border-radius:5px; padding:3px 8px; background:#e9eef7; color:#53647c; font-size:11px; }
.b_management--detail { padding:28px; border:1px solid #e2e8f0; border-radius:14px; background:#fff; min-height:300px; overflow-wrap:anywhere; }
.b_management--detail h2 { margin:10px 0; }
.b_management--detail h3 { font-size:16px; margin:24px 0 12px; color:#243551; }
.b_management--eyebrow { font-size:12px; color:#64748b; }
.b_management--contact { color:#2563eb; }
.b_management--text { white-space:pre-wrap; }
.b_management--facts { display:grid; gap:10px; border-top:1px solid #e2e8f0; border-bottom:1px solid #e2e8f0; padding:20px 0; margin:24px 0; font-size:14px; }
.b_management--facts div { display:flex; flex-wrap:wrap; gap:10px; justify-content:space-between; }
.b_management--facts dt { color:#64748b; }
.b_management--facts dd { margin:0; font-weight:600; color:#243551; }
.b_management--detail .form-field { display:grid; gap:8px; font-size:13px; }
.b_management--events { display:grid; gap:12px; }
.b_management--events a { display:grid; gap:6px; padding:16px; border-radius:8px; background:#f6f8fc; }
.b_management--events span { color:#64748b; font-size:12px; }
.b_management--event-picker { border:0; padding:0; margin:0; display:grid; gap:14px; }
.b_management--event-picker legend { margin-bottom:14px; font-weight:600; }
.b_management--event-picker label { display:flex; align-items:center; gap:10px; min-height:44px; padding:8px 10px; border:1px solid #e2e8f0; border-radius:8px; font-size:14px; cursor:pointer; }
.b_management--event-picker label:has(:checked) { background:#f2f6ff; border-color:#abc5fb; }
.b_management--event-picker input { flex-shrink:0; width:16px; height:16px; margin:0; accent-color:#2563eb; }
.b_management--event-picker .b_management--hint { margin:0; font-size:13px; color:#64748b; }
.b_management--empty { color:#64748b; }
.b_management--back { display:none; }
.b_management--search-label { display:block; margin-bottom:8px; font-size:13px; color:#53647c; }
.b_management--toolbar { align-items:flex-end; }
.b_management--layout:has(.b_management--detail[hidden]) { grid-template-columns:minmax(0,1fr); }
[data-page='requests'] .b_management--hint { font-size:13px; color:#64748b; margin:8px 0 0; }
[data-page='requests'] .b_management--result { font-size:14px; color:#236247; margin:12px 0 0; }
[data-page='requests'] .b_management--result:empty { display:none; }
[data-page='requests'] .b_management--result[data-state='error'] { color:#b42318; }
[data-page='requests'] .b_management--contact { color:#334155; }
[data-page='members'] .b_management--detail { scroll-margin-top:100px; }
[data-page='members'] #member-edit, [data-page='members'] #member-add { display:inline-flex; align-items:center; min-height:44px; }
[data-page='moderation'] .form-actions { justify-content:flex-start; flex-wrap:wrap; }
[data-page='moderation'] .form-actions > *, [data-page='moderation'] .b_management--detail > a { display:inline-flex; align-items:center; min-height:44px; }
.b_management--reply-context { margin:0; padding:14px; border-left:3px solid #abc5fb; background:#f4f7fe; max-height:150px; overflow:auto; overflow-wrap:anywhere; }
.b_management--reply-context p { margin:8px 0 0; white-space:pre-wrap; font-size:14px; }
@media (max-width:375px) { [data-page='moderation'] .form-actions { flex-direction:column; align-items:stretch; } [data-page='moderation'] .form-actions > * { justify-content:center; } }
@media (max-width:700px) { .b_management--back { display:flex; align-items:center; min-height:44px; margin-bottom:12px; } }
@media (max-width:700px) { .b_management--layout { grid-template-columns:minmax(0,1fr); } .b_management--detail { padding:22px; } .b_management--tabs a { padding:12px; } }
