.pill{min-height:48px;cursor:pointer;text-decoration:none;font-weight:500;transition:background-color .2s,color .2s}.pill:hover{text-decoration:none}.pill:disabled{cursor:wait;opacity:.65}.text-link{min-height:44px;display:inline-flex;align-items:center}.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.brief-builder .form-consent{display:flex;align-items:flex-start;gap:12px;line-height:1.5}.brief-builder .form-consent input{width:20px;min-height:20px;flex:none;margin-top:4px}.brief-builder input:focus-visible,.brief-builder textarea:focus-visible,.brief-builder select:focus-visible{outline:3px solid #c82032;outline-offset:3px}
#brief-status[data-state='success']{padding:20px 24px;background:#f5efce;color:#c82032;border-left:4px solid #c82032;line-height:1.6;font-size:16px}#brief-status[data-state='error']{padding:16px;border-left:4px solid #f5efce}#brief-status:focus-visible{outline:2px solid #c82032;outline-offset:4px}

/* Stable line icons and touch controls across mobile browsers. */
button{-webkit-appearance:none;appearance:none;-webkit-text-fill-color:currentColor}
.icon-arrow{display:inline-block;width:1em;height:1em;flex:none;vertical-align:-.12em;pointer-events:none}
.pill{max-width:100%;white-space:normal;line-height:1.4;text-align:center;gap:16px}
.pill>span,.pill>.icon-arrow{flex-shrink:0}
.hero-controls button,.gallery-controls button,.mega-toggle{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:0;min-width:44px;min-height:44px}
.hero-controls .icon-arrow{width:22px;height:22px}
.filters button{min-width:44px;flex-shrink:0}
footer>div{flex-wrap:wrap;align-items:center;min-width:0}
footer>div a,footer>div button{flex-shrink:0;white-space:nowrap;font-size:13px;line-height:1.4}
footer>div button{display:inline-flex;align-items:center;justify-content:center}
@media(max-width:1000px){footer{flex-wrap:wrap}footer>div{flex-basis:100%;gap:12px 20px}}
@media(max-width:600px){.contact-options{flex-direction:column;align-items:stretch}.contact-options>.pill,.brief-builder form>.pill{width:100%;justify-content:center}.pill{padding:13px 18px;gap:12px}.filters{gap:8px}.consent-actions{flex-direction:column}.consent-actions button{flex:auto;width:100%;white-space:normal;line-height:1.4}.lightbox-top{gap:12px}.lightbox-close{flex-shrink:0}.lightbox h2{line-height:1.4}footer>div{gap:10px 18px}}
/* 6B action system: solid, softly rounded and deliberately sized. */
:root{--brand-red:#c82032;--brand-red-hover:#ad1b2b;--button-radius:6px}
.pill{background:var(--brand-red);color:#fff;border:1px solid var(--brand-red);border-radius:var(--button-radius);padding:14px 24px;min-height:50px;font-size:15px;font-weight:600;line-height:1.4;gap:14px;box-shadow:0 3px 8px #00000012;transition:background-color .2s,color .2s,box-shadow .2s,transform .2s}
.pill:hover{background:var(--brand-red-hover);color:#fff;box-shadow:0 5px 14px #00000020;transform:translateY(-1px)}
.pill:active{transform:none;box-shadow:none}.pill:disabled{transform:none;box-shadow:none}
.pill.secondary{background:transparent;border-color:var(--cream);color:var(--cream);box-shadow:none}.pill.secondary:hover{background:var(--cream);color:var(--brand-red)}
.services-page .pill,.home-page .hero-work-link{background:#fff;color:var(--brand-red);border:1px solid #fff;box-shadow:0 3px 8px #00000012}
.home-page .hero-work-link{display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:14px 24px;min-height:50px;border-radius:var(--button-radius);font-size:15px;font-weight:600;line-height:1.4;text-decoration:none;align-self:flex-start}
.services-page .pill:hover,.home-page .hero-work-link:hover{background:var(--cream);color:var(--brand-red-hover);border-color:var(--cream)}
.home-page .hero,.home-page .hero-image{background:var(--brand-red)}.home-page .hero-image::after{background:none}
.consent-actions button{background:var(--brand-red);color:#fff;border-radius:var(--button-radius);font-weight:600;min-height:48px}.consent-actions button:hover{background:var(--brand-red-hover)}
.menu:not([hidden]),.motion-toggle{border-radius:var(--button-radius)}
@media(max-width:600px){.pill,.home-page .hero-work-link{padding:14px 20px;min-height:50px;font-size:15px}}
@media(prefers-reduced-motion:reduce){.pill,.home-page .hero-work-link{transition:none;transform:none}}
/* Two-colour action buttons: invert on brand-red surfaces. */
:root{--button-primary:#c82032;--button-hover:#ffffff}
.pill,.home-page .hero-work-link{--action-fill:var(--button-primary);--action-text:var(--button-hover);--action-hover-fill:var(--button-hover);--action-hover-text:var(--button-primary);display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:14px 24px;border-radius:6px;font-size:15px;font-weight:600;line-height:1.4;gap:14px;background:var(--action-fill);color:var(--action-text);border:1px solid var(--action-fill);box-shadow:0 3px 8px #00000012;transform:none;transition:background-color .2s,color .2s,border-color .2s}
.pill:hover,.home-page .hero-work-link:hover{background:var(--action-hover-fill);color:var(--action-hover-text);border-color:var(--action-hover-fill);transform:none;box-shadow:0 3px 8px #00000012}
.home-page .hero-work-link,.services-page .pill,[data-button-surface='red'] .pill{--action-fill:var(--button-hover);--action-text:var(--button-primary);--action-hover-fill:var(--button-primary);--action-hover-text:var(--button-hover);border-color:var(--button-hover)}
.home-page .hero-work-link:hover,.services-page .pill:hover,[data-button-surface='red'] .pill:hover{border-color:var(--button-hover)}
.pill.secondary{background:var(--action-fill);color:var(--action-text);border-color:var(--action-fill)}.pill.secondary:hover{background:var(--action-hover-fill);color:var(--action-hover-text);border-color:var(--action-hover-fill)}
.pill>.icon-arrow,.pill>span>.icon-arrow,.home-page .hero-work-link .icon-arrow{width:18px;height:18px}.home-page .hero-work-link>span{font-size:18px;line-height:1;display:inline-flex}
.consent-actions button{min-height:52px;padding:14px 24px;border-radius:6px;font-size:15px;font-weight:600;line-height:1.4;background:var(--button-primary);color:var(--button-hover);border:1px solid var(--button-primary)}
.consent-actions button:hover{background:var(--button-hover);color:var(--button-primary);border-color:var(--button-primary)}
.consent-actions button[data-consent='customize']{background:var(--button-hover);color:var(--button-primary);border-color:var(--button-primary)}.consent-actions button[data-consent='customize']:hover{background:var(--button-primary);color:var(--button-hover)}
@media(max-width:600px){.pill,.home-page .hero-work-link{min-height:52px;padding:14px 24px;font-size:15px;gap:14px}}
@media(prefers-reduced-motion:reduce){.pill,.home-page .hero-work-link,.consent-actions button{transition:none}}
.spotlight-caption .pill{background:var(--action-fill);color:var(--action-text);border-color:var(--action-fill);min-height:52px;padding:14px 24px;font-size:15px;line-height:1.4;border-radius:6px}.spotlight-caption .pill:hover{background:var(--action-hover-fill);color:var(--action-hover-text);border-color:var(--action-hover-fill)}

/* Full-bleed navigation surface with aligned, bounded inner content. */
.site-nav{width:100%;max-width:none;margin:0;padding-inline:max(var(--gutter),calc((100% - 1472px)/2));}
.home-page .site-nav{background:var(--bg);box-shadow:0 1px 0 #ffffff20;}
.home-page .site-nav.is-scrolled{background:var(--bg);}

/* High-contrast mobile navigation toggle, including its open state. */
.menu-icon{display:block;flex:none;width:26px;height:26px;pointer-events:none}
.menu-close{display:none}
.menu[aria-expanded='true'] .menu-lines{display:none}
.menu[aria-expanded='true'] .menu-close{display:inline}
@media(max-width:800px){
 .site-nav .menu:not([hidden]){display:grid;place-items:center;width:52px;height:52px;min-height:52px;flex:0 0 52px;padding:0;border:2px solid #fff;border-radius:6px;background:#fff;color:#c82032;cursor:pointer;}
 .site-nav .menu:not([hidden]):hover,.site-nav .menu:not([hidden])[aria-expanded='true']{background:#c82032;color:#fff;border-color:#fff;}
 .site-nav .menu:focus-visible{outline:3px solid #fff;outline-offset:4px;}
}

/* Shared site chrome: identical surface and positioning on every route. */
.site-nav,.home-page .site-nav,.home-page .site-nav.is-scrolled{position:sticky!important;top:0;background:#24201c!important;color:#f5efce;box-shadow:0 1px 0 #ffffff20;}
footer.wrap{max-width:none;width:100%;margin:0;background:#24201c;color:#c4bdab;padding-inline:max(var(--gutter),calc((100% - 1472px)/2));border-top:1px solid #625b4f;}
footer a{color:#f5efce;}
@media(max-width:800px){.site-nav,.home-page .site-nav{padding-inline:20px;}}

/* Brand-red navigation and inverse actions on red page surfaces. */
.site-nav,.home-page .site-nav,.home-page .site-nav.is-scrolled{background:#c82032!important;color:#fff;}
.services-page .pill,.services-page .pill.secondary,[data-button-surface='red'] .pill{background:#fff;color:#c82032;border-color:#fff;}
.services-page .pill:hover,.services-page .pill.secondary:hover,[data-button-surface='red'] .pill:hover{background:#c82032;color:#fff;border-color:#fff;}

/* One aligned footer row where space permits; clean wrapping on small screens. */
footer.wrap{display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:24px;padding-block:24px;font-size:12px;line-height:1.4;}
footer.wrap>span{display:block;flex:none;white-space:nowrap;}
footer.wrap>div{display:flex;align-items:center;justify-content:flex-end;flex:0 1 auto;flex-wrap:nowrap;gap:16px;margin:0;}
footer.wrap>div a,footer.wrap>div button{display:inline-flex;align-items:center;margin:0;min-height:44px;font-size:12px;line-height:1.4;}
@media(max-width:1200px){footer.wrap{flex-direction:column;align-items:flex-start;gap:8px;}footer.wrap>div{flex-basis:auto;justify-content:flex-start;flex-wrap:wrap;gap:4px 18px;}}

/* Both Home and Services use red page surfaces beneath their content. */
.home-page .pill,.home-page .pill.secondary,.home-page .spotlight-caption .pill,
.services-page .pill,.services-page .pill.secondary,.services-page .spotlight-caption .pill,
[data-button-surface='red'] .pill,[data-button-surface='red'] .pill.secondary{
 --action-fill:#fff;--action-text:#c82032;--action-hover-fill:#c82032;--action-hover-text:#fff;
 background:#fff;color:#c82032;border:1px solid #fff;
}
.home-page .pill:hover,.home-page .pill.secondary:hover,.home-page .spotlight-caption .pill:hover,
.services-page .pill:hover,.services-page .pill.secondary:hover,.services-page .spotlight-caption .pill:hover,
[data-button-surface='red'] .pill:hover,[data-button-surface='red'] .pill.secondary:hover{
 background:#c82032;color:#fff;border-color:#fff;
}
