/* Soft Rounded: user sample. Shared button geometry and theme states. */
:root{--button-primary:#198751;--button-hover:#146d42;--button-pressed:#105a36;--button-on-primary:#fff;--button-secondary:#eaf7ef;--button-border:#789887;--button-text:#17352a;--button-danger:#b83139;--button-disabled:#e1eae4;--button-disabled-text:#68796f;--button-focus:#146d42}
html[data-theme='dark']{--button-primary:#59c68b;--button-hover:#75d6a0;--button-pressed:#45b67a;--button-on-primary:#0c2115;--button-secondary:#1d3227;--button-border:#668273;--button-text:#eaf4ed;--button-danger:#ff9696;--button-disabled:#26372d;--button-disabled-text:#829389;--button-focus:#f1bc78}
body :is(.btn,.button,input[type=submit],input[type=button],.page-back-button){display:inline-flex;align-items:center;justify-content:center;gap:.55em;min-height:44px;height:auto;padding:.65em 1.25em;border-radius:10px!important;border-width:1px;border-style:solid;font-weight:600;line-height:1.25;letter-spacing:normal;text-transform:none;vertical-align:middle;text-align:center;box-shadow:none!important;transform:none!important;white-space:normal}
body :is(.btn-primary,.button,input[type=submit],input[type=button]){background:var(--button-primary)!important;border-color:var(--button-primary)!important;color:var(--button-on-primary)!important}
body :is(.btn-primary,.button,input[type=submit],input[type=button]):hover{background:var(--button-hover)!important;border-color:var(--button-hover)!important;color:var(--button-on-primary)!important}
body :is(.btn-primary,.button,input[type=submit],input[type=button]):active{background:var(--button-pressed)!important;border-color:var(--button-pressed)!important}
body :is(.btn-secondary,.btn-outline-primary,.btn-outline-secondary,.page-back-button,.nav-dark-mode){background:var(--button-secondary)!important;border-color:var(--button-border)!important;color:var(--button-text)!important}
body :is(.btn-secondary,.btn-outline-primary,.btn-outline-secondary,.page-back-button,.nav-dark-mode):hover{background:var(--color-physio-green-light)!important;color:var(--button-text)!important}
body :is(.btn-outline-danger,.btn-danger){background:transparent!important;color:var(--button-danger)!important;border-color:var(--button-danger)!important}
body :is(.btn-outline-danger,.btn-danger):hover{background:var(--button-danger)!important;color:var(--ui-background)!important}
body .top-nav .nav-contact{background:#d99c52!important;border-color:#d99c52!important;color:#35220e!important}
html[data-theme='dark'] body .top-nav .nav-contact{color:#211507!important}
body .top-nav .nav-large-text[aria-pressed='true']{background:var(--button-primary)!important;color:var(--button-on-primary)!important;border-color:var(--button-primary)!important}
body :is(.btn,.button,.page-back-button):focus-visible{outline:3px solid var(--button-focus)!important;outline-offset:3px;box-shadow:0 0 0 2px var(--ui-background)!important}
body :is(.btn,.button,input[type=submit],input[type=button]):is(:disabled,.disabled,[aria-disabled=true],[aria-busy=true]){background:var(--button-disabled)!important;border-color:var(--button-disabled)!important;color:var(--button-disabled-text)!important;opacity:1;cursor:default}
body .btn-sm{min-height:36px;padding:.5em 1em}
body .btn-lg{min-height:50px;padding:.75em 1.4em}
body .btn :is(svg,.bi){flex-shrink:0;vertical-align:middle}
@media(pointer:coarse){body .btn-sm{min-height:44px}}
@media(max-width:480px){body .top-nav :is(.nav-large-text-mobile,.nav-dark-mode-mobile){padding:.6em .7em;white-space:nowrap;gap:.3em}}
@media(min-width:1200px){body .top-nav :is(.nav-large-text-mobile,.nav-dark-mode-mobile){display:none!important}}
@media(max-width:1199px){body .top-nav :is(.nav-large-text-desktop,.nav-dark-mode-desktop){display:none!important}}
body .top-nav :is(.nav-dark-mode,.nav-large-text){white-space:nowrap}
body :is(.btn,.button):not(.nav-large-text) span{color:inherit}
body .top-nav .btn{min-height:44px!important;height:auto!important}
body .top-nav .nav-contact *{color:inherit!important}
body .top-nav .nav-large-text[aria-pressed='true'] *{color:var(--button-on-primary)!important;background:transparent!important}
body .top-nav .nav-workspace{color:var(--button-text)!important}
@media(min-width:481px) and (max-width:1199px){body .top-nav .top-nav-title{flex-basis:100%;margin-bottom:.6rem}body .top-nav .nav-large-text-mobile{margin-left:0!important}}
html:not([data-theme='dark']) body .workspace-sidebar-eyebrow{color:#526b5e}
html body .top-nav .nav-contact:is(:link,:visited,:hover,:focus,:active){background:#d99c52!important;border-color:#d99c52!important;color:#35220e!important}
html[data-theme='dark'] body .top-nav .nav-contact:is(:link,:visited,:hover,:focus,:active){color:#211507!important}
html body .top-nav .nav-workspace:is(:link,:visited,:hover,:focus){color:var(--button-text)!important}
/* Four-mode readability and compact appearance controls. */
body .top-nav :is(.nav-large-text,.nav-dark-mode){font-size:1.4rem!important;min-height:44px!important;padding:7px 10px!important;gap:5px!important;font-weight:600;flex:0 0 auto}
body .top-nav .nav-large-text .large-text-symbol{font-size:1.6rem!important}
body .top-nav :is(.large-text-state,.theme-state){display:none!important}
body .workspace-sidebar :is(.workspace-sidebar-eyebrow,.workspace-sidebar-role,.workspace-sidebar-label,.workspace-sidebar-group-label){color:var(--ui-muted)!important;opacity:1;font-size:max(12px,1rem)}
body .workspace-sidebar p{color:var(--ui-muted)!important;opacity:1}
html[data-theme='dark'] .workspace-content :is(.care-card,.card,.account-settings-card,.account-security-card) p{color:#a8bcaf}
body .workspace-content small{font-size:max(13px,1.1rem);line-height:1.5}
body .workspace-content p{line-height:1.55}
@media(min-width:1600px){html[data-large-text='1'] .top-nav .container-fluid{flex-wrap:nowrap}html[data-large-text='1'] .top-nav #mainNavbar{flex-basis:auto;flex-wrap:nowrap}body .top-nav .navbar-nav .nav-link{font-size:1.6rem;padding-left:10px;padding-right:10px}body .top-nav .top-nav-links{gap:6px;flex-wrap:nowrap}body .top-nav .top-nav-links .btn{font-size:1.6rem;padding:8px 12px;white-space:nowrap}body .top-nav .top-nav-title .site-wordmark{font-size:3.2rem}body .top-nav .site-logo{max-width:70px}}
@media(max-width:360px){body .top-nav :is(.nav-large-text-mobile,.nav-dark-mode-mobile){font-size:1.3rem!important;padding:7px 8px!important}}
body .workspace-sidebar :is(.workspace-sidebar-heading>span,.workspace-sidebar-footer>span){color:var(--ui-muted)!important;font-size:max(13px,1.1rem);line-height:1.5}
@media(min-width:1600px){body .top-nav{width:calc(100% - 96px);max-width:1760px;margin-inline:auto}body .top-nav #mainNavbar{flex-wrap:nowrap!important}body .top-nav>.container-fluid{flex-wrap:nowrap!important}}
@media(min-width:1600px){body .top-nav>.container-fluid{width:100%;max-width:none!important}body .top-nav #mainNavbar{min-width:0;flex:1 1 auto}body .top-nav .top-nav-links{flex:0 0 auto}body .top-nav :is(.nav-user-name,.nav-user-menu,.account-menu-trigger){white-space:nowrap!important;flex-shrink:0}body .top-nav .top-nav-title{margin-right:20px!important}}
html body :is(.account-settings-header,.account-settings-card,.account-security-card) p{font-size:max(16px,1.6rem);line-height:1.55;color:var(--ui-muted)}
html body .workspace-content :is(.help-text,.form-text,.hint){font-size:max(14px,1.3rem);line-height:1.5;color:var(--ui-muted)}
/* Calm crossfade avoids animating font metrics or moving controls during reflow. */
::view-transition-old(root){animation:appearance-fade-out 180ms ease-out both}
::view-transition-new(root){animation:appearance-fade-in 220ms ease-out both}
@keyframes appearance-fade-out{to{opacity:0}}
@keyframes appearance-fade-in{from{opacity:0}}
.appearance-switching>span:first-child{animation:appearance-icon-glow 220ms ease-out}
@keyframes appearance-icon-glow{50%{opacity:.45}100%{opacity:1}}
@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none!important}.appearance-switching>span:first-child{animation:none!important}}
::view-transition{pointer-events:none}
/* Navigation uses compact type even when content text is enlarged. */
@media(min-width:1600px){html body .top-nav .navbar-nav{flex-wrap:nowrap!important;white-space:nowrap}html body .top-nav .navbar-nav .nav-link{font-size:1.6rem!important;white-space:nowrap}html[data-large-text='1'] body .top-nav #mainNavbar{flex-basis:auto!important}html[data-large-text='1'] body .top-nav .container-fluid{flex-wrap:nowrap!important}}
html:not([data-theme='dark']) body .workspace-sidebar-link.is-active{color:#ffffff!important}
html:not([data-theme='dark']) body .workspace-sidebar-link.is-active>span:not(.workspace-sidebar-icon){color:#ffffff!important}
/* Keep dense table headings inside their columns in both text sizes. */
.manager-data-table.manager-data-table--appointments th { overflow-wrap:normal; word-break:normal; padding-inline:1rem; white-space:nowrap; }
.manager-data-table.manager-data-table--appointments { min-width:120rem; }
.manager-data-table--appointments .manager-column-physiotherapist { width:16rem; }
.manager-data-table--appointments .manager-column-location { width:11rem; }
/* Separate labels and values without shrinking the enlarged body text. */
.client-profile-workspace .care-card dl.profile-detail-list { column-gap:1.6rem; grid-template-columns:minmax(13rem,.48fr) minmax(0,1fr); }
@media(max-width:600px){.client-profile-workspace .care-card dl.profile-detail-list{grid-template-columns:1fr;column-gap:0}}
html body .auth-inline-back .page-back-button>span:last-child{color:var(--button-text)!important}
html body [data-contact-progress]{color:var(--ui-muted);font-size:max(14px,1.3rem);line-height:1.5}
/* Keep the collapsed navigation header on one row at enlarged text sizes. */
@media(max-width:1199px){
 html body .top-nav>.container-fluid{gap:4px;align-items:center}
 html body .top-nav .top-nav-title{flex:0 1 auto;min-width:0;margin:0 auto 0 0!important}
 html body .top-nav .site-wordmark{font-size:2rem!important}
 html body .top-nav .site-logo{width:40px;max-width:40px}
 html body .top-nav :is(.nav-large-text-mobile,.nav-dark-mode-mobile){flex:0 0 auto;min-height:44px;font-size:1.2rem!important;padding:6px!important;gap:3px!important;margin:0!important;white-space:nowrap!important}
 html body .top-nav .large-text-symbol{font-size:1.2rem!important}
 html body .top-nav .navbar-toggler{flex:0 0 44px!important;width:44px!important;min-width:44px!important;height:44px!important;min-height:44px!important;margin:0!important;padding:8px!important}
}
@media(max-width:480px){html body .top-nav .site-wordmark{font-size:1.6rem!important}html body .top-nav .site-logo{width:32px;max-width:32px}}
@media(max-width:360px){html body .top-nav .site-wordmark{display:none}html body .top-nav :is(.nav-large-text-mobile,.nav-dark-mode-mobile){font-size:1.1rem!important;padding-inline:5px!important}html[data-large-text='1'] .client-account-dashboard #overview-heading{font-size:3rem;overflow-wrap:normal;word-break:normal}}
.pending-actions-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr))}
.pending-action-card .btn{overflow-wrap:normal;word-break:normal;max-width:100%}
.account-settings-card + .account-settings-card{margin-top:16px}
.account-settings-grid + .account-settings-card{margin-top:16px}
@media(min-width:1200px) and (max-width:1599px){
 html body .top-nav>.container-fluid{flex-wrap:nowrap!important;max-width:none!important;width:100%}
 html body .top-nav #mainNavbar{flex-basis:auto!important;flex-wrap:nowrap!important;min-width:0}
 html body .top-nav .navbar-nav{flex-wrap:nowrap!important;white-space:nowrap;gap:0!important}
 html body .top-nav .navbar-nav .nav-link{font-size:1.4rem!important;white-space:nowrap;padding-inline:7px}
 html body .top-nav .top-nav-title{margin-right:12px!important;flex-shrink:0}
 html body .top-nav .site-logo{width:45px;max-width:45px}
 html body .top-nav .site-wordmark{font-size:2.4rem!important}
 html body .top-nav .top-nav-links{flex-wrap:nowrap!important;gap:5px}
 html body .top-nav .top-nav-links .btn,html body .top-nav .nav-user-name{font-size:1.4rem!important;white-space:nowrap!important;padding:8px!important}
}
[data-profile-submit]{margin-bottom:12px}
html[data-large-text='1'] .mfa-page{font-size:2.2rem}
html[data-large-text='1'] .mfa-page h1{font-size:3.8rem}
html[data-large-text='1'] .mfa-page h2{font-size:2.6rem}
html[data-large-text='1'] .mfa-page :is(p,label,.btn,.mfa-details summary,.mfa-back){font-size:2.2rem}
html[data-large-text='1'] .mfa-page .mfa-help{font-size:1.8rem}
html[data-large-text='1'] .mfa-page :is(.mfa-recovery-list code,.mfa-secret){font-size:2.2rem;line-height:1.6}
@media(max-width:360px){
 html[data-large-text='1'] .client-profile-workspace h1{font-size:3.2rem;line-height:1.3}
 html[data-large-text='1'] .client-profile-workspace .profile-step-navigation li{flex-basis:100%}
 html[data-large-text='1'] .client-profile-workspace [data-profile-step]>legend{font-size:2.4rem;line-height:1.4}
}
.auth-form-note,.auth-link-support p,.auth-support p{font-size:max(14px,1.2rem)}
.auth-footer-note,.auth-form-support small,.auth-form-note{font-size:1.4rem!important;line-height:1.6}
html[data-large-text='1'] :is(.auth-footer-note,.auth-form-support small,.auth-form-note){font-size:1.8rem!important}
.profile-form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.reminder-tabs{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:16px 0}
.public-page-actions{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px}
.appointment-summary h3{font-size:1.8rem;line-height:1.4}
.appointment-summary dt{font-size:1.4rem;line-height:1.5}
.appointment-summary dd{font-size:1.6rem;line-height:1.5}
.resource-disclaimer{font-size:1.4rem!important;line-height:1.6}
html[data-large-text='1'] .resource-disclaimer{font-size:1.8rem!important}
@media(max-width:360px){html[data-large-text='1'] .contact-form-panel h1{font-size:3.2rem;overflow-wrap:normal;word-break:normal;line-height:1.3}}
html[data-large-text='1'] .appointment-summary h3{font-size:2.4rem}
html[data-large-text='1'] .appointment-summary dt{font-size:1.8rem}
html[data-large-text='1'] .appointment-summary dd{font-size:2.2rem}
@media(max-width:767px){
 .booking-result-grid{grid-template-columns:minmax(0,1fr)}
 .booking-results-heading{flex-direction:column;align-items:flex-start;gap:6px;margin-bottom:10px}
}
@media(min-width:1200px) and (max-width:1299px){
 html body .top-nav .site-logo{width:32px;max-width:32px}
 html body .top-nav .site-wordmark{font-size:2rem!important}
 html body .top-nav .navbar-nav .nav-link{font-size:1.3rem!important;padding-inline:5px!important}
 html body .top-nav .top-nav-links .btn,html body .top-nav .nav-user-name{font-size:1.3rem!important;padding-inline:6px!important}
 html body .top-nav .large-text-symbol{font-size:1.3rem!important}
 html body .top-nav .top-nav-links{gap:4px!important}
}
@media(max-width:360px){html[data-large-text='1'] :is(.account-security-address,.clinical-email-address){font-size:1.8rem;line-height:1.6;overflow-wrap:anywhere}}
.activation-card .password-requirements{font-size:1.4rem;line-height:1.6}
html[data-large-text='1'] .activation-card .password-requirements{font-size:1.8rem;line-height:1.6}
@media(max-width:480px){
 html[data-large-text='1'] .activation-card{padding:20px 16px}
 html[data-large-text='1'] .activation-notice{flex-direction:column;gap:10px;padding:14px}
 html[data-large-text='1'] .activation-notice p{width:100%;min-width:0}
 .activation-form .password-toggle{position:static;display:block;margin-top:8px;margin-left:auto;min-height:44px;padding:8px 12px}
 .activation-form .password-control input{padding-right:12px!important}
}
.enquiry-edit-workspace fieldset { border: 0; padding: 0; min-width: 0; }
.enquiry-edit-workspace .phone-input-group { display: block; }
.enquiry-edit-secondary-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 16px; margin-top: 28px; padding-top: 20px; border-top: 1px solid var(--mw-border, #cee2d5); }
@media (max-width: 480px) { .enquiry-edit-workspace .phone-input-group { grid-template-columns: 1fr; } }
@media (max-width: 767px) {
  .manager-data-table--delivery, .manager-data-table--delivery tbody, .manager-data-table--delivery tr, .manager-data-table--delivery td { display: block; width: 100%; min-width: 0; }
  .manager-data-table--delivery { table-layout: auto; }
  .manager-data-table--delivery colgroup, .manager-data-table--delivery thead { display: none; }
  .manager-data-table--delivery tr { padding: 12px; border-bottom: 1px solid #cee2d5; }
  .manager-data-table--delivery td { width: 100% !important; padding: 6px 0 !important; text-align: left; white-space: normal !important; overflow-wrap: anywhere; max-width: 100%; }
  .manager-data-table--delivery td[data-label]::before { content: attr(data-label) ': '; font-weight: 700; }
  .manager-data-table--delivery .manager-email { white-space: normal; overflow: visible; text-overflow: clip; overflow-wrap: anywhere; }
  .manager-table-card:has(.manager-data-table--delivery) .table-responsive { overflow: visible; min-width: 0; }
  .manager-table-card:has(.manager-data-table--delivery) .table-responsive::before { display: none; }
  html[data-theme='dark'] .manager-data-table--delivery tr { border-color: #324b3c; }
}
@media (max-width: 360px) {
  html[data-large-text='1'] .manager-enquiries:has(.manager-data-table--delivery) .manager-page-header h1 { font-size: 2.6rem; }
  html[data-large-text='1'] .manager-enquiries:has(.manager-data-table--delivery) .manager-page-header { padding-left: 16px; padding-right: 16px; }
  html[data-large-text='1'] .manager-data-table--delivery .manager-email { font-size: 1.8rem; line-height: 1.6; }
  html[data-large-text='1'] .manager-enquiries:has(.manager-data-table--delivery) select { font-size: 1.8rem; }
}
/* Footer legal links share the existing cookie-preferences typography. */
body :is(.layout-privacy-links,.homepage-footer-legal) > :is(a,button){font-size:1.25rem!important;font-weight:700!important;line-height:1.5!important;letter-spacing:0;text-transform:none}
html[data-large-text='1'] body :is(.layout-privacy-links,.homepage-footer-legal) > :is(a,button){font-size:2.2rem!important}
.dashboard-to-top{position:fixed;right:max(8px,env(safe-area-inset-right));bottom:calc(20px + env(safe-area-inset-bottom));z-index:100;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:56px;min-width:56px;min-height:64px;padding:9px 6px;line-height:1.2;box-shadow:0 4px 16px #17352a20;background:var(--ui-surface,#fff)}
.dashboard-to-top[hidden]{display:none!important}
.dashboard-to-top svg{width:20px;height:20px;flex:none}
html[data-theme='dark'] .dashboard-to-top{background:#1d3227;color:#83dcab;border-color:#668273}
body .dashboard-to-top{font-size:1.3rem!important;font-weight:700;line-height:1.2!important}
body .dashboard-to-top{padding:9px 6px!important;box-sizing:border-box;letter-spacing:0!important}
.dashboard-to-top span{white-space:nowrap;letter-spacing:0;flex:none}
html[data-large-text='1'] body .dashboard-to-top{font-size:1.6rem!important;width:60px;min-width:60px;min-height:68px}
@media(max-width:575px){.dashboard-to-top{right:max(6px,env(safe-area-inset-right));bottom:calc(12px + env(safe-area-inset-bottom));padding:9px 6px}}
@media(max-width:575px){.dashboard-to-top~footer .layout-privacy-links{padding-right:76px;flex-wrap:wrap;gap:8px 14px}}

body .top-nav .nav-notifications,body .top-nav .nav-dark-mode{width:44px;min-width:44px;padding:9px!important;align-items:center;justify-content:center} body .top-nav .nav-notifications{display:inline-flex} .nav-notifications svg,.nav-dark-mode svg{display:block;flex-shrink:0}

body .top-nav .nav-large-text{width:44px;min-width:44px;padding:7px!important}body .top-nav .large-text-symbol{display:inline-flex;align-items:baseline;gap:1px;line-height:1}body .top-nav .large-text-capital{font-size:2.2rem}body .top-nav .large-text-lowercase{font-size:1.6rem}

/* Simple colour feedback for header controls. */
body .top-nav :is(.nav-large-text,.nav-dark-mode,.nav-contact,.nav-notifications,.nav-workspace,.nav-user-name){transition:background-color .18s ease,color .18s ease,border-color .18s ease}html:not([data-theme='dark']) body .top-nav :is(.nav-large-text,.nav-dark-mode,.nav-notifications,.nav-workspace,.nav-user-name:not(.guest-account-control)):hover{background:#ccebd9!important;color:#104f35!important;border-color:#24865b!important}html[data-theme='dark'] body .top-nav :is(.nav-large-text,.nav-dark-mode,.nav-notifications,.nav-workspace,.nav-user-name:not(.guest-account-control)):hover{background:#31553f!important;color:#c8f5db!important;border-color:#78c99a!important}@media(prefers-reduced-motion:reduce){body .top-nav :is(.nav-large-text,.nav-dark-mode,.nav-contact,.nav-notifications,.nav-workspace,.nav-user-name){transition:none}}
/* Header controls share the account-menu hover treatment. */
html:not([data-theme='dark']) body .top-nav .nav-contact:hover { background:#d99c52!important; color:#35220e!important; border-color:#d99c52!important; }
html[data-theme='dark'] body .top-nav .nav-contact:hover { background:#d99c52!important; color:#211507!important; border-color:#d99c52!important; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
 body .top-nav .nav-large-text { transition:transform .2s ease,background-color .18s ease,color .18s ease,border-color .18s ease; transform-origin:center; }
 body .top-nav .nav-large-text:hover { transform:scale(1.06); }
 body .top-nav .nav-dark-mode svg { transition:transform .3s ease-in-out; transform-origin:center; }
 body .top-nav .nav-dark-mode.theme-icon-flipped svg { transform:rotateY(180deg); }
}
/* Lift the contact label and emphasize its arrow without moving the button. */
body .top-nav .nav-contact:is(:hover,:focus-visible) { transform:none; }
body .top-nav .nav-contact-label { display:inline-block; }
body .top-nav .nav-contact::after { font-weight:700; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
 body .top-nav .nav-contact-label, body .top-nav .nav-contact::after { transition:transform .2s ease,text-shadow .2s ease; }
 body .top-nav .nav-contact:hover .nav-contact-label { transform:translateY(-2px); }
 body .top-nav .nav-contact:hover::after { transform:translateY(-2px) scale(0.75); text-shadow:.8px 0 currentColor,-.8px 0 currentColor; }
}
/* Keep the contact button potato gold during hover. */
html body .top-nav .nav-contact:hover { background:#d99c52!important; border-color:#d99c52!important; color:#35220e!important; }
html[data-theme='dark'] body .top-nav .nav-contact:hover { background:#d99c52!important; border-color:#d99c52!important; color:#211507!important; }
/* Emphasize the text-size symbol on hover, including when large text is active. */
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
 html body .top-nav .nav-large-text:hover { transform:scale(1.06)!important; }
 html body .top-nav .nav-large-text .large-text-symbol { transition:transform .2s ease; transform-origin:center; }
 html body .top-nav .nav-large-text:hover .large-text-symbol { transform:scale(1.3); }
}
/* Rounded contact arrow follows the global Back icon style. */
body .top-nav .nav-contact::after { display:none; }
body .top-nav .nav-contact-icon { display:inline-flex; align-items:center; justify-content:center; width:28px; height:28px; flex:0 0 28px; border-radius:50%; background:#198751; }
body .top-nav .nav-contact-icon svg { display:block; width:18px; height:18px; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
 body .top-nav .nav-contact-icon { transition:transform .2s ease; }
 body .top-nav .nav-contact:hover .nav-contact-icon { transform:translateY(-2px) scale(1.08); }
}
/* Contact variant 02: potato gold with a cream arrow tile. */
html body .top-nav .nav-contact { gap:12px; padding-right:9px!important; }
html body .top-nav .nav-contact .nav-contact-icon { width:30px; height:30px; flex-basis:30px; border-radius:8px; background:#f8d49e; color:#64401e!important; transform:none; }
html body .top-nav .nav-contact .nav-contact-icon svg { width:18px; height:18px; transform:rotate(90deg); transform-origin:center; }
html body .top-nav .nav-contact .nav-contact-icon path { stroke:#64401e; stroke-width:2.8; }
html body .top-nav .nav-contact:hover .nav-contact-label { transform:none; }
html body .top-nav .nav-contact:hover .nav-contact-icon { transform:none; }
@media (hover:hover) {
 html body .top-nav .nav-contact:hover .nav-contact-icon svg { transform:rotate(0deg); }
}
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
 html body .top-nav .nav-contact .nav-contact-icon svg { transition:transform .25s ease-in-out; }
}
/* Lift the entire contact button while its arrow rotates. */
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
 html body .top-nav .nav-contact { transition:transform .2s ease,background-color .18s ease,color .18s ease,border-color .18s ease; }
 html body .top-nav .nav-contact:hover { transform:translateY(-2px)!important; }
}
/* Preserve the contact arrow across navigation before its smooth return. */
@media (hover:hover) {
 html body .top-nav .nav-contact.contact-arrow-up .nav-contact-icon svg { transform:rotate(0deg); }
 html body .top-nav .nav-contact.contact-arrow-restoring .nav-contact-icon svg { transition:none; }
}
/* Use one header width on public pages and every workspace. */
html body > .site-header-container { width:100%; max-width:none; }
html body > .site-header-container > .top-nav { width:100%; max-width:123.2rem; margin-inline:auto; }

/* Give workspace content more room while retaining the sidebar width. */
html body .main > .container:has(> .workspace-shell) { max-width:160rem; }
/* Match the contact control to the adjacent 44px navigation buttons. */
html body .top-nav .nav-contact { height:44px; min-height:44px; padding-block:6px!important; box-sizing:border-box; }
/* Keep the contact arrow pointing up throughout the enquiry form. */
html body:has(.contact-page) .top-nav .nav-contact .nav-contact-icon svg { transform:rotate(0deg); }
/* Back-style feedback for the floating Top control. */
body .dashboard-to-top { transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease; }
body .dashboard-to-top svg { width:28px; height:28px; padding:4px; border-radius:50%; box-sizing:border-box; transition:background-color .18s ease,color .18s ease,transform .18s ease; }
body .dashboard-to-top:is(:hover,:focus-visible) svg { background:var(--button-primary); color:var(--button-on-primary); }
body .dashboard-to-top:focus-visible { outline:3px solid var(--button-focus); outline-offset:3px; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
 body .dashboard-to-top:hover { transform:translateY(-2px)!important; }
 body .dashboard-to-top:hover svg { transform:translateY(-2px); }
}
@media (prefers-reduced-motion:reduce) { body .dashboard-to-top,body .dashboard-to-top svg { transition:none; } }

/* Public pages and workspaces share the same header columns and outer gutters. */
body {
    --workspace-sidebar-width: 21rem;
    --workspace-column-gap: 2.4rem;
}
@media (min-width: 1200px) {
    html body .top-nav > .container-fluid { column-gap: 0; }
    html body .top-nav .top-nav-title {
        flex: 0 0 var(--workspace-sidebar-width);
        width: var(--workspace-sidebar-width);
        justify-content: center;
        margin-right: var(--workspace-column-gap) !important;
    }
    html body .top-nav .navbar-nav { margin-left: 0 !important; }
}
html body .main:has(> .container > .workspace-shell) { padding-top: 16px; }
html body .main > .container > .workspace-shell { margin-top: 0; }
@media (max-width: 760px) {
    html body .main:has(> .container > .workspace-shell) { padding-top: 12px; }
}
@media (min-width: 1024px) {
    html body > .site-header-container,
    html body .main > .container:has(> .workspace-shell) {
        width: 100%;
        max-width: none;
        padding-left: max(16px, env(safe-area-inset-left));
        padding-right: max(16px, env(safe-area-inset-right));
    }
    html body > .site-header-container > .top-nav,
    html body .top-nav > .container-fluid {
        width: 100%;
        max-width: none;
        margin-inline: 0;
    }
    html body .workspace-shell > .workspace-content {
        min-width: 0;
        padding-right: 0;
        box-sizing: border-box;
    }
}
/* Cookie choices override the global flat-button reset only on hover. */
html body .cookie-consent-actions [data-cookie-choice='all']:hover{background:#126c43!important;border-color:#126c43!important;color:#fff!important;box-shadow:0 5px 14px rgba(18,108,67,.24)!important;transform:translateY(-2px)!important}
html body .cookie-consent-actions [data-cookie-choice='necessary']:hover{background:#d4eadc!important;border-color:#188653!important;color:#174d3b!important;box-shadow:0 5px 14px rgba(18,108,67,.2)!important;transform:translateY(-2px)!important}
@media(prefers-reduced-motion:reduce){html body .cookie-consent-actions [data-cookie-choice]:hover{transform:none!important}}
