/* Shared editorial details; the approved glass controls and package scopes stay intact. */
.editorial-lead { display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:48px;align-items:center;margin-bottom:42px; }
.editorial-lead :is(.agent-page-intro,.catalog-intro) { max-width:none;margin:0;text-align:left;min-width:0; }
.policy .editorial-lead h1 { font-size:clamp(38px,4.3vw,58px);line-height:1.06;margin:16px 0 22px;text-wrap:balance; }
.editorial-lead .agent-page-intro>p:not(.eyebrow),.editorial-lead .catalog-intro>p:not(.eyebrow) { max-width:62ch;margin-inline:0;font-size:16px;color:#b9b9b9;line-height:1.8; }
.editorial-lead .agent-page-intro .agent-preview-note { font-size:13px;line-height:1.7;margin-top:18px;color:#b7b7b7; }
.editorial-lead .service-page-actions { justify-content:flex-start; }
.editorial-art { aspect-ratio:4/3;width:100%; }
.editorial-art .campaign-signature { bottom:22px;width:32px;height:32px; }
.editorial-collage { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;height:250px; }
.editorial-collage .campaign-photo { height:100%;min-width:0; }
.editorial-collage .campaign-photo::after { inset:7px; }
.catalog-lead { margin-bottom:28px; }
.tier-table thead .tier-art { display:block;height:72px;max-width:200px;margin:0 auto 18px;overflow:hidden;border:1px solid #ffffff69;border-radius:2px; }
.tier-art img { display:block;width:100%;height:100%;object-fit:cover; }
.policy .service-card h2 { font-size:29px;letter-spacing:-.045em;line-height:1.14;margin:20px 0 16px; }
.policy .service-card .service-meta { border-bottom:1px solid #d3d3d3;padding-bottom:14px; }
.policy .service-card.selected .service-meta { border-color:#ababab; }
.service-detail-grid>section,.workflow-example,.package-scope,.service-card { overflow-wrap:break-word; }
.policy .policy-nav a { text-underline-offset:4px; }
.policy .policy-nav a:hover { text-decoration:underline; }
.inquiry-fallback { max-width:65ch;margin:24px auto 0;text-align:center;font-size:13px;color:#b9b9b9; }
.inquiry-fallback a { text-decoration:underline;text-underline-offset:4px; }
.inquiry-fallback a>span[aria-hidden] { margin-left:6px; }
.inquiry-embedded .inquiry-fallback { color:#454f5c; }
body :is(.button,.outline):active,.all-pages-menu>summary:active,.filters button:active { transform:translateY(1px); }
/* A consistent footer provides a contact route and coverage on every page. */
footer.wrap.studio-footer { display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:24px 48px;padding-block:34px 22px; }
.studio-footer .footer-identity { display:block; }
.studio-footer .footer-identity .brand { font-size:28px;min-height:36px;width:max-content; }
.studio-footer .footer-identity p { max-width:44ch;font-size:13px;line-height:1.7;margin-top:10px; }
.studio-footer .footer-identity .footer-area { font-size:12px;color:#505050;margin-top:6px; }
.studio-footer .footer-explore { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px; }
.studio-footer a { margin:0; }
.studio-footer .footer-explore a { font-size:13px;gap:10px; }
.studio-footer .footer-base { grid-column:1/-1;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:12px 32px;padding-top:14px;border-top:1px solid #cfcfcf; }
.studio-footer .footer-base>span { font-size:11px;color:#555; }
.studio-footer .footer-base nav { display:flex;flex-wrap:wrap;gap:0 24px; }
.studio-footer .footer-base a { font-size:12px; }
@media(max-width:1000px) { .editorial-lead { gap:28px; }.editorial-art { aspect-ratio:4/5; }.editorial-collage { height:240px; } }
@media(max-width:750px) {
 .editorial-lead { grid-template-columns:1fr;gap:24px;margin-bottom:30px; }
 .editorial-lead :is(.agent-page-intro,.catalog-intro) { text-align:center; }
 .editorial-lead .agent-page-intro>p:not(.eyebrow),.editorial-lead .catalog-intro>p:not(.eyebrow) { margin-inline:auto; }
 .editorial-lead .service-page-actions { justify-content:center; }
 .editorial-art { aspect-ratio:3/2;max-width:600px;margin-inline:auto; }
 .editorial-collage { height:150px; }
 footer.wrap.studio-footer { grid-template-columns:1fr;gap:22px; }
 .studio-footer .footer-explore { grid-template-columns:repeat(2,minmax(0,1fr));max-width:360px; }
 .studio-footer .footer-base { align-items:flex-start;flex-direction:column;gap:8px;padding-top:16px; }
 .studio-footer .footer-base nav { gap:0 18px; }
}
@media(max-width:650px) { .policy .editorial-lead h1 { font-size:clamp(35px,9vw,50px); }.tier-table thead .tier-art { height:65px;max-width:150px;margin-bottom:12px; }.policy .service-card h2 { font-size:28px; } }
/* Preserve both main actions at the 320px reflow width. */
@media(max-width:360px) {
 .site-header { padding-inline:10px;gap:4px; }
 .site-header .brand { font-size:19px;gap:5px; }
 .site-header .brand img { width:23px;height:23px; }
 .site-header .brand>span { margin-left:-5px; }
 .site-header>.button { padding:11px 10px;font-size:11px;gap:8px; }
 .site-header>.button span { font-size:17px; }
 .all-pages-menu>summary { padding:10px 9px;font-size:11px;gap:5px; }
 .all-pages-menu>nav { right:0;max-width:calc(100vw - 36px); }
 .editorial-collage { height:130px;gap:6px; }
}
@media(prefers-reduced-motion:reduce) { body :is(.button,.outline):active,.all-pages-menu>summary:active,.filters button:active { transform:none; } }
@media(forced-colors:active) { .campaign-photo::after { border-color:CanvasText; }.campaign-signature { display:none; }.tier-table thead .tier-art { border-color:CanvasText; } }
