/* Small, practical destinations within the shared Gospel Protocol identity. */
.cp-site .utility-page { color:#f4f2ed;background:#090a0c;--utility-blue:#7ae2ef;--utility-muted:#b3bdc5;--utility-rule:#ffffff24; }
.cp-site .utility-page :is(a,button,input,select):focus-visible { outline:2px solid var(--utility-blue);outline-offset:4px; }
.cp-site .utility-page [hidden] { display:none!important; }
.cp-site .utility-page :is(.cp-kicker,.cp-discovery__kicker,.cp-section-number) { color:var(--utility-blue)!important; }
.cp-site .utility-page .cp-invitation { padding-block:38px; }
.cp-site .utility-page .cp-invitation h2 { font-size:clamp(30px,3.6vw,46px); }
.cp-site .utility-page .cp-invitation p { font-size:15px;line-height:1.6; }
/* Follow and join put the decision before decorative imagery. */
.cp-site .utility-page :is(.cp-follow-layout,.cp-join-layout) { max-width:1160px;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:center;gap:64px;min-height:0;padding:48px var(--cp-gutter) 56px;margin:auto; }
.cp-site .utility-page :is(.cp-follow-content,.cp-join-content) { max-width:none;min-width:0;padding:0;container-type:normal; }
.cp-site .utility-page :is(.cp-follow-portrait,.cp-join-portrait) { width:100%;height:auto;aspect-ratio:4 / 5;min-height:0;max-height:none;border-radius:2px;border:1px solid var(--utility-rule);box-shadow:none; }
.cp-site .utility-page :is(.cp-follow-portrait,.cp-join-portrait) img { height:100%;min-height:0;object-position:50% 42%; }
.cp-site .utility-page .cp-follow-content h1 { font-size:clamp(42px,4.6vw,65px);line-height:1.06;margin-top:18px; }
.cp-site .utility-page .cp-follow-content h1 span { white-space:normal;color:#f4f2ed; }
.cp-site .utility-page .cp-follow-intro { font-size:17px;line-height:1.6;margin:18px 0 0;color:var(--utility-muted); }
.cp-site .utility-page .cp-follow-services { display:grid;gap:10px;margin-top:26px; }
.cp-site .utility-page .cp-follow-services .cp-follow-service { min-height:82px;padding:18px 20px;border:1px solid var(--utility-rule);border-radius:2px;background:#11161b;box-shadow:none; }
.cp-site .utility-page .cp-follow-services .cp-follow-service strong { font-size:26px;line-height:1.1; }
.cp-site .utility-page .cp-follow-services .cp-follow-service small { font-size:12px;line-height:1.5;color:var(--utility-muted); }
.cp-site .utility-page .cp-follow-services .cp-follow-service .cp-arrow { color:var(--utility-blue); }
.cp-site .utility-page .cp-follow-services .cp-follow-service-primary { background:#e72f43;border-color:#ff687955; }
.cp-site .utility-page .cp-follow-services .cp-follow-service-primary :is(strong,small,.cp-arrow) { color:#fff; }
.cp-site .utility-page .cp-follow-services .cp-follow-service:hover { background:#15232b;border-color:#7ae2ef70;transform:none; }
.cp-site .utility-page .cp-follow-services .cp-follow-service-primary:hover { background:#ff3d51;border-color:#ff6879; }
.cp-site .utility-page .cp-follow-email { display:flex;justify-content:space-between;gap:16px;margin-top:18px;padding-block:10px;font-size:13px;color:var(--utility-blue);border-color:#7ae2ef60; }
.cp-site .utility-page .cp-join-content .fan-signup-copy h1 { font-size:clamp(42px,4.7vw,64px);line-height:1.08;margin-top:18px; }
.cp-site .utility-page .cp-join-content .fan-signup-copy h1 em { color:var(--utility-blue); }
.cp-site .utility-page .cp-join-content .fan-signup-copy>p { margin-top:18px;font-size:16px;line-height:1.65; }
.cp-site .utility-page .cp-join-content .fan-signup-form { margin-top:24px; }
.cp-site .utility-page .utility-signup-form fieldset { border:0;padding:0;margin:0;min-width:0; }
.cp-site .utility-page .utility-signup-form fieldset>label:first-child { display:block;margin-bottom:9px;font-size:12px;letter-spacing:.04em; }
.cp-site .utility-page .utility-signup-form .fan-email-row { display:grid;grid-template-columns:minmax(0,1fr);gap:10px; }
.cp-site .utility-page .utility-signup-form input[type=email] { width:100%;min-width:0;min-height:50px;padding:13px 15px;border:1px solid #6b7b86!important;border-radius:2px!important;background:#10151a!important;color:#b3bdc5!important; }
.cp-site .utility-page .utility-signup-form .fan-button:disabled { min-height:47px;border-radius:2px;background:#34383e!important;border-color:#626a74!important;color:#e0e4e7!important;box-shadow:none;opacity:1;font-size:12px; }
.cp-site .utility-page .utility-signup-form .fan-consent { font-size:12px;line-height:1.6;margin-top:14px; }
.cp-site .utility-page .utility-signup-form .fan-consent a { color:var(--utility-blue); }
.cp-site .utility-page .utility-signup-form .fan-platform-choice { margin-top:12px; }
.cp-site .utility-page .utility-signup-form .fan-platform-choice summary { min-height:32px;font-size:12px; }
.cp-site .utility-page .utility-preview-note { margin:15px 0 0;padding:12px 14px;border-left:2px solid var(--utility-blue);background:#111b21;color:#b8c9d3;font-size:12px;line-height:1.6; }
.cp-site .utility-page .utility-email-alternative { display:flex;justify-content:space-between;gap:16px;margin-top:17px;color:var(--utility-blue);font-size:13px;text-decoration:none; }
.cp-site .utility-page .cp-join-note { font-size:12px;line-height:1.65;margin-top:22px;color:var(--utility-muted); }
.cp-site .utility-page .cp-join-portrait p { left:24px;right:24px;bottom:24px;font-size:clamp(28px,3vw,42px);max-width:16ch; }
.cp-site .utility-page .cp-join-footer { padding-block:20px; }
/* The city directory becomes a small browseable set instead of a 30-row scroll. */
.cp-site .utility-page .cp-city__hero { min-height:0;padding-block:38px 30px; }
.cp-site .utility-page .cp-city__hero h1 { font-size:clamp(42px,4.5vw,68px);line-height:1.08;max-width:22ch;margin-block:20px; }
.cp-site .utility-page .cp-city__hero h1 em { color:var(--utility-blue);font-style:normal; }
.cp-site .utility-page .cp-city__lede { max-width:62ch;font-size:17px;line-height:1.7;margin-top:18px; }
.cp-site .utility-page .cp-city__country-jump { display:flex;flex-wrap:wrap;gap:8px;margin-top:24px; }
.cp-site .utility-page .cp-city__country-jump a { padding:9px 12px;min-height:38px;display:inline-flex;align-items:center;border:1px solid var(--utility-rule);border-radius:2px;color:#b3c6ce;font-size:11px;text-decoration:none; }
.cp-site .utility-page .cp-city__country-jump a:hover,
.cp-site .utility-page .cp-city__country-jump a[aria-current=true] { color:var(--utility-blue);border-color:#7ae2ef88;background:#122830; }
.cp-site .utility-page .cp-city__directory { display:block;padding-block:24px 48px;background:#090a0c;scroll-margin-top:22px; }
.cp-site .utility-page .utility-city-tools { border-top:1px solid var(--utility-rule);padding-top:22px;margin-bottom:26px; }
.cp-site .utility-page .utility-city-fields { display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr) auto;gap:16px;align-items:end; }
.cp-site .utility-page .utility-city-fields label { display:grid;gap:9px;color:var(--utility-blue);font-size:11px;line-height:1.4;letter-spacing:.02em; }
.cp-site .utility-page .utility-city-fields :is(input,select) { width:100%;min-width:0;height:48px;padding:12px 14px;border:1px solid #61717c!important;border-radius:2px!important;background:#10151a!important;color:#f4f2ed!important;font-size:15px; }
.cp-site .utility-page .utility-city-fields button,
.cp-site .utility-page .utility-city-pagination button,
.cp-site .utility-page .utility-city-empty button { min-height:46px;padding:11px 16px;background:#121a20;border:1px solid #ffffff35;border-radius:2px;color:#f4f2ed;font-size:12px;cursor:pointer; }
.cp-site .utility-page :is(.utility-city-fields,.utility-city-pagination,.utility-city-empty) button:hover:not(:disabled) { background:#172d36;border-color:#7ae2ef70; }
.cp-site .utility-page .utility-city-status { margin:15px 0 0;color:var(--utility-muted);font-size:12px; }
.cp-site .utility-page .cp-city__directory>section { margin-top:24px; }
.cp-site .utility-page .cp-city__directory h2 { padding-bottom:12px;margin-bottom:16px;font-size:26px;line-height:1.2;color:#f4f2ed;border-bottom:1px solid var(--utility-rule); }
.cp-site .utility-page .cp-city__list { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px; }
.cp-site .utility-page .cp-city__list li { border:0;min-width:0; }
.cp-site .utility-page .cp-city__list a { height:100%;min-height:120px;padding:19px 17px;align-items:start;background:#11161b;border:1px solid var(--utility-rule);border-radius:2px;gap:12px; }
.cp-site .utility-page .cp-city__list strong { font-family:var(--cp-display);font-size:25px;font-weight:400;line-height:1.15;letter-spacing:0; }
.cp-site .utility-page .cp-city__list small { margin-top:10px;font-size:11px;line-height:1.6;color:var(--utility-muted); }
.cp-site .utility-page .cp-city__list a>span:last-child { color:var(--utility-blue); }
.cp-site .utility-page .cp-city__list a:hover { border-color:#7ae2ef88;background:#14232a; }
.cp-site .utility-page .cp-city__list a:hover strong { color:var(--utility-blue); }
.cp-site .utility-page .utility-city-pagination { display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:26px;padding-top:22px;border-top:1px solid var(--utility-rule); }
.cp-site .utility-page .utility-city-pagination span { color:var(--utility-muted);font-size:12px; }
.cp-site .utility-page .utility-city-pagination button:disabled { cursor:default;opacity:.35; }
.cp-site .utility-page .utility-city-empty { padding:32px 0;color:var(--utility-muted);font-size:16px; }
/* Artist information keeps verified identity and immediate onward actions together. */
.cp-site .utility-page .cp-data-hero { display:grid;min-height:0;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:56px;padding-block:42px;align-items:center; }
.cp-site .utility-page .cp-data-hero-copy h1 { max-width:none;font-size:clamp(42px,4.5vw,66px);line-height:1.08; }
.cp-site .utility-page .cp-data-hero-copy h1 em { color:var(--utility-blue);font-style:normal; }
.cp-site .utility-page .cp-data-hero-copy>p:last-of-type { max-width:53ch;font-size:16px;line-height:1.7; }
.cp-site .utility-page .cp-data-facts { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px;margin:0;padding:0;border-top:1px solid var(--utility-rule); }
.cp-site .utility-page .cp-data-facts>div { padding:20px 0;border-bottom:1px solid var(--utility-rule);min-width:0; }
.cp-site .utility-page .cp-data-facts dt { color:var(--utility-blue);font-size:10px;letter-spacing:.08em; }
.cp-site .utility-page .cp-data-facts dd { margin-top:10px;font-size:15px;line-height:1.6; }
.cp-site .utility-page .cp-data-listen.utility-data-actions { display:block;padding:0;margin:25px 0 0;border:0;background:transparent; }
.cp-site .utility-page .utility-data-actions>div:first-child { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }
.cp-site .utility-page .utility-data-actions>div:last-child { display:flex;flex-wrap:wrap;gap:12px;border:0; }
.cp-site .utility-page .utility-data-actions>div:last-child a { display:inline-flex;align-items:center;min-height:46px;padding:13px 17px;border:1px solid #7ae2ef60;border-radius:2px;color:var(--utility-blue);font:600 12px/1.45 var(--cp-body);letter-spacing:0;text-transform:none;text-decoration:none; }
.cp-site .utility-page .utility-data-actions>div:last-child .utility-primary-action { background:#e72f43;border-color:#ff687955;color:#fff; }
.cp-site .utility-page .utility-data-actions>div:last-child a:hover { background:#162a33; }
.cp-site .utility-page .utility-data-actions>div:last-child .utility-primary-action:hover { background:#ff3d51; }
@media (max-width:850px) {
 .cp-site .utility-page :is(.cp-follow-layout,.cp-join-layout) { gap:30px;grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr); }
 .cp-site .utility-page :is(.cp-follow-portrait,.cp-join-portrait) { aspect-ratio:3/5; }
 .cp-site .utility-page .cp-join-portrait p { font-size:27px;left:18px;right:18px;bottom:20px; }
 .cp-site .utility-page .cp-city__list { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .cp-site .utility-page .cp-data-hero { display:grid;min-height:0;grid-template-columns:1fr;gap:32px; }
}
@media (max-width:600px) {
 .cp-site .utility-page :is(.cp-follow-layout,.cp-join-layout) { display:flex;flex-direction:column;gap:30px;padding:30px 22px 40px; }
 .cp-site .utility-page :is(.cp-follow-content,.cp-join-content) { width:100%; }
 .cp-site .utility-page :is(.cp-follow-portrait,.cp-join-portrait) { width:100%;height:230px;aspect-ratio:auto; }
 .cp-site .utility-page :is(.cp-follow-portrait,.cp-join-portrait) img { object-position:50% 32%; }
 .cp-site .utility-page .cp-follow-content h1 { font-size:42px; }
 .cp-site .utility-page .cp-join-content .fan-signup-copy h1 { font-size:44px; }
 .cp-site .utility-page .cp-follow-services .cp-follow-service { padding:16px 18px;min-height:80px; }
 .cp-site .utility-page .cp-follow-services .cp-follow-service strong { font-size:25px; }
 .cp-site .utility-page .cp-city__hero { padding:30px 22px 24px; }
 .cp-site .utility-page .cp-city__hero h1 { font-size:39px; }
 .cp-site .utility-page .cp-city__lede { font-size:16px; }
 .cp-site .utility-page .cp-city__country-jump { gap:7px; }
 .cp-site .utility-page .cp-city__country-jump a { padding:8px 10px;font-size:10px; }
 .cp-site .utility-page .cp-city__directory { padding:20px 22px 36px; }
 .cp-site .utility-page .utility-city-fields { grid-template-columns:minmax(0,1fr) auto;gap:14px 10px; }
 .cp-site .utility-page .utility-city-fields>label:first-child { grid-column:1/-1; }
 .cp-site .utility-page .cp-city__list { grid-template-columns:1fr;gap:10px; }
 .cp-site .utility-page .cp-city__list a { min-height:96px;padding:17px 18px; }
 .cp-site .utility-page .utility-city-pagination { gap:8px; }
 .cp-site .utility-page .utility-city-pagination button { padding:10px 12px;font-size:11px; }
 .cp-site .utility-page .utility-city-pagination span { font-size:10px; }
 .cp-site .utility-page .cp-data-hero { padding:30px 22px 38px; }
 .cp-site .utility-page .cp-data-hero-copy h1 { max-width:none;font-size:41px; }
 .cp-site .utility-page .cp-data-facts { gap:0 16px; }
}

/* Practical pages use the same reading and action scale as the artist pages. */
body .cp-site .utility-page :is(.cp-follow-layout,.cp-join-layout){max-width:1160px;padding-block:40px 48px;}
body .cp-site .utility-page :is(.cp-follow-content,.cp-join-content){width:100%;max-width:65ch;margin-inline:auto;}
body .cp-site .utility-page :is(.cp-follow-intro,.cp-join-note,.fan-signup-copy>p,.fan-success p,.fan-follow p,.fan-loading,.fan-form-message,.utility-email-alternative,.cp-data-hero-copy>p:last-of-type){font-size:16px;line-height:1.75;}
body .cp-site .utility-page .cp-follow-intro{margin:0 0 24px;}
body .cp-site .utility-page .cp-follow-services{gap:14px;}
body .cp-site .utility-page .cp-follow-services .cp-follow-service{min-height:96px;padding:22px 24px;}
body .cp-site .utility-page .cp-follow-services .cp-follow-service strong{font-size:clamp(25px,2.8vw,32px);line-height:1.15;}
body .cp-site .utility-page .cp-follow-services .cp-follow-service small{font-size:16px;line-height:1.6;margin-top:8px;}
body .cp-site .utility-page .cp-follow-email{font-size:16px;line-height:1.65;min-height:44px;align-items:center;margin-top:20px;}
body .cp-site .utility-page .cp-join-content .fan-signup{max-width:none;padding:0;}
body .cp-site .utility-page .cp-join-content .fan-signup-form{margin-top:20px;}
body .cp-site .utility-page .cp-join-content .fan-email-row{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;}
body .cp-site .utility-page .cp-join-content :is(input[type=email],select){font-size:16px;min-height:52px;}
body .cp-site .utility-page .cp-join-content .fan-button{min-height:48px;font-size:15px;line-height:1.5;padding:12px 20px;}
body .cp-site .utility-page .cp-join-content :is(.fan-signup-form label,.fan-consent,.fan-platform-choice summary){font-size:14px;line-height:1.65;}
body .cp-site .utility-page .cp-join-content .fan-consent{font-size:16px;}
body .cp-site .utility-page .cp-join-content .fan-platform-choice summary{min-height:44px;}
body .cp-site .utility-page :is(.cp-kicker,.cp-discovery__kicker,.cp-section-number,.cp-data-facts dt,.utility-city-fields label,.utility-city-status,.utility-city-pagination span){font-size:12px;line-height:1.6;}
body .cp-site .utility-page .cp-data-facts dd{font-size:16px;line-height:1.65;}
body .cp-site .utility-page .cp-city__list small{font-size:12px;line-height:1.65;}
body .cp-site .utility-page :is(.cp-city__country-jump a,.utility-city-fields button,.utility-city-pagination button,.utility-city-empty button,.utility-data-actions>div:last-child a){min-height:44px;font-size:14px;line-height:1.5;}
body .cp-site .utility-page .cp-city__directory h2{font-size:clamp(28px,3vw,40px);line-height:1.16;}
@media(max-width:600px){
 body .cp-site .utility-page :is(.cp-follow-layout,.cp-join-layout){padding-block:32px 40px;}
 body .cp-site .utility-page .cp-follow-services .cp-follow-service{padding:20px;}
 body .cp-site .utility-page .utility-city-pagination{flex-wrap:wrap;gap:12px;}
}
