/* Hamiltonn unified site design contract — v0.33.11
   Loaded last on every custom route and after the Desk brand stylesheet. */
:root,
[data-theme="light"],
[data-theme="dark"] {
  --oc-ui-navy-950: #0a1420;
  --oc-ui-navy-900: #0e1b29;
  --oc-ui-navy-800: #16273a;
  --oc-ui-navy-700: #22384d;
  --oc-ui-gold-600: #8a6a2f;
  --oc-ui-gold-500: #b8924e;
  --oc-ui-gold-400: #c9a15c;
  --oc-ui-gold-300: #dcb97e;
  --oc-ui-gold-100: #f4ecdc;
  --oc-ui-paper: #f6f3ee;
  --oc-ui-paper-2: #efeae2;
  --oc-ui-surface: #ffffff;
  --oc-ui-ink: #14202e;
  --oc-ui-muted: #4d5a68;
  --oc-ui-line: #e3ddd2;
  --oc-ui-line-strong: #cfc7b8;
  --oc-ui-success: #176b45;
  --oc-ui-success-bg: #e5f5ed;
  --oc-ui-warning: #7b5716;
  --oc-ui-warning-bg: #fff0cf;
  --oc-ui-danger: #a7353d;
  --oc-ui-danger-bg: #fdebec;
  --oc-ui-info: #245c86;
  --oc-ui-info-bg: #eaf2f8;
  --oc-ui-radius-sm: 8px;
  --oc-ui-radius: 12px;
  --oc-ui-radius-lg: 16px;
  --oc-ui-radius-xl: 22px;
  --oc-ui-shadow-sm: 0 2px 8px rgba(10, 20, 32, 0.05);
  --oc-ui-shadow: 0 12px 32px rgba(10, 20, 32, 0.08);
  --oc-ui-shadow-lg: 0 24px 60px rgba(10, 20, 32, 0.16);
  --oc-ui-focus: 0 0 0 3px rgba(201, 161, 92, 0.25);
  --oc-ui-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

/* Alias every historical page token to the production design system. */
:is(.ocuk,.ocwf,.ocwa,.ocwl,.ocdp-shell,.ocqr-shell,.och-shell,.oca-shell,.oc-stitch-shell,.oc-launch) {
  --ink: var(--oc-ui-navy-900);
  --orange: var(--oc-ui-gold-400);
  --paper: var(--oc-ui-surface);
  --muted: var(--oc-ui-muted);
  --line: var(--oc-ui-line);
  --wash: var(--oc-ui-paper-2);
  --green: var(--oc-ui-success);
  --red: var(--oc-ui-danger);
  --blue: var(--oc-ui-info);
  --wf-navy: var(--oc-ui-navy-900);
  --wf-gold: var(--oc-ui-gold-400);
  --wf-bg: var(--oc-ui-paper);
  --wf-border: var(--oc-ui-line);
  --wf-muted: var(--oc-ui-muted);
  --wf-green: var(--oc-ui-success);
  --wf-red: var(--oc-ui-danger);
  color: var(--oc-ui-ink);
  font-family: var(--oc-font-ui, "Hanken Grotesk", ui-sans-serif, system-ui, sans-serif) !important;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

html:has(:is(.ocuk,.ocwf,.ocwa,.ocwl,.ocdp-shell,.ocqr-shell,.och-shell,.oca-shell,.oc-stitch-shell,.oc-launch)),
body:has(:is(.ocuk,.ocwf,.ocwa,.ocwl,.ocdp-shell,.ocqr-shell,.och-shell,.oca-shell,.oc-stitch-shell,.oc-launch)) {
  min-height: 100%;
  margin: 0;
  overflow-x: clip;
  color: var(--oc-ui-ink) !important;
  background: var(--oc-ui-paper) !important;
}

body:has(:is(.ocuk,.ocwf,.ocwa,.ocwl,.ocdp-shell,.ocqr-shell,.och-shell,.oca-shell,.oc-stitch-shell,.oc-launch))
:is(.navbar,.web-footer,.page-header,.page-breadcrumbs) {
  display: none !important;
}

body:has(:is(.ocuk,.ocwf,.ocwa,.ocwl,.ocdp-shell,.ocqr-shell,.och-shell,.oca-shell,.oc-stitch-shell,.oc-launch))
:is(.web-page-content,.page_content,.web-page-content>.container,.page_content>.container) {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

:is(.ocuk,.ocwf,.ocwa,.ocwl,.ocdp-shell,.ocqr-shell,.och-shell,.oca-shell,.oc-stitch-shell,.oc-launch),
:is(.ocuk,.ocwf,.ocwa,.ocwl,.ocdp-shell,.ocqr-shell,.och-shell,.oca-shell,.oc-stitch-shell,.oc-launch) * {
  box-sizing: border-box;
}

:is(.ocuk,.ocwf,.ocwa,.ocwl,.ocdp-shell,.ocqr-shell,.och-shell,.oca-shell,.oc-stitch-shell,.oc-launch)
:is(h1,h2,h3,h4,p,ul,ol,dl,figure) {
  max-width: 100%;
}

:is(.ocuk,.ocwf,.ocwa,.ocwl,.ocdp-shell,.ocqr-shell,.och-shell,.oca-shell,.oc-stitch-shell,.oc-launch)
:is(h1,h2,h3,h4,p,strong,span,label,a,button,th,td,dd) {
  overflow-wrap: anywhere;
}

/* Site canvas */
:is(.ocuk,.ocwf,.ocwa,.ocwl,.ocdp-shell,.ocqr-shell,.och-shell,.oca-shell,.oc-stitch-shell,.oc-launch) {
  min-height: 100dvh;
  background:
    radial-gradient(circle at 100% 0, rgba(201,161,92,.11), transparent 28rem),
    radial-gradient(circle at 0 100%, rgba(184,146,78,.08), transparent 30rem),
    var(--oc-ui-paper) !important;
}

/* Primary display titles only use the heritage serif. */
:is(.ocuk,.ocwf,.ocwa,.ocwl,.ocdp-shell,.ocqr-shell,.och-shell,.oca-shell,.oc-stitch-shell,.oc-launch)
:is(.ocuk-today-copy>h1,.ocwf-heading h1,.ocwa-intro h1,.ocwl-copy h1,.ocdp-title h1,.ocqr-title h1,.och-title h1,.oca-title h1,.oc-launch h1,.oc-page-display-title) {
  color: var(--oc-ui-navy-900) !important;
  font-family: var(--oc-font-display, "Fraunces", Georgia, serif) !important;
  font-weight: 560 !important;
  line-height: 1.08 !important;
  letter-spacing: -.028em !important;
}

:is(.ocuk,.ocwf,.ocwa,.ocwl,.ocdp-shell,.ocqr-shell,.och-shell,.oca-shell,.oc-stitch-shell,.oc-launch)
:is(h2,h3,h4) {
  color: var(--oc-ui-navy-900);
  font-family: var(--oc-font-ui, "Hanken Grotesk", sans-serif) !important;
  letter-spacing: -.012em;
}

/* Operational labels / eyebrows */
:is(.ocuk-eyebrow,.ocwf-eyebrow,.ocwf-heading>div>span,.ocwa-kicker,.ocwl-heading>span,.ocwl-copy>span,.ocdp-title span,.ocdp-address span,.ocdp-bank-grid span,.ocqr-title span,.ocqr-address span,.och-title span,.och-address span,.och-block>span,.oca-title span,.oca-label) {
  color: var(--oc-ui-gold-600) !important;
  font-size: .68rem !important;
  font-weight: 800 !important;
  letter-spacing: .13em !important;
  text-transform: uppercase !important;
}

/* Shared top bars and secure public headers */
:is(.ocuk-topbar,.ocwf-topbar,.ocwa-topbar) {
  background:
    radial-gradient(100% 180% at 100% 0, rgba(201,161,92,.17), transparent 58%),
    var(--oc-ui-navy-900) !important;
  border-bottom: 1px solid rgba(201,161,92,.30) !important;
  box-shadow: 0 8px 24px rgba(10,20,32,.16) !important;
}

:is(.ocuk-brand,.ocwf-brand,.ocwa-brand,.ocwl-brand) img,
:is(.ocdp-header,.ocqr-header,.och-header,.oca-header) img {
  object-fit: contain !important;
  background: #fff !important;
  border: 1px solid rgba(255,255,255,.55) !important;
  border-radius: 11px !important;
  box-shadow: 0 6px 18px rgba(10,20,32,.16) !important;
}

:is(.ocuk-brand,.ocwf-brand,.ocwa-brand,.ocwl-brand) strong,
:is(.ocuk-brand,.ocwf-brand,.ocwa-brand,.ocwl-brand) small {
  display: block;
}

:is(.ocuk-brand,.ocwf-brand,.ocwa-brand) strong { color: #fff !important; }
:is(.ocuk-brand,.ocwf-brand,.ocwa-brand) small { color: rgba(255,255,255,.64) !important; }

:is(.ocdp-header,.ocqr-header,.och-header,.oca-header) {
  padding: 13px 16px !important;
  color: #fff !important;
  background:
    radial-gradient(100% 180% at 100% 0, rgba(201,161,92,.18), transparent 58%),
    var(--oc-ui-navy-900) !important;
  border: 1px solid rgba(201,161,92,.26) !important;
  border-radius: var(--oc-ui-radius-lg) !important;
  box-shadow: var(--oc-ui-shadow) !important;
}

:is(.ocdp-header,.ocqr-header,.och-header,.oca-header) strong { color: #fff !important; }
:is(.ocdp-header,.ocqr-header,.och-header,.oca-header) span { color: rgba(255,255,255,.66) !important; }

/* Cards / content surfaces */
:is(.ocuk-card,.ocwf-card,.ocwa-card,.ocdp-card,.ocqr-card,.och-card,.oca-card,.ocwl-form-panel) {
  background: var(--oc-ui-surface) !important;
  border: 1px solid var(--oc-ui-line) !important;
  border-radius: var(--oc-ui-radius-lg) !important;
  box-shadow: var(--oc-ui-shadow-sm) !important;
}

:is(.ocuk-card,.ocwf-card,.ocwa-card,.ocdp-card,.ocqr-card,.och-card,.oca-card,.ocwl-form-panel) {
  transition: border-color .22s ease, box-shadow .25s var(--oc-ui-ease), transform .25s var(--oc-ui-ease);
}

:is(.ocuk-card,.ocwf-card,.ocwa-card):hover {
  border-color: #d7c9ae !important;
  box-shadow: var(--oc-ui-shadow) !important;
}

/* Public secure portals */
:is(.ocdp-shell,.ocqr-shell,.och-shell,.oca-shell) {
  padding: clamp(14px, 3vw, 30px) 14px 48px !important;
}

:is(.ocdp-card,.ocqr-card,.och-card,.oca-card) {
  padding: clamp(17px, 3vw, 28px) !important;
  box-shadow: var(--oc-ui-shadow-lg) !important;
}

:is(.ocdp-title,.ocqr-title,.och-title,.oca-title) {
  border-color: var(--oc-ui-line) !important;
}

:is(.ocdp-address,.ocdp-summary,.ocdp-bank-grid>div,.ocdp-file,
    .ocqr-address,.ocqr-totals,.ocqr-copy,.ocqr-scope>div span,
    .och-address,.och-summary,.och-list li,.och-file,
    .oca-address,.oca-warranty,.oca-ticket) {
  color: var(--oc-ui-ink) !important;
  background: var(--oc-ui-paper-2) !important;
  border-color: var(--oc-ui-line) !important;
  border-radius: var(--oc-ui-radius-sm) !important;
}

:is(.ocdp-bank-grid .reference,.ocqr-scope>div span,.ocqr-check,.och-check,.oca-file,
    .ocdp-message,.ocqr-message,.och-message,.oca-message) {
  color: var(--oc-ui-warning) !important;
  background: var(--oc-ui-gold-100) !important;
  border-color: var(--oc-ui-gold-400) !important;
}

:is(.ocdp-bank,.ocdp-form,.ocqr-response,.och-response,.oca-form) {
  border-color: var(--oc-ui-navy-900) !important;
  border-radius: var(--oc-ui-radius) !important;
}

:is(.ocdp-summary .grand,.ocqr-totals .grand) {
  border-color: var(--oc-ui-gold-400) !important;
}

:is(.ocqr-table-wrap,.och-block,.oca-block) {
  border-color: var(--oc-ui-line) !important;
  border-radius: var(--oc-ui-radius) !important;
}

:is(.ocqr-table-wrap th) {
  color: #fff !important;
  background: var(--oc-ui-navy-900) !important;
}

:is(.ocqr-table-wrap td,.ocqr-table-wrap th) { border-color: var(--oc-ui-line) !important; }
:is(.ocqr-table-wrap td span) { color: var(--oc-ui-gold-600) !important; }

/* Forms */
:is(.ocuk,.ocwf,.ocwa,.ocwl,.ocdp-shell,.ocqr-shell,.och-shell,.oca-shell,.oc-stitch-shell)
:is(input:not([type="checkbox"]):not([type="radio"]),select,textarea) {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 44px;
  color: var(--oc-ui-ink) !important;
  background: #fff !important;
  border: 1px solid var(--oc-ui-line-strong) !important;
  border-radius: var(--oc-ui-radius-sm) !important;
  box-shadow: none !important;
  font: inherit !important;
  line-height: 1.35;
  transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}

:is(.ocuk,.ocwf,.ocwa,.ocwl,.ocdp-shell,.ocqr-shell,.och-shell,.oca-shell,.oc-stitch-shell)
:is(input:not([type="checkbox"]):not([type="radio"]),select,textarea):focus {
  border-color: var(--oc-ui-gold-400) !important;
  box-shadow: var(--oc-ui-focus) !important;
  outline: none !important;
}

:is(.ocuk,.ocwf,.ocwa,.ocwl,.ocdp-shell,.ocqr-shell,.och-shell,.oca-shell,.oc-stitch-shell)
:is(input,textarea)::placeholder {
  color: #7c8792 !important;
  opacity: 1;
}

:is(.ocuk,.ocwf,.ocwa,.ocwl,.ocdp-shell,.ocqr-shell,.och-shell,.oca-shell)
label {
  color: var(--oc-ui-muted) !important;
  font-weight: 700;
}

/* Shared buttons */
:is(.ocuk,.ocwf,.ocwa,.ocwl,.ocdp-shell,.ocqr-shell,.och-shell,.oca-shell,.oc-stitch-shell)
button,
:is(.ocuk,.ocwf,.ocwa,.ocwl,.ocdp-shell,.ocqr-shell,.och-shell,.oca-shell,.oc-stitch-shell)
a[class*="button"] {
  min-height: 42px;
  border-radius: var(--oc-ui-radius-sm) !important;
  font-family: var(--oc-font-ui, "Hanken Grotesk", sans-serif) !important;
  font-weight: 750;
  transition: transform .18s var(--oc-ui-ease), box-shadow .18s ease, filter .18s ease, border-color .18s ease;
}

:is(.ocuk,.ocwf,.ocwa,.ocwl,.ocdp-shell,.ocqr-shell,.och-shell,.oca-shell,.oc-stitch-shell)
button:not(:disabled):active { transform: translateY(1px); }

:is(.ocuk-primary,.ocwf-primary,.ocwa-primary,.ocwl-submit,.ocdp-submit,
    .oc-stitch-shell button.bg-secondary-container,.oc-stitch-shell a.bg-secondary-container) {
  color: var(--oc-ui-navy-950) !important;
  background: linear-gradient(135deg,var(--oc-ui-gold-300),var(--oc-ui-gold-500)) !important;
  border-color: var(--oc-ui-gold-500) !important;
  box-shadow: 0 7px 18px rgba(184,146,78,.25) !important;
}

:is(.ocuk-primary,.ocwf-primary,.ocwa-primary,.ocwl-submit,.ocdp-submit,
    .oc-stitch-shell button.bg-secondary-container,.oc-stitch-shell a.bg-secondary-container):not(:disabled):hover {
  filter: brightness(1.035);
  transform: translateY(-1px);
  box-shadow: 0 11px 24px rgba(184,146,78,.34) !important;
}

:is(.ocuk-secondary,.ocwa-outline,.ocwf-back,.ocwl-manager,.ocdp-bank-grid button,.och-file button) {
  color: var(--oc-ui-navy-900) !important;
  background: #fff !important;
  border: 1px solid var(--oc-ui-line-strong) !important;
  box-shadow: none !important;
}

:is(.ocuk-secondary,.ocwa-outline,.ocwf-back,.ocwl-manager,.ocdp-bank-grid button,.och-file button):hover {
  color: var(--oc-ui-navy-950) !important;
  background: var(--oc-ui-gold-100) !important;
  border-color: var(--oc-ui-gold-400) !important;
}

:is(.ocuk-danger,.ocqr-actions .reject,.och-actions .changes) {
  color: var(--oc-ui-danger) !important;
  background: #fff !important;
  border: 1px solid #d7aeb1 !important;
}

:is(.ocuk-danger,.ocqr-actions .reject,.och-actions .changes):hover {
  color: #fff !important;
  background: var(--oc-ui-danger) !important;
  border-color: var(--oc-ui-danger) !important;
}

:is(.ocqr-actions .accept,.och-actions .accept,.oca-actions button) {
  color: #fff !important;
  background: var(--oc-ui-success) !important;
  border-color: var(--oc-ui-success) !important;
}

:is(.ocuk,.ocwf,.ocwa,.ocwl,.ocdp-shell,.ocqr-shell,.och-shell,.oca-shell,.oc-stitch-shell)
button:disabled {
  cursor: not-allowed !important;
  opacity: .55 !important;
  filter: grayscale(.15);
  transform: none !important;
}

/* Worker */
.ocuk-page,
.ocwf-page,
.ocwa-page {
  width: min(calc(100% - 28px), 1180px) !important;
  margin-inline: auto !important;
}

.ocuk-today-hero {
  color: #fff !important;
  background:
    radial-gradient(90% 160% at 100% 0, rgba(201,161,92,.23), transparent 56%),
    linear-gradient(145deg,var(--oc-ui-navy-800),var(--oc-ui-navy-950)) !important;
  border: 1px solid rgba(201,161,92,.30) !important;
  border-radius: var(--oc-ui-radius-xl) !important;
  box-shadow: var(--oc-ui-shadow-lg) !important;
}

.ocuk-today-hero :is(h1,p,strong,span) { color: inherit; }
.ocuk-today-hero .ocuk-eyebrow { color: var(--oc-ui-gold-300) !important; }
.ocuk-today-rate { border-color: rgba(255,255,255,.18) !important; background: rgba(255,255,255,.08) !important; }

:is(.ocuk-pay-grid>div,.ocuk-timer-panel,.ocuk-presence-metrics span,.ocuk-location-card,.ocuk-evidence,.ocuk-permission,.ocuk-mini-list>*,.ocuk-history>*) {
  background: var(--oc-ui-paper-2) !important;
  border-color: var(--oc-ui-line) !important;
  border-radius: var(--oc-ui-radius) !important;
}

.ocuk-pay-due {
  color: var(--oc-ui-navy-950) !important;
  background: var(--oc-ui-gold-100) !important;
  border-color: var(--oc-ui-gold-400) !important;
}

.ocuk-break-panel {
  background: var(--oc-ui-gold-100) !important;
  border-color: #decaa5 !important;
}

.ocuk-presence-panel {
  background: var(--oc-ui-info-bg) !important;
  border-color: #c7d8e5 !important;
}

.ocuk-bottom-nav {
  color: rgba(255,255,255,.68) !important;
  background: rgba(10,20,32,.97) !important;
  border-top: 1px solid rgba(201,161,92,.30) !important;
  box-shadow: 0 -8px 28px rgba(10,20,32,.28) !important;
  backdrop-filter: blur(12px);
}

.ocuk-bottom-nav a { color: rgba(255,255,255,.62) !important; }
.ocuk-bottom-nav a.active { color: var(--oc-ui-gold-300) !important; }

/* Workforce */
.ocwf-heading h1 { color: var(--oc-ui-navy-900) !important; }
.ocwf-month,
.ocwf-review-summary span {
  background: #fff !important;
  border-color: var(--oc-ui-line) !important;
  border-radius: var(--oc-ui-radius) !important;
}

:is(.ocwf-balances article,.ocwf-list article) {
  background: #fbfaf7 !important;
  border-color: var(--oc-ui-line) !important;
  border-radius: var(--oc-ui-radius) !important;
}

.ocwf-status { background: var(--oc-ui-paper-2) !important; }
.ocwf-status:is(.paid,.completed,.approved,.on-site) { color: var(--oc-ui-success) !important; background: var(--oc-ui-success-bg) !important; }
.ocwf-status:is(.cancelled,.rejected,.no-show,.outside-site) { color: var(--oc-ui-danger) !important; background: var(--oc-ui-danger-bg) !important; }
.ocwf-status:is(.late,.clock-out-overdue,.awaiting-supervisor) { color: var(--oc-ui-warning) !important; background: var(--oc-ui-warning-bg) !important; }

.ocwf-dialog {
  color: var(--oc-ui-ink) !important;
  background: #fff !important;
  border: 1px solid var(--oc-ui-line) !important;
  border-radius: var(--oc-ui-radius-lg) !important;
  box-shadow: var(--oc-ui-shadow-lg) !important;
}
.ocwf-dialog::backdrop { background: rgba(10,20,32,.62) !important; backdrop-filter: blur(3px); }

/* Field account admin */
.ocwa-intro {
  color: #fff !important;
  background:
    radial-gradient(90% 160% at 100% 0, rgba(201,161,92,.23), transparent 58%),
    var(--oc-ui-navy-900) !important;
  border-radius: var(--oc-ui-radius-xl) !important;
  box-shadow: var(--oc-ui-shadow-lg) !important;
}
.ocwa-intro :is(h1,p) { color: #fff !important; }
.ocwa-step { color: var(--oc-ui-navy-950) !important; background: var(--oc-ui-gold-300) !important; }
.ocwa-step.success { color: #fff !important; background: var(--oc-ui-success) !important; }

/* Worker login */
.ocwl-brand-panel {
  color: #fff !important;
  background:
    radial-gradient(110% 130% at 100% 0, rgba(201,161,92,.20), transparent 54%),
    linear-gradient(145deg,var(--oc-ui-navy-800),var(--oc-ui-navy-950)) !important;
}
.ocwl-brand-panel :is(h1,p,li,strong) { color: #fff !important; }
.ocwl-brand-panel .ocwl-copy>span { color: var(--oc-ui-gold-300) !important; }
.ocwl-shell { border-radius: var(--oc-ui-radius-xl) !important; box-shadow: var(--oc-ui-shadow-lg) !important; }
.ocwl-session { background: var(--oc-ui-gold-100) !important; border-color: var(--oc-ui-gold-400) !important; }

/* Status and feedback colours */
:is(.ocdp-status.paid,.ocqr-status.accepted,.och-status.accepted,.och-status.completed,.oca-warranty.active,.oca-badge.covered,.oca-badge.resolved) {
  color: var(--oc-ui-success) !important;
  background: var(--oc-ui-success-bg) !important;
}
:is(.ocdp-status.rejected,.ocqr-status.rejected,.och-status.changes,.oca-warranty.expired,.oca-badge.rejected) {
  color: var(--oc-ui-danger) !important;
  background: var(--oc-ui-danger-bg) !important;
}
:is(.ocdp-status.pending,.oca-badge.chargeable,.oca-badge.on-hold) {
  color: var(--oc-ui-warning) !important;
  background: var(--oc-ui-warning-bg) !important;
}

/* Desk receives shared tokens but keeps ERPNext's structural layout. */
body[data-route^="Form/"] :is(.form-section,.form-dashboard-section,.frappe-card),
body[data-route^="List/"] :is(.list-row-head,.list-row-container),
body[data-route^="query-report/"] :is(.report-wrapper,.datatable) {
  border-color: var(--oc-ui-line) !important;
  border-radius: var(--oc-ui-radius) !important;
}

body[data-route^="Form/"] :is(input,select,textarea):focus,
body[data-route^="List/"] :is(input,select,textarea):focus {
  border-color: var(--oc-ui-gold-400) !important;
  box-shadow: var(--oc-ui-focus) !important;
}

/* Launch page */
.oc-launch {
  display: grid;
  min-height: 75dvh;
  place-items: center;
  padding: 24px;
}
.oc-launch-card {
  width: min(480px,100%);
  padding: 34px;
  text-align: center;
  background: #fff;
  border: 1px solid var(--oc-ui-line);
  border-radius: var(--oc-ui-radius-xl);
  box-shadow: var(--oc-ui-shadow-lg);
}
.oc-launch-card img { width: 68px; height: 68px; margin: 0 auto 18px; object-fit: contain; }
.oc-launch-card h1 { margin: 0 0 8px; font-size: clamp(1.75rem,7vw,2.6rem); }
.oc-launch-card p { margin: 0; color: var(--oc-ui-muted); }

/* Accessibility */
:is(.ocuk,.ocwf,.ocwa,.ocwl,.ocdp-shell,.ocqr-shell,.och-shell,.oca-shell,.oc-stitch-shell,.oc-launch)
:focus-visible {
  outline: 3px solid rgba(201,161,92,.68) !important;
  outline-offset: 2px !important;
}

@media (max-width: 700px) {
  :is(.ocuk-page,.ocwf-page,.ocwa-page) { width: min(calc(100% - 20px),1180px) !important; }
  :is(.ocuk-card,.ocwf-card,.ocwa-card,.ocdp-card,.ocqr-card,.och-card,.oca-card) { border-radius: 14px !important; }
  :is(.ocdp-header,.ocqr-header,.och-header,.oca-header) { border-radius: 14px !important; }
  :is(.ocdp-shell,.ocqr-shell,.och-shell,.oca-shell) { padding-inline: 10px !important; }
  .ocwl-shell { width: min(calc(100% - 20px),1080px) !important; margin: 12px auto !important; border-radius: 16px !important; }
  :is(.ocuk-today-copy>h1,.ocwf-heading h1,.ocwa-intro h1,.ocwl-copy h1,.ocdp-title h1,.ocqr-title h1,.och-title h1,.oca-title h1) {
    font-size: clamp(1.75rem,9vw,2.3rem) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  :is(.ocuk,.ocwf,.ocwa,.ocwl,.ocdp-shell,.ocqr-shell,.och-shell,.oca-shell,.oc-stitch-shell,.oc-launch),
  :is(.ocuk,.ocwf,.ocwa,.ocwl,.ocdp-shell,.ocqr-shell,.och-shell,.oca-shell,.oc-stitch-shell,.oc-launch) * {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}


/* Hamiltonn fixed-header layout contract v0.33.11 */
.oc-stitch-shell > header.fixed.top-0 {
  top: 0 !important;
  min-height: 4rem;
  padding-top: env(safe-area-inset-top);
}
.oc-stitch-shell > header.fixed.top-0 + main {
  padding-top: calc(5.5rem + env(safe-area-inset-top)) !important;
}
@media (min-width: 768px) {
  .oc-stitch-shell > header.fixed.top-0 + main {
    padding-top: 5.5rem !important;
  }
}


/* Hamiltonn bottom-navigation breakpoint contract v0.33.11 */
@media (min-width: 768px) {
  .oc-stitch-shell > nav.fixed.bottom-0 {
    display: none !important;
  }
}
