/* /site-polish.3401778ef340.css */
/* Project cards and compact mobile footer */
.case-next{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 100% 0,rgba(0,153,239,.19),transparent 60%),linear-gradient(135deg,rgba(29,53,70,.78),rgba(10,22,32,.9));border:1px solid rgba(154,210,243,.27);border-radius:24px;box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 20px 60px rgba(0,0,0,.2);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);padding:clamp(26px,5vw,56px)}
.case-next h2{font-size:clamp(28px,4.1vw,48px);line-height:1.12;max-width:20ch;margin:0 0 20px;letter-spacing:-.035em}.case-next>p{max-width:60ch;font-size:16px;line-height:1.75;color:#bdcbd5;margin:0 0 28px}.case-next .case-links{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:0}.case-next .case-links a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 20px;border-radius:12px;border:1px solid rgba(176,213,237,.26);background:rgba(255,255,255,.045);color:#e7f4ff;font-size:14px;font-weight:600;line-height:1.4;text-decoration:none;transition:background .2s,border-color .2s}.case-next .case-links a:first-child{background:#0788ee;color:#fff;border-color:#299ff7;box-shadow:0 4px 18px rgba(0,136,238,.18)}.case-next .case-links a:hover{background:#176393;border-color:#78c6f5}.case-next .case-links a:focus-visible{outline:3px solid #9cddff;outline-offset:4px}.case-archive-note{font-size:12px;line-height:1.7;opacity:.75}
@media(max-width:640px){.case-next{border-radius:20px;padding:28px 22px}.case-next h2{font-size:30px}.case-next>p{font-size:15px;line-height:1.7}.case-next .case-links{display:grid;grid-template-columns:1fr;width:100%;gap:10px}.case-next .case-links a{width:100%;box-sizing:border-box;padding:14px 16px;font-size:14px}.oxo-footer{padding:0 22px}.oxo-footer .oxo-footer-intro{padding:32px 0;gap:20px}.oxo-footer .oxo-footer-intro h2{font-size:28px;line-height:1.15}.oxo-footer .oxo-footer-navigation{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px 20px;padding:30px 0}.oxo-footer .oxo-footer-brand{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) 46px;gap:22px;align-items:center;padding:0 0 26px;border-bottom:1px solid #243541}.oxo-footer .oxo-footer-brand-copy{order:0}.oxo-footer .oxo-footer-recognition{order:1;margin:0;justify-self:end}.oxo-footer .oxo-footer-recognition img{width:46px;height:116px;object-fit:contain;filter:none;margin:0}.oxo-footer .oxo-footer-brand-copy>img{width:112px;height:36px;margin:0 0 13px}.oxo-footer .oxo-footer-brand-copy p{font-size:13px;line-height:1.7;max-width:27ch;margin:0}.oxo-footer .oxo-footer-brand-copy p br{display:none}.oxo-footer nav h3{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#eff6fa;margin:0 0 10px}.oxo-footer nav a{font-size:13px;line-height:1.5;min-height:42px;display:flex;align-items:center;margin:0;padding:5px 0}.oxo-footer .oxo-footer-contact{grid-column:1/-1;padding:22px;border:1px solid #263e50;border-radius:16px;background:linear-gradient(130deg,rgba(31,65,88,.4),rgba(10,23,33,.5));display:grid;grid-template-columns:1fr;gap:10px}.oxo-footer .oxo-footer-contact h3{margin:0;font-size:16px}.oxo-footer .oxo-footer-contact>a{font-size:15px;margin:0;min-height:38px;display:flex;align-items:center}.oxo-footer .oxo-footer-contact>a[href*=contact]{justify-content:center;border:1px solid #41657d;border-radius:10px;padding:10px 14px;min-height:46px;background:rgba(70,137,179,.12);color:#e5f3fc}.oxo-footer .oxo-footer-contact p{font-size:12px;line-height:1.7;margin:4px 0 0}.oxo-footer .oxo-footer-offices{gap:0;padding:4px 0;border-top:0}.oxo-footer .oxo-footer-offices section{padding:20px 0;display:grid;grid-template-columns:100px minmax(0,1fr);gap:8px 14px}.oxo-footer .oxo-footer-offices h3{font-size:14px;line-height:1.5;margin:0}.oxo-footer .oxo-footer-offices address{font-size:12px;line-height:1.65;margin:0}.oxo-footer .oxo-footer-offices a{grid-column:2;font-size:12px;line-height:1.5;max-width:none;padding:8px 0}.oxo-footer .oxo-footer-bottom{padding:22px 0 28px;gap:14px 20px;font-size:11px;line-height:1.7;align-items:center}.oxo-footer .oxo-footer-bottom>span{flex-basis:100%}.oxo-footer .oxo-footer-bottom>a:last-child{margin-left:auto}}

@media(max-width:640px){.oxo-footer .oxo-footer-brand{min-height:0!important;gap:20px!important}.oxo-footer .oxo-footer-recognition{width:46px!important;height:116px!important;min-height:0!important;max-width:none!important}.oxo-footer .oxo-footer-recognition img{width:46px!important;height:116px!important;min-height:0!important;max-width:none!important;object-fit:contain!important}.oxo-footer .oxo-footer-brand-copy{min-width:0}.oxo-footer .oxo-footer-contact>a[href*=contact]{width:100%;box-sizing:border-box}.oxo-footer .oxo-footer-brand-copy p{max-width:30ch}}

@media(max-width:640px){.oxo-footer .oxo-footer-brand{grid-template-columns:minmax(0,1fr) 90px;gap:24px!important}.oxo-footer .oxo-footer-recognition,.oxo-footer .oxo-footer-recognition img{width:90px!important;height:225px!important}.oxo-footer .oxo-footer-brand-copy p{font-size:13px;max-width:24ch}}

.portfolio-all-grid{padding:0 5.4% 64px;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 28px}.portfolio-all-grid .project{min-width:0}.project:focus-visible,a:focus-visible,button:focus-visible{outline:2px solid #63c9ff;outline-offset:5px}html{scroll-padding-top:110px}@media(max-width:700px){.portfolio-all-grid{grid-template-columns:minmax(0,1fr);gap:28px;padding:0 24px 40px}.case-body{padding-left:24px;padding-right:24px}.case-story p{font-size:16px;line-height:1.75}.case-hero h1{font-size:clamp(32px,9vw,48px);overflow-wrap:break-word}input,select,textarea{font-size:16px}.case-next a{min-height:48px}.project-caption h3{font-size:21px}.project-caption p{line-height:1.5}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

.clients-heading #clients-title,.oxo-footer-eyebrow{font-family:"Courier New",monospace;font-size:10px;font-weight:500;letter-spacing:.13em;text-transform:uppercase;color:#a8b3c4;line-height:1.6}

.case-client-image{display:block;cursor:pointer}.case-visit{display:flex;align-items:center;gap:18px;margin:-40px 0 56px}.case-visit>span{font-size:12px;color:#a8b3c4}.case-visit-button{display:inline-flex;align-items:center;justify-content:center;gap:30px;min-height:50px;padding:14px 24px;border:1px solid #b6d9ef66;border-radius:14px;background:linear-gradient(135deg,#d3edff24,#487b9b15);box-shadow:inset 0 1px 0 #ffffff30,0 8px 24px #0003;backdrop-filter:blur(16px);color:#eef8ff;font-size:15px;font-weight:600;text-decoration:none}.case-visit-button:hover{background:#4e8bac35;border-color:#8bceef}.case-client-image:focus-visible{outline-offset:-4px}@media(max-width:700px){.case-visit{flex-direction:column;align-items:stretch;gap:10px;margin-top:-32px;margin-bottom:36px}.case-visit>span{text-align:center}.case-visit-button{width:100%}}
.service-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;border:0!important}.service-list .service{display:grid!important;grid-template-columns:42px minmax(0,1fr) 24px!important;gap:8px 14px!important;align-items:center;padding:24px!important;min-height:130px;border:1px solid #b0d7f126!important;border-radius:20px;background:linear-gradient(135deg,#17304088,#0b141b88);text-decoration:none}.service-list .service:hover{background:#173040}.service-list .service-no{grid-column:1;grid-row:1/3;width:42px;height:42px;display:grid;place-items:center;background:#0aa5f21a;border-radius:12px;color:#67ceff}.service-list .service-name{grid-column:2;grid-row:1;font-size:23px!important;line-height:1.25;letter-spacing:-.035em}.service-list .service-detail{display:block!important;grid-column:2;grid-row:2;font-family:Arial,sans-serif;font-size:13px!important;line-height:1.55;letter-spacing:0;color:#a9bdcb;text-transform:none}.service-list .service-arrow{grid-column:3;grid-row:1/3;font-size:21px;color:#7cccf2}.ai-edge{display:grid!important;grid-template-columns:1fr auto;gap:18px 30px;padding:28px!important;margin-top:24px!important;border:1px solid #83caff30!important;border-radius:22px;background:linear-gradient(135deg,#143044,#0c1720);align-items:center}.ai-edge>div{display:flex;align-items:center;gap:14px}.ai-edge h3{font-size:26px!important;line-height:1.2;letter-spacing:-.035em;margin:0}.ai-edge .ai-symbol{display:grid;place-items:center;width:42px;height:42px;color:#67ceff;background:#0aa5f219;border-radius:12px}.ai-edge>p{grid-column:1;font-size:15px;line-height:1.75;color:#afc0cd;margin:0}.ai-edge-link{grid-column:2;grid-row:1/3;display:flex;gap:20px;align-items:center;justify-content:center;padding:16px 20px!important;min-height:50px;border:1px solid #9ccae54d!important;border-radius:14px;background:#ffffff08;font-size:14px!important;text-decoration:none!important}.ai-edge-link span{font-size:20px!important}.case-story h2{letter-spacing:-.035em;line-height:1.15}@media(max-width:700px){.service-list{grid-template-columns:1fr;gap:12px}.service-list .service{padding:18px!important;min-height:116px}.service-list .service-name{font-size:21px!important}.service-list .service-detail{font-size:12px!important}.ai-edge{grid-template-columns:1fr;padding:22px!important}.ai-edge-link{grid-column:1;grid-row:auto;width:100%}}
.service-list .service-detail{text-align:left!important;justify-self:start!important;margin:0!important}.service-list .service{align-content:center}.service-list .service-name{align-self:end}.service-list .service-detail{align-self:start}.detail-section h2,.case-story h2{font-weight:400;letter-spacing:-.035em;line-height:1.18}.detail-section p,.case-story p{line-height:1.8}.detail-section li{line-height:1.75;margin-bottom:8px}@media(max-width:700px){.detail-section h2,.case-story h2{font-size:28px}.detail-section p,.detail-section li,.case-story p{font-size:15px}}

/* Unified reading and interaction refinement */
.insight-category{font-family:ui-monospace,SFMono-Regular,Consolas,monospace!important;font-weight:400!important;letter-spacing:.16em!important;line-height:1.6}.insights-breadcrumb{font-size:12px!important;line-height:1.6}.insights-breadcrumb a{display:inline-flex;align-items:center;min-height:36px}.insight-prose{max-width:72ch}.insight-prose p,.insight-prose li{font-size:16px;line-height:1.85}.insight-prose h2{font-weight:400;letter-spacing:-.035em;line-height:1.2;margin-top:2em}.insight-meta{gap:10px 18px!important;font-size:12px!important;line-height:1.6}.insight-help,.case-next{border-radius:22px!important;border:1px solid #83caff30!important;background:linear-gradient(135deg,#143044,#0c1720)!important}.insight-help h2,.case-next h2{font-weight:400;letter-spacing:-.035em;line-height:1.2}.insights-pagination a{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.insight-card-link:focus-visible,.service:focus-visible,.project:focus-visible{outline:2px solid #70ceff;outline-offset:5px}.insight-card{border-radius:20px!important;overflow:hidden}.insight-card h2,.insight-card h3{line-height:1.3;letter-spacing:-.025em}.insight-deck{max-width:65ch;line-height:1.75!important}@media(max-width:700px){.insight-prose p,.insight-prose li{font-size:16px!important;line-height:1.8!important}.insight-help{padding:24px!important}.insight-help .button{white-space:normal!important;width:100%;justify-content:center;min-height:48px}.insight-meta{font-size:12px!important}.insights-hero~nav a,.insights-categories a,.insights-filter a{min-height:44px;display:inline-flex;align-items:center}main input,main select,main textarea{font-size:16px!important}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

.insights-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:6px}

/* /mobile-app-nav.b24ebd6bcb51.css */
.oxo-app-nav{box-sizing:border-box;position:fixed;inset:auto 10px 10px;margin:0 auto;width:calc(100% - 20px);max-width:560px;height:min(780px,calc(100dvh - 24px));max-height:calc(100dvh - 24px);padding:0;border:1px solid #a2d8ff40;border-radius:30px;color:#eff7ff;background:radial-gradient(ellipse at top right,#194d6877,transparent 65%),linear-gradient(150deg,#14212bf7,#080f17fc);box-shadow:0 30px 90px #000a,inset 0 1px #ffffff25;backdrop-filter:blur(30px);overflow:hidden;font-family:Arial,sans-serif}.oxo-app-nav[open]{display:flex;flex-direction:column;animation:appNavIn .28s cubic-bezier(.2,.8,.2,1)}.oxo-app-nav::backdrop{background:#02070dbb;backdrop-filter:blur(10px)}.oxo-app-nav *{box-sizing:border-box}.app-nav-top{display:flex;align-items:center;gap:12px;padding:20px 22px;border-bottom:1px solid #ffffff12;flex-shrink:0}.app-nav-brand{font-size:25px;font-weight:700;letter-spacing:.12em;flex:1;color:#36b7ff}.app-nav-brand small{display:block;color:#94aabb;font:9px monospace;letter-spacing:.22em;margin-top:5px}.app-nav-top button{border:1px solid #b3d9ff26;background:#ffffff08;border-radius:50%;width:44px;height:44px;color:#e5f2ff;font-size:28px;cursor:pointer}.app-nav-back[hidden]{display:none}.app-nav-body{padding:26px 22px;overflow-y:auto;overscroll-behavior:contain;flex:1}.app-nav-body h2{font-size:34px;font-weight:400;letter-spacing:-.05em;margin:0 0 8px;outline:none}.app-nav-intro{font-size:13px;color:#a3b5c4;line-height:1.5;margin:0 0 24px}.app-nav-body nav{display:grid;gap:10px}.app-nav-body nav>button,.app-nav-body nav>a{display:flex;align-items:center;gap:14px;width:100%;min-height:82px;padding:15px;border:1px solid #bfdfff20;border-radius:18px;background:linear-gradient(130deg,#ffffff0d,#ffffff03);color:#f0f7ff;text-align:left;text-decoration:none;cursor:pointer}.app-nav-label{flex:1;min-width:0}.app-nav-label strong{display:block;font-size:17px;font-weight:500;line-height:1.3}.app-nav-label small{display:block;font-size:11px;color:#a3b5c4;line-height:1.5;margin-top:5px}.app-nav-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#159fe51a;color:#63cfff;font-size:22px;flex-shrink:0}.app-nav-arrow{color:#82a8bf;font-size:24px}.app-nav-quick{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.app-nav-quick a{padding:18px 5px;border:1px solid #ffffff18;border-radius:14px;text-align:center;font-size:12px;color:#dbeafa;text-decoration:none;background:#ffffff05}.app-nav-bottom{padding:16px 22px max(20px,env(safe-area-inset-bottom));border-top:1px solid #ffffff12;flex-shrink:0}.app-nav-bottom>a{display:flex;justify-content:space-between;align-items:center;min-height:54px;border-radius:16px;padding:16px 18px;background:linear-gradient(120deg,#119bfa,#0472c0);color:white;text-decoration:none;font-size:14px;font-weight:600;box-shadow:0 8px 28px #0088ff22}.app-nav-bottom small{display:block;text-align:center;margin-top:13px;font-size:10px;color:#94aabb}.oxo-app-nav a:active,.oxo-app-nav button:active{transform:scale(.98)}.oxo-app-nav :focus-visible{outline:2px solid #6dd8ff;outline-offset:3px}.oxo-app-nav [aria-current=page]{border-color:#54c5ff88!important;background:#159fe51a!important}@keyframes appNavIn{from{opacity:0;transform:translateY(35px) scale(.98)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.oxo-app-nav[open]{animation:none}}
.oxo-app-nav .app-nav-body h2:focus,.oxo-app-nav .app-nav-body h2:focus-visible{outline:none!important;box-shadow:none!important}.app-nav-icon svg{display:block}

/* /oxo-ui.643553ef24ab.css */
/* OXO usability refinement. Load after the existing public stylesheets. */

/* Reading sizes are scoped to content; logo, award and hero geometry stay owned
   by the original stylesheets. */
.detail-section p,
.detail-section li,
.case-story p,
.case-feature p {
  font-size: 16px;
  line-height: 1.75;
}

.detail-section > div,
.case-story > div {
  min-width: 0;
}

.detail-section p {
  max-width: 70ch;
}

.page-hero .lead,
.insight-deck {
  text-wrap: pretty;
}

.page-contact p {
  max-width: 56ch;
  font-size: 16px;
  line-height: 1.7;
}

.page-links a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  font-size: 13px;
  line-height: 1.4;
}

.header .nav-submenu small {
  font-size: 12px;
  line-height: 1.55;
}

/* Keep the existing CTA treatment; correct the contrast of the blue variant. */
.case-next .case-links a:first-child {
  color: #fff;
  background: #0868a8;
  border-color: #398fc4;
}

.case-next .case-links a:first-child:hover {
  color: #fff;
  background: #07558b;
  border-color: #69b4e1;
}

.case-next .case-links a {
  min-width: 0;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: break-word;
}

.insight-help .button {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  justify-content: space-between;
  gap: 12px;
  white-space: normal;
  line-height: 1.4;
  text-align: left;
}

.app-nav-bottom > a {
  background: linear-gradient(120deg, #0b70b0, #07548a);
}

.app-nav-label small {
  font-size: 12px;
  line-height: 1.5;
}

/* Readable form labels and placeholders, with the existing input/submit
   behavior and light form surface preserved. */
.enquiry .enquiry-intro > p {
  max-width: 54ch;
  font-size: 16px;
  line-height: 1.75;
}

.enquiry .enquiry-steps {
  font-size: 13px;
  line-height: 1.6;
}

.enquiry form label {
  font-size: 13px;
  line-height: 1.5;
}

.enquiry form label > span {
  font-size: 11px;
  color: #566875;
}

.enquiry .form-heading > span {
  font-size: 12px;
  line-height: 1.5;
}

.enquiry .form-pair select {
  margin-bottom: 0;
}

.enquiry input,
.enquiry select,
.enquiry textarea {
  font-size: 16px;
  border-color: #8795a1;
}

.enquiry input::placeholder,
.enquiry textarea::placeholder {
  color: #596b7b;
  opacity: 1;
}

.enquiry .form-privacy {
  font-size: 12px;
  line-height: 1.65;
  color: #4f616f;
}

.enquiry .form-privacy a {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.enquiry .form-bottom {
  flex-wrap: wrap;
  row-gap: 12px;
}

.enquiry .form-bottom > .form-mode {
  font-size: 12px;
  line-height: 1.5;
}

.enquiry .form-feedback {
  font-size: 14px;
  line-height: 1.6;
}

/* Native disclosure for optional fields added to the existing form. */
.enquiry .enquiry-optional {
  margin: 0 0 24px;
  padding: 0 16px;
  border: 1px solid #b5c3ce;
  border-radius: 10px;
  background: #ffffff80;
  color: #263e51;
}

.enquiry .enquiry-optional > summary {
  position: relative;
  display: block;
  min-height: 48px;
  margin: 0 -16px;
  padding: 14px 48px 14px 16px;
  list-style: none;
  cursor: pointer;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
  border-radius: 9px;
}

.enquiry .enquiry-optional > summary > span {
  display: block;
  margin-top: 4px;
  color: #536776;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.5;
}

.enquiry .enquiry-optional > summary::-webkit-details-marker {
  display: none;
}

.enquiry .enquiry-optional > summary::after {
  content: "+";
  position: absolute;
  top: 50%;
  right: 16px;
  transform: translateY(-50%);
  color: #386279;
  font-size: 22px;
  font-weight: 400;
  line-height: 1;
}

.enquiry .enquiry-optional-fields {
  display: grid;
  gap: 18px;
}

.enquiry .enquiry-optional-fields > .form-pair {
  margin-bottom: 0;
}

.enquiry .enquiry-optional > summary:hover {
  background: #dce8f166;
}

.enquiry .enquiry-optional > summary:focus-visible {
  outline: 2px solid #1476a6;
  outline-offset: 3px;
}

.enquiry .enquiry-optional[open] {
  padding-bottom: 18px;
}

.enquiry .enquiry-optional[open] > summary {
  margin-bottom: 18px;
  border-bottom: 1px solid #c3cfd9;
  border-radius: 9px 9px 0 0;
}

.enquiry .enquiry-optional[open] > summary::after {
  content: "−";
}

.enquiry .enquiry-optional p {
  margin: 0 0 16px;
  color: #536776;
  font-size: 13px;
  line-height: 1.6;
}

.enquiry .enquiry-optional .form-pair {
  margin-bottom: 18px;
}

.enquiry .enquiry-optional .form-pair:last-child {
  margin-bottom: 0;
}

/* On Contact, bring the requested form closer to the introduction. */
.contact-hero {
  padding-bottom: 32px;
}

.contact-hero h1 {
  font-size: clamp(38px, 5vw, 70px);
}

.contact-hero + .enquiry {
  padding-top: 32px;
}

.contact-hero + .enquiry .enquiry-grid {
  margin-top: 0;
}

/* Added only when a real enquiry form/contact CTA already precedes the footer.
   The script refuses to apply this to any intro containing an image or award. */
.oxo-footer .oxo-footer-intro.oxo-duplicate-cta {
  display: none;
}

@media (max-width: 760px) {
  .page-hero .lead {
    font-size: 16px;
    line-height: 1.7;
  }

  .phoenix-stage .phoenix-intro p {
    max-width: 38ch;
    margin: 18px 0 22px;
    font-size: 16px;
    line-height: 1.6;
  }

  .phoenix-stage .phoenix-eyebrow {
    margin-bottom: 16px;
    font-size: 9px;
    line-height: 1.5;
    letter-spacing: .05em;
  }

  .phoenix-stage .hero-footnote {
    font-size: 8px;
    line-height: 1.6;
    letter-spacing: .04em;
  }

  .phoenix-stage .phoenix-intro .button {
    font-size: 13px;
  }

  .enquiry .form-heading {
    align-items: baseline;
    flex-wrap: wrap;
    gap: 8px 16px;
  }

  .enquiry .form-bottom .button {
    justify-content: center;
  }

  .contact-hero + .enquiry {
    padding-top: 20px;
  }
}

/* Scoped content additions: load after the site's existing styles. */
.case-hero h1[data-oxo-case-title] {
  text-transform: none;
  overflow-wrap: anywhere;
}
.case-project-descriptor {
  margin: 18px 0 0;
  color: #79c2f5;
  font-size: clamp(18px, 1.9vw, 27px);
  line-height: 1.35;
  font-weight: 500;
  letter-spacing: -.02em;
  text-transform: none;
}
.case-project-descriptor + .lead { margin-top: 22px; }

.detail-section.oxo-proof-section {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr);
  grid-template-areas: "visual heading" "visual copy";
  column-gap: clamp(28px, 4vw, 64px);
  row-gap: 20px;
  align-items: start;
}
.oxo-proof-heading { grid-area: heading; min-width: 0; }
.oxo-proof-heading .eyebrow {
  display: block;
  margin-bottom: 14px;
  color: #79c2f5;
  font-size: 11px;
  line-height: 1.5;
  letter-spacing: .12em;
}
.oxo-proof-heading h2 { margin: 0; }
.oxo-proof-copy { grid-area: copy; min-width: 0; }
.oxo-proof-copy > :first-child { margin-top: 0; }
.oxo-proof-copy > :last-child { margin-bottom: 0; }
.detail-section .oxo-proof-visual {
  grid-area: visual;
  display: block;
  min-width: 0;
  align-self: center;
  overflow: hidden;
  border: 1px solid rgba(144, 193, 229, .25);
  border-radius: 18px;
  background: #0d1722;
  color: #f1f5f8;
  text-decoration: none;
  box-shadow: 0 18px 48px rgba(0, 0, 0, .18);
  transition: border-color .2s ease, box-shadow .2s ease;
}
.oxo-proof-visual img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1363 / 936;
  object-fit: contain;
  background: #0d1722;
}
.oxo-proof-caption {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 16px 20px;
  border-top: 1px solid rgba(144, 193, 229, .16);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.4;
  text-transform: none;
}
.oxo-proof-caption > :last-child { color: #79c2f5; font-size: 22px; }
.oxo-proof-visual:hover { border-color: rgba(121, 194, 245, .65); box-shadow: 0 20px 54px rgba(0, 0, 0, .3); }

.oxo-project-nav {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr);
  align-items: stretch;
  margin-top: clamp(32px, 4vw, 56px);
  border-top: 1px solid rgba(168, 191, 214, .18);
}
.oxo-project-nav a {
  display: flex;
  align-items: center;
  gap: 18px;
  min-width: 0;
  padding: 28px 0;
  color: #dce7ee;
  text-decoration: none;
  text-transform: none;
}
.oxo-project-nav-next { justify-content: flex-end; text-align: right; }
.oxo-project-nav small {
  display: block;
  margin-bottom: 7px;
  color: #9faebd;
  font-size: 12px;
  line-height: 1.4;
  letter-spacing: .06em;
}
.oxo-project-nav strong {
  display: block;
  font-size: clamp(17px, 1.6vw, 24px);
  line-height: 1.35;
  font-weight: 500;
  overflow-wrap: anywhere;
}
.oxo-project-nav a > span[aria-hidden] { color: #79c2f5; font-size: 24px; }
.oxo-project-nav a:hover strong, .oxo-project-nav a:hover { color: #79c2f5; }

.oxo-work-more {
  display: flex;
  justify-content: center;
  margin-top: 36px;
}
.oxo-work-more a {
  display: inline-flex;
  align-items: center;
  gap: 28px;
  min-height: 48px;
  padding: 13px 22px;
  border: 1px solid rgba(144, 193, 229, .35);
  border-radius: 999px;
  background: rgba(16, 35, 51, .4);
  color: #e9f2f8;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  text-transform: none;
  transition: background .2s ease, border-color .2s ease;
}
.oxo-work-more a > span { color: #79c2f5; font-size: 20px; }
.oxo-work-more a:hover { background: rgba(30, 77, 110, .35); border-color: #79c2f5; }
.oxo-proof-visual:focus-visible,
.oxo-project-nav a:focus-visible,
.oxo-work-more a:focus-visible { outline: 2px solid #79c2f5; outline-offset: 5px; }

@media (max-width: 760px) {
  .detail-section.oxo-proof-section {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "heading" "visual" "copy";
    gap: 24px;
  }
  .oxo-proof-visual { width: 100%; }
  .oxo-proof-caption { padding: 14px 16px; }
  .oxo-project-nav { grid-template-columns: minmax(0, 1fr); }
  .oxo-project-nav a { padding: 22px 0; }
  .oxo-project-nav-next { border-top: 1px solid rgba(168, 191, 214, .12); }
  .oxo-work-more { margin-top: 26px; }
}
@media (prefers-reduced-motion: reduce) {
  .oxo-proof-visual, .oxo-work-more a { transition: none; }
}

/* Contact-only corrections observed in preview; no form controls or handlers. */
.contact-hero ~ .office-details {
  box-sizing: border-box;
  max-width: 1600px;
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--page-pad, 24px);
  padding-right: var(--page-pad, 24px);
}
.contact-hero ~ .office-details > div {
  min-width: 0;
}
.contact-hero ~ .office-details address {
  margin: 0 0 8px;
  font-style: normal;
  line-height: 1.75;
  overflow-wrap: anywhere;
}
.contact-hero ~ .office-details > div > a {
  display: block;
  box-sizing: border-box;
  width: fit-content;
  max-width: 100%;
  min-height: 44px;
  padding: 10px 0;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

/* Both enquiry forms need full width before the paired fields become cramped. */
@media (max-width: 980px) {
  .enquiry .enquiry-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
  }
}

/* /oxo-actions.e4e98ca708c3.css */
/* OXO public action system — load after every existing public stylesheet.
   Explicit component selectors only. Forms, links, and event handlers are intact.
   The About story owns its compact playback/chapter controls separately. */

:root {
  --oxo-action-blue: #0868d9;
  --oxo-action-blue-hover: #0b70df;
  --oxo-action-blue-press: #0758b8;
  --oxo-action-ink: #142130;
  --oxo-action-ink-hover: #1a3048;
  --oxo-action-line: #52677e;
  --oxo-action-text: #f5f9ff;
  --oxo-action-focus: #92d7ff;
  --oxo-action-radius: 12px;
}

/* Three old stylesheets progressively add chrome, a moving shine, an inset
   bevel, and shadowed arrow capsules. Override each layer, including hover. */
body :is(
  .button,
  .header .nav-contact,
  .header .mobile-start,
  .oxo-footer .oxo-footer-cta,
  .case-visit-button,
  .ai-edge .ai-edge-link,
  .case-next .case-links :where(a),
  .oxo-app-nav .app-nav-bottom > :where(a)
) {
  position: relative;
  isolation: isolate;
  box-sizing: border-box;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-width: 0;
  max-width: 100%;
  min-height: 52px;
  height: auto;
  padding: 9px 11px 9px 20px;
  border: 1px solid var(--oxo-action-border, var(--oxo-action-line));
  border-radius: var(--oxo-action-radius);
  background: var(--oxo-action-fill, var(--oxo-action-ink));
  color: var(--oxo-action-label, var(--oxo-action-text));
  box-shadow: 0 3px 12px #00000018;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: -.01em;
  text-align: left;
  text-decoration: none;
  text-transform: none;
  text-shadow: none;
  white-space: normal;
  overflow-wrap: anywhere;
  overflow: visible;
  transform: none;
  cursor: pointer;
  transition: background-color 160ms ease, border-color 160ms ease,
    color 160ms ease, box-shadow 160ms ease, transform 100ms ease;
}

/* Preserve the responsive display rules of the two header CTAs. */
body :is(.button, .oxo-footer .oxo-footer-cta, .case-visit-button,
  .ai-edge .ai-edge-link, .case-next .case-links a,
  .oxo-app-nav .app-nav-bottom > a) {
  display: inline-flex;
}

body :is(.button, .header .nav-contact, .header .mobile-start)::before,
body :is(.button, .header .nav-contact, .header .mobile-start)::after {
  content: none;
  display: none;
  animation: none;
  transition: none;
}

/* A single blue identifies actions that start an enquiry or exploration. */
body :is(.button-primary, .header .nav-contact, .header .mobile-start,
  .oxo-footer .oxo-footer-cta, .insight-help .button,
  .case-next .case-links a:first-child, .oxo-app-nav .app-nav-bottom > a) {
  --oxo-action-fill: var(--oxo-action-blue);
  --oxo-action-fill-hover: var(--oxo-action-blue-hover);
  --oxo-action-fill-press: var(--oxo-action-blue-press);
  --oxo-action-border: #3b8bec;
  --oxo-action-border-hover: #78b5ff;
  --oxo-action-label: #fff;
  --oxo-action-icon-fill: #003a8429;
  --oxo-action-icon-line: #ffffff38;
  --oxo-action-icon-color: #fff;
}

/* The preview dialog returns to the form; it is a secondary action. */
body #edit-enquiry {
  --oxo-action-fill: var(--oxo-action-ink);
  --oxo-action-fill-hover: var(--oxo-action-ink-hover);
  --oxo-action-fill-press: #0c1826;
  --oxo-action-border: var(--oxo-action-line);
  --oxo-action-border-hover: #8bc7f9;
  --oxo-action-icon-fill: #70beff0d;
  --oxo-action-icon-line: #9bcaff38;
  --oxo-action-icon-color: #a6d9ff;
}

body :is(
  .button, .header .nav-contact, .header .mobile-start,
  .oxo-footer .oxo-footer-cta, .case-visit-button, .ai-edge .ai-edge-link,
  .case-next .case-links :where(a), .oxo-app-nav .app-nav-bottom > :where(a)
):is(:hover, :focus-visible) {
  background: var(--oxo-action-fill-hover, var(--oxo-action-ink-hover));
  border-color: var(--oxo-action-border-hover, #8bc7f9);
  color: var(--oxo-action-label, var(--oxo-action-text));
  box-shadow: 0 4px 14px #00000022;
  text-shadow: none;
  transform: none;
}

body :is(
  .button, .header .nav-contact, .header .mobile-start,
  .oxo-footer .oxo-footer-cta, .case-visit-button, .ai-edge .ai-edge-link,
  .case-next .case-links :where(a), .oxo-app-nav .app-nav-bottom > :where(a)
):active {
  background: var(--oxo-action-fill-press, #0c1826);
  box-shadow: none;
  transform: translateY(1px);
}

/* Arrow tokens use the actual glyph, so back/next/external directions stay true.
   The build helper wraps the few legacy trailing text arrows in a span. */
body :is(
  .button, .header .nav-contact, .header .mobile-start,
  .oxo-footer .oxo-footer-cta, .case-visit-button, .ai-edge .ai-edge-link,
  .case-next .case-links :where(a)
) > span[aria-hidden="true"],
body .oxo-app-nav .app-nav-bottom > a > span {
  position: relative;
  display: inline-grid;
  place-items: center;
  flex: 0 0 32px;
  width: 32px;
  height: 32px;
  margin: 0;
  padding: 0;
  border: 1px solid var(--oxo-action-icon-line, #9bcaff38);
  border-radius: 50%;
  background: var(--oxo-action-icon-fill, #70beff0d);
  color: var(--oxo-action-icon-color, #a6d9ff);
  box-shadow: none;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 20px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
  text-shadow: none;
  text-decoration: none;
  transform: none;
  transition: border-color 160ms ease, background-color 160ms ease;
}

body :is(.button, .header .nav-contact, .header .mobile-start,
  .case-visit-button, .ai-edge .ai-edge-link, .case-next .case-links a,
  .oxo-footer .oxo-footer-cta) > span[aria-hidden="true"]::before,
body :is(.button, .header .nav-contact, .header .mobile-start,
  .case-visit-button, .ai-edge .ai-edge-link, .case-next .case-links a,
  .oxo-footer .oxo-footer-cta) > span[aria-hidden="true"]::after {
  content: none;
  display: none;
  border: 0;
  background: none;
  box-shadow: none;
}

body :is(.button, .header .nav-contact, .header .mobile-start):is(:hover, :focus-visible)
  > span[aria-hidden="true"] {
  transform: none;
}

/* Form labels are content, never icons. The white form retains a blue CTA. */
body .enquiry .form-bottom .button {
  width: 100%;
  min-width: 0;
  min-height: 52px;
  padding: 9px 11px 9px 20px;
  border-radius: var(--oxo-action-radius);
  gap: 18px;
  justify-content: space-between;
  text-align: left;
}

body .enquiry .form-bottom .button .submit-label {
  flex: 1 1 auto;
  min-width: 0;
  font-size: 14px;
  line-height: 1.4;
  font-weight: 600;
}

body .insight-help .button { justify-content: space-between; }
body .case-visit .case-visit-button { min-width: 180px; }

/* This legacy first-child CTA has stronger color rules than a plain button. */
body .case-next .case-links a:first-child {
  background: var(--oxo-action-blue);
  border-color: #3b8bec;
  color: #fff;
  box-shadow: 0 3px 12px #00000018;
}
body .case-next .case-links a:first-child:is(:hover, :focus-visible) {
  background: var(--oxo-action-blue-hover);
  border-color: #78b5ff;
  color: #fff;
  box-shadow: 0 4px 14px #00000022;
}
body .case-next .case-links a:first-child:active {
  background: var(--oxo-action-blue-press);
  box-shadow: none;
}

/* Preserve the existing hero CTA height and type size inside its scroll scene. */
body .phoenix-stage .phoenix-intro .button {
  min-height: 49px;
  padding: 8px 10px 8px 18px;
  font-size: 13px;
}
body .phoenix-stage .phoenix-intro .button > span[aria-hidden="true"] {
  flex-basis: 30px;
  width: 30px;
  height: 30px;
}

/* Only these legacy declarations were !important; keep the exceptions local. */
body .ai-edge .ai-edge-link {
  padding: 9px 11px 9px 20px !important;
  border-color: var(--oxo-action-line) !important;
  font-size: 14px !important;
}
body .ai-edge .ai-edge-link:is(:hover, :focus-visible) {
  border-color: #8bc7f9 !important;
}
body .ai-edge .ai-edge-link > span[aria-hidden="true"] { font-size: 20px !important; }

/* Compact header controls share the same silhouette, with optical spacing. */
body .header :is(.nav-contact, .mobile-start) {
  min-height: 46px;
  padding: 8px 9px 8px 16px;
  gap: 12px;
  font-size: 13px;
  line-height: 1.3;
  white-space: nowrap;
}
body .header :is(.nav-contact, .mobile-start) > span[aria-hidden="true"] {
  flex-basis: 28px;
  width: 28px;
  height: 28px;
  font-size: 18px;
}

/* Utility controls are quiet ink surfaces, with a complete 44px hit area. */
body :is(.header .mobile-menu, .app-nav-top button, .dialog-close,
  .oxo-discovery-clear, .page-links a, .insights-categories a,
  .insights-pagination a, .app-nav-quick a) {
  box-sizing: border-box;
  min-height: 44px;
  min-width: 44px;
  border: 1px solid var(--oxo-action-line);
  border-radius: 10px;
  background: var(--oxo-action-ink);
  color: var(--oxo-action-text);
  box-shadow: none;
  text-shadow: none;
  text-decoration: none;
  line-height: 1.4;
  transform: none;
  transition: background-color 160ms ease, border-color 160ms ease,
    color 160ms ease, transform 100ms ease;
}
body :is(.header .mobile-menu, .app-nav-top button, .dialog-close,
  .oxo-discovery-clear, .page-links a, .insights-categories a,
  .insights-pagination a, .app-nav-quick a):is(:hover, :focus-visible) {
  background: var(--oxo-action-ink-hover);
  border-color: #8bc7f9;
  color: #fff;
}
body :is(.header .mobile-menu, .app-nav-top button, .dialog-close,
  .oxo-discovery-clear, .page-links a, .insights-categories a,
  .insights-pagination a, .app-nav-quick a):active {
  background: #0c1826;
  transform: translateY(1px);
}
body .header .mobile-menu {
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  padding: 10px;
  gap: 5px;
}
body .header .mobile-menu span { width: 19px; height: 1.5px; background: #edf6ff; }
body .header .mobile-menu[aria-expanded="true"] { background: #17416a; border-color: #75bfff; }
body .header .nav-group > summary { min-height: 44px; }
body :is(.app-nav-top button, .dialog-close) { width: 44px; height: 44px; padding: 0; font-size: 28px; }
body .dialog-close { display: grid; place-items: center; top: 14px; right: 14px; }
body .oxo-discovery-clear { min-height: 48px; min-width: 72px; padding: 10px 15px; font-size: 14px; }
body :is(.page-links a, .insights-categories a, .insights-pagination a, .app-nav-quick a) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 16px;
  font-size: 13px;
  font-weight: 500;
  white-space: normal;
  overflow-wrap: anywhere;
}
body :is(.insights-categories a, .insights-pagination a)[aria-current="page"] {
  background: var(--oxo-action-blue);
  color: #fff;
  border-color: #78b5ff;
}
body :is(.app-nav-top button, .oxo-discovery-clear)[hidden] { display: none !important; }

/* Menu rows are larger navigation surfaces, not oversized primary buttons. */
body .oxo-app-nav .app-nav-body nav > :is(button, a) {
  border-color: #425a70;
  border-radius: 14px;
  background: #152434;
  color: #f5f9ff;
  box-shadow: none;
  transform: none;
  transition: background-color 160ms ease, border-color 160ms ease;
}
body .oxo-app-nav .app-nav-body nav > :is(button, a):is(:hover, :focus-visible) {
  background: #1c334a;
  border-color: #83bff0;
}
body .oxo-app-nav .app-nav-body nav > :is(button, a):active { background: #0d1d2d; }
body .oxo-app-nav .app-nav-icon { border-radius: 10px; background: #4baaff12; color: #9ad3ff; }
body .oxo-app-nav .app-nav-bottom > a { display: flex; width: 100%; }
body .oxo-app-nav .app-nav-quick a { padding: 12px 8px; }

/* Decorative arrows on large link surfaces belong to the same token family. */
body :is(.work .project-open, .service-list .service-arrow,
  .oxo-project-nav a > span[aria-hidden="true"], .oxo-app-nav .app-nav-arrow) {
  box-sizing: border-box;
  display: inline-grid;
  place-items: center;
  flex: 0 0 32px;
  width: 32px;
  height: 32px;
  margin: 0;
  padding: 0;
  border: 1px solid #9bcaff38;
  border-radius: 50%;
  background: #70beff0d;
  color: #a6d9ff;
  box-shadow: none;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 20px;
  font-weight: 400;
  line-height: 1;
  transform: none;
  transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}
body .work .project-open { color: #a6d9ff !important; }
body .work .project:is(:hover, :focus-visible) .project-open {
  background: var(--oxo-action-blue);
  border-color: #78b5ff;
  color: #fff !important;
}
body .service-list .service { grid-template-columns: 42px minmax(0, 1fr) 32px !important; }
body .service-list .service:is(:hover, :focus-visible) .service-arrow,
body .oxo-project-nav a:is(:hover, :focus-visible) > span[aria-hidden="true"] {
  background: #1b446b;
  border-color: #78b5ff;
  color: #fff;
}

/* Explicit focus remains visible on dark cards and the white enquiry form. */
body :is(
  .button, .header .nav-contact, .header .mobile-start, .header .mobile-menu,
  .oxo-footer .oxo-footer-cta, .case-visit-button, .ai-edge .ai-edge-link,
  .case-next .case-links a, .app-nav-top button, .oxo-app-nav .app-nav-bottom > a,
  .oxo-app-nav .app-nav-body nav > button, .oxo-app-nav .app-nav-body nav > a,
  .dialog-close, .oxo-discovery-clear, .page-links a, .insights-categories a,
  .insights-pagination a, .app-nav-quick a
):focus-visible {
  outline: 3px solid var(--oxo-action-focus);
  outline-offset: 3px;
}
body .enquiry .form-bottom .button:focus-visible { outline-color: #064c9c; }

/* Preserve readable labels and arrow spacing while disabled. The existing
   enquiry handler already disables the submit button while showing Sending… */
body :is(.button, .header .nav-contact, .header .mobile-start, .oxo-discovery-clear,
  .app-nav-top button, .oxo-app-nav .app-nav-body nav > button):is(:disabled, [aria-disabled="true"]) {
  opacity: .5;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}
body .enquiry form .button[type="submit"]:disabled {
  opacity: 1;
  cursor: wait;
  background: #0758b8;
  border-color: #3b8bec;
  color: #fff;
  transform: none;
  box-shadow: none;
}
body .enquiry form .button[type="submit"]:disabled > span[aria-hidden="true"] {
  flex-basis: 20px;
  width: 20px;
  height: 20px;
  margin: 6px;
  border: 2px solid #ffffff55;
  border-top-color: #fff;
  background: transparent;
  font-size: 0;
  animation: oxo-action-wait 700ms linear infinite;
}
@keyframes oxo-action-wait { to { transform: rotate(360deg); } }

@media (max-width: 760px) {
  body .header .mobile-start { min-height: 44px; padding: 7px 8px 7px 13px; gap: 10px; font-size: 12px; }
  body .header .mobile-start > span[aria-hidden="true"] { flex-basis: 26px; width: 26px; height: 26px; font-size: 17px; }
  body .page-contact .button { width: 100%; }
  body .ai-edge .ai-edge-link { width: 100%; }
  body .case-next .case-links a { justify-content: space-between; }
}

@media (max-width: 640px) {
  body .oxo-footer .oxo-footer-cta { width: 100%; min-width: 0; gap: 12px; }
  body .oxo-footer .oxo-footer-contact > a[href="/contact/"] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 48px;
    padding: 11px 16px;
    border: 1px solid var(--oxo-action-line);
    border-radius: var(--oxo-action-radius);
    background: var(--oxo-action-ink);
    color: var(--oxo-action-text);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
    white-space: normal;
    text-shadow: none;
  }
  body .oxo-footer .oxo-footer-contact > a[href="/contact/"]:is(:hover, :focus-visible) { background: var(--oxo-action-ink-hover); border-color: #8bc7f9; }
}

@media (prefers-reduced-motion: reduce) {
  body :is(.button, .header .nav-contact, .header .mobile-start,
    .oxo-footer .oxo-footer-cta, .case-visit-button, .ai-edge .ai-edge-link,
    .case-next .case-links a, .header .mobile-menu, .app-nav-top button,
    .oxo-discovery-clear, .dialog-close, .page-links a, .insights-categories a,
    .insights-pagination a, .app-nav-quick a, .oxo-app-nav .app-nav-bottom > a) {
    transition: none;
  }
  body :is(.button, .header .nav-contact, .header .mobile-start,
    .oxo-footer .oxo-footer-cta, .case-visit-button, .ai-edge .ai-edge-link,
    .case-next .case-links a, .header .mobile-menu, .app-nav-top button,
    .oxo-discovery-clear, .dialog-close, .page-links a, .insights-categories a,
    .insights-pagination a, .app-nav-quick a, .oxo-app-nav .app-nav-bottom > a):active {
    transform: none;
  }
  body .enquiry form .button[type="submit"]:disabled > span[aria-hidden="true"] { animation: none; }
}

@media (forced-colors: active) {
  body :is(.button, .header .nav-contact, .header .mobile-start,
    .oxo-footer .oxo-footer-cta, .case-visit-button, .ai-edge .ai-edge-link,
    .case-next .case-links a, .header .mobile-menu, .app-nav-top button,
    .oxo-discovery-clear, .dialog-close, .page-links a, .insights-categories a,
    .insights-pagination a, .app-nav-quick a, .oxo-app-nav .app-nav-bottom > a) {
    border-color: ButtonText;
    background: ButtonFace;
    color: ButtonText;
    box-shadow: none;
  }
}

/* /oxo-interface.1249b0caf5f5.css */
/* OXO / titanium & smoked glass
   Load LAST, after the existing site, usability, action and discovery styles.
   Public components only. This file does not replace any form markup or code.
   The About timeline owns its chapter and playback controls. */

:root {
  --oxo-titanium: repeating-linear-gradient(0deg, #ffffff10 0, #ffffff10 1px,
    #283c4c04 1px, #283c4c04 2px, transparent 2px, transparent 3px),
    linear-gradient(165deg, #f0f3f5 0%, #dce3e8 34%, #c5cfd7 72%, #b8c3cd 100%);
  --oxo-titanium-hover: repeating-linear-gradient(0deg, #ffffff12 0, #ffffff12 1px,
    #283c4c04 1px, #283c4c04 2px, transparent 2px, transparent 3px),
    linear-gradient(165deg, #fafbfc 0%, #e5ebef 34%, #d1dae2 72%, #c2cdd6 100%);
  --oxo-titanium-press: linear-gradient(165deg, #b7c3ce, #ced8e0 70%, #dce4ea);
  --oxo-titanium-label: #162937;
  --oxo-glass: linear-gradient(155deg, #364958a6 0%, #263745bb 35%, #111e2be8 100%);
  --oxo-glass-hover: linear-gradient(155deg, #435b6bb8 0%, #304656d9 35%, #182b3ce8 100%);
  --oxo-glass-press: linear-gradient(155deg, #162532e8, #253b4ce8);
  --oxo-glass-line: #8b9dab80;
  --oxo-interface-text: #edf2f6;
  --oxo-interface-muted: #aab8c6;
  --oxo-interface-focus: #b4e0ff;
  --oxo-action-radius: 14px;
}

/* Material changes only: the verified action geometry and arrow layout from
   revision 2 remain in force, including the 49px homepage hero CTA. */
body :is(.button, .header .nav-contact, .header .mobile-start,
  .oxo-footer .oxo-footer-cta, .case-visit-button, .ai-edge .ai-edge-link,
  .case-next .case-links :where(a), .oxo-app-nav .app-nav-bottom > :where(a)) {
  --oxo-action-fill: var(--oxo-glass);
  --oxo-action-fill-hover: var(--oxo-glass-hover);
  --oxo-action-fill-press: var(--oxo-glass-press);
  --oxo-action-border: var(--oxo-glass-line);
  --oxo-action-border-hover: #a7bacba8;
  --oxo-action-label: var(--oxo-interface-text);
  --oxo-action-icon-fill: linear-gradient(155deg, #43607485, #162a3be0);
  --oxo-action-icon-line: #9ab0c15c;
  --oxo-action-icon-color: #deedf7;
  background: var(--oxo-action-fill);
  border-color: var(--oxo-action-border);
  border-radius: var(--oxo-action-radius);
  color: var(--oxo-action-label);
  box-shadow: inset 0 1px 0 #f1f8ff29, inset 0 -1px 0 #00000030,
    0 2px 3px #00000020, 0 8px 20px #00000024;
  backdrop-filter: blur(14px) saturate(.85);
  -webkit-backdrop-filter: blur(14px) saturate(.85);
  font-weight: 600;
  letter-spacing: -.005em;
  text-shadow: 0 1px 1px #00000040;
  transition: border-color 180ms ease, color 180ms ease,
    box-shadow 180ms ease, transform 100ms ease;
}

/* Titanium catches the light through a continuous satin gradient. The fine
   horizontal grain stays still; there is no chrome stripe or moving sheen. */
body :is(.button-primary, .header .nav-contact, .header .mobile-start,
  .oxo-footer .oxo-footer-cta, .insight-help .button,
  .case-next .case-links a:first-child, .oxo-app-nav .app-nav-bottom > a) {
  --oxo-action-fill: var(--oxo-titanium);
  --oxo-action-fill-hover: var(--oxo-titanium-hover);
  --oxo-action-fill-press: var(--oxo-titanium-press);
  --oxo-action-border: #e7eef4c9;
  --oxo-action-border-hover: #f5faff;
  --oxo-action-label: var(--oxo-titanium-label);
  --oxo-action-icon-fill: linear-gradient(155deg, #425666, #1c2e3d 85%);
  --oxo-action-icon-line: #1d3448b8;
  --oxo-action-icon-color: #eff7fc;
  background: var(--oxo-action-fill);
  border-color: var(--oxo-action-border);
  color: var(--oxo-action-label);
  box-shadow: inset 0 1px 0 #ffffffeb, inset 0 -1px 0 #344b6154,
    0 1px 0 #63798b, 0 3px 5px #00000033, 0 9px 22px #00000026;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  text-shadow: 0 1px 0 #ffffff8c;
}

/* The preview-dialog return action remains secondary despite its legacy
   button-primary class. Its id-specific variable rules need an explicit reset. */
body #edit-enquiry {
  --oxo-action-fill: var(--oxo-glass);
  --oxo-action-fill-hover: var(--oxo-glass-hover);
  --oxo-action-fill-press: var(--oxo-glass-press);
  --oxo-action-border: var(--oxo-glass-line);
  --oxo-action-border-hover: #a7bacba8;
  --oxo-action-label: var(--oxo-interface-text);
  --oxo-action-icon-fill: linear-gradient(155deg, #43607485, #162a3be0);
  --oxo-action-icon-line: #9ab0c15c;
  --oxo-action-icon-color: #deedf7;
  background: var(--oxo-action-fill);
  border-color: var(--oxo-action-border);
  color: var(--oxo-action-label);
  box-shadow: inset 0 1px 0 #f1f8ff29, inset 0 -1px 0 #00000030, 0 8px 20px #00000024;
  text-shadow: 0 1px 1px #00000040;
}

body :is(.button, .header .nav-contact, .header .mobile-start,
  .oxo-footer .oxo-footer-cta, .case-visit-button, .ai-edge .ai-edge-link,
  .case-next .case-links :where(a), .oxo-app-nav .app-nav-bottom > :where(a)):is(:hover, :focus-visible),
body #edit-enquiry:is(:hover, :focus-visible) {
  background: var(--oxo-action-fill-hover);
  border-color: var(--oxo-action-border-hover);
  color: var(--oxo-action-label);
  box-shadow: inset 0 1px 0 #f1f8ff38, inset 0 -1px 0 #00000030,
    0 3px 5px #00000026, 0 10px 24px #0000002b;
  transform: none;
}
body :is(.button-primary, .header .nav-contact, .header .mobile-start,
  .oxo-footer .oxo-footer-cta, .insight-help .button,
  .case-next .case-links a:first-child, .oxo-app-nav .app-nav-bottom > a):is(:hover, :focus-visible) {
  background: var(--oxo-action-fill-hover);
  border-color: var(--oxo-action-border-hover);
  color: var(--oxo-action-label);
  box-shadow: inset 0 1px 0 #fff, inset 0 -1px 0 #344b6154,
    0 1px 0 #71889a, 0 3px 5px #00000033, 0 10px 24px #00000030;
  text-shadow: 0 1px 0 #ffffff9c;
}
body :is(.button, .header .nav-contact, .header .mobile-start,
  .oxo-footer .oxo-footer-cta, .case-visit-button, .ai-edge .ai-edge-link,
  .case-next .case-links :where(a), .oxo-app-nav .app-nav-bottom > :where(a)):active,
body .case-next .case-links a:first-child:active,
body #edit-enquiry:active {
  background: var(--oxo-action-fill-press);
  box-shadow: inset 0 2px 4px #07162430, 0 1px 2px #00000030;
  transform: translateY(1px);
}

/* Existing shine pseudo-elements remain disabled. Actual arrow glyphs and
   directions are preserved inside a softly recessed gunmetal socket. */
body :is(.button, .header .nav-contact, .header .mobile-start)::before,
body :is(.button, .header .nav-contact, .header .mobile-start)::after {
  content: none;
  display: none;
  animation: none;
}
body :is(.button, .header .nav-contact, .header .mobile-start,
  .oxo-footer .oxo-footer-cta, .case-visit-button, .ai-edge .ai-edge-link,
  .case-next .case-links :where(a)) > span[aria-hidden="true"],
body .oxo-app-nav .app-nav-bottom > a > span {
  background: var(--oxo-action-icon-fill);
  border-color: var(--oxo-action-icon-line);
  color: var(--oxo-action-icon-color);
  box-shadow: inset 0 1px 2px #07152280, 0 1px 0 #eff7ff28;
  text-shadow: 0 1px 1px #00000050;
  transform: none;
}
body :is(.button-primary, .header .nav-contact, .header .mobile-start,
  .oxo-footer .oxo-footer-cta, .insight-help .button,
  .case-next .case-links a:first-child) > span[aria-hidden="true"],
body .oxo-app-nav .app-nav-bottom > a > span {
  box-shadow: inset 0 1px 3px #061524a6, 0 1px 0 #ffffffb3;
}
body #edit-enquiry > span[aria-hidden="true"] {
  box-shadow: inset 0 1px 2px #07152280, 0 1px 0 #eff7ff28;
}

/* Keep the original hero scene measurements exactly: finish changes only. */
body .phoenix-stage .phoenix-intro .button {
  min-height: 49px;
  padding: 8px 10px 8px 18px;
  font-size: 13px;
  letter-spacing: -.01em;
}
body .ai-edge .ai-edge-link { border-color: var(--oxo-glass-line) !important; }
body .ai-edge .ai-edge-link:is(:hover, :focus-visible) { border-color: #a7bacba8 !important; }

/* Smaller controls share the glass, edge reflection and neutral typography. */
body :is(.header .mobile-menu, .app-nav-top button, .dialog-close,
  .oxo-discovery-clear, .page-links a, .insights-categories a,
  .insights-pagination a, .app-nav-quick a) {
  background: var(--oxo-glass);
  border-color: var(--oxo-glass-line);
  color: var(--oxo-interface-text);
  box-shadow: inset 0 1px 0 #f1f8ff24, 0 3px 10px #00000020;
  text-shadow: 0 1px 1px #00000040;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
body :is(.header .mobile-menu, .app-nav-top button, .dialog-close,
  .oxo-discovery-clear, .page-links a, .insights-categories a,
  .insights-pagination a, .app-nav-quick a):is(:hover, :focus-visible) {
  background: var(--oxo-glass-hover);
  border-color: #a7bacba8;
  color: #fff;
  box-shadow: inset 0 1px 0 #f1f8ff38, 0 4px 12px #00000024;
}
body :is(.header .mobile-menu, .app-nav-top button, .dialog-close,
  .oxo-discovery-clear, .page-links a, .insights-categories a,
  .insights-pagination a, .app-nav-quick a):active {
  background: var(--oxo-glass-press);
  box-shadow: inset 0 1px 3px #00000040;
}
body .header .mobile-menu[aria-expanded="true"] {
  background: var(--oxo-glass-hover);
  border-color: #b0c9db;
}
/* The menu appears through 1100px, but the old column rule stops at 760px. */
body .header .mobile-menu {
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
body :is(.insights-categories a, .insights-pagination a)[aria-current="page"] {
  background: var(--oxo-titanium);
  border-color: #e7eef4c9;
  color: var(--oxo-titanium-label);
  font-weight: 600;
  text-shadow: 0 1px 0 #ffffff80;
  box-shadow: inset 0 1px 0 #ffffffdb, inset 0 -1px 0 #344b6140, 0 3px 10px #00000024;
}

/* A modest navigation lift: retain dropdown illustrations, grid, animation,
   positions and current responsive breakpoint. */
body .header nav[aria-label="Main navigation"] > a:not(.nav-contact),
body .header .nav-group > summary {
  color: #dce5ee;
  font-size: 14px !important;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: .005em;
  text-shadow: 0 1px 1px #00000040;
}
body .header .nav-group > summary::after { color: #a5b9c9; }
body .oxo-app-nav .app-nav-label strong {
  color: #edf3f8;
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: -.01em;
}
body .oxo-app-nav .app-nav-label small { color: #b1bfcb; }
body .oxo-app-nav .app-nav-body nav > :is(button, a) {
  background: linear-gradient(145deg, #8da4b31a, #7b91a207 65%), #152431cc;
  border-color: #94a8b747;
  box-shadow: inset 0 1px 0 #ffffff13, 0 4px 12px #00000014;
}
body .oxo-app-nav .app-nav-body nav > :is(button, a):is(:hover, :focus-visible) {
  background: var(--oxo-glass-hover);
  border-color: #a7bacba8;
}
body .oxo-app-nav .app-nav-body nav > :is(button, a):active { background: var(--oxo-glass-press); }
body :is(.work .project-open, .service-list .service-arrow,
  .oxo-project-nav a > span[aria-hidden="true"], .oxo-app-nav .app-nav-arrow) {
  border-color: #9ab0c15c;
  background: linear-gradient(155deg, #43607485, #162a3be0);
  color: #deedf7;
  box-shadow: inset 0 1px 0 #e9f4ff24, 0 2px 5px #00000020;
}
body .work .project-open { color: #deedf7 !important; }
body .work .project:is(:hover, :focus-visible) .project-open {
  border-color: #ecf4fa;
  background: var(--oxo-titanium);
  color: var(--oxo-titanium-label) !important;
  box-shadow: inset 0 1px 0 #fff, 0 2px 7px #00000030;
}
body .service-list .service:is(:hover, :focus-visible) .service-arrow,
body .oxo-project-nav a:is(:hover, :focus-visible) > span[aria-hidden="true"] {
  background: var(--oxo-glass-hover);
  border-color: #b0c9db;
  color: #fff;
}

/* Enquiry: a single smoked-glass surface and inset, high-contrast controls.
   The form stays stationary through hover, focus, validation and typing. */
body .enquiry {
  background: radial-gradient(ellipse at 80% 35%, #23425a38, transparent 60%),
    linear-gradient(180deg, #101923, #0e1721);
}
body .enquiry .enquiry-grid { align-items: start; }
body .enquiry .enquiry-intro { padding-top: 26px; }
body .enquiry .enquiry-intro > p { color: #b6c2ce; }
body .enquiry .enquiry-steps { gap: 22px; color: #d4dee8; }
body .enquiry .enquiry-steps li { align-items: baseline; }
body .enquiry .enquiry-steps li > span {
  color: #8aa7bd;
  padding-right: 13px;
  border-right: 1px solid #8ba1b340;
  line-height: 1.5;
}
body .enquiry form,
body .enquiry form:hover,
body .enquiry form:focus-within {
  margin: 0;
  padding: 34px;
  border: 1px solid #91a5b452;
  border-radius: 22px;
  background: linear-gradient(145deg, #2c3c4bc9 0%, #172533eb 44%, #101c29f5 100%);
  box-shadow: inset 0 1px 0 #f0f7ff24, inset 0 -1px 0 #00000036,
    0 8px 18px #00000014, 0 24px 60px #00000030;
  backdrop-filter: blur(18px) saturate(.85);
  -webkit-backdrop-filter: blur(18px) saturate(.85);
  color: var(--oxo-interface-text);
  color-scheme: dark;
  transform: none;
  transition: none;
  animation: none;
}
body .enquiry .form-heading {
  align-items: baseline;
  flex-wrap: wrap;
  gap: 8px 18px;
  margin: 0 0 26px;
  padding-bottom: 22px;
  border-bottom: 1px solid #a9bdcd29;
  color: #f1f5f9;
}
body .enquiry .form-heading h3 {
  margin: 0;
  color: inherit;
  font-size: 25px;
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: -.035em;
}
body .enquiry .form-heading > span { color: #aebdcb; font-size: 12px; }
body .enquiry form label {
  display: block;
  margin: 0 0 9px;
  color: #e0e8f0;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: .005em;
}
body .enquiry form label > span { color: #a9b8c6; font-size: 11px; font-weight: 400; }
body .enquiry .form-pair {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-bottom: 24px;
}
body .enquiry form :is(input, select, textarea),
body .oxo-discovery input[type="search"] {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 52px;
  padding: 13px 14px;
  border: 1px solid #6b7f90;
  border-radius: 10px;
  background: linear-gradient(180deg, #0b1722, #101d29);
  color: #f0f5fa;
  box-shadow: inset 0 1px 3px #02081066, 0 1px 0 #d2e9ff0a;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  color-scheme: dark;
  caret-color: #d6ecff;
  transition: border-color 160ms ease, box-shadow 160ms ease;
}
body .enquiry form :is(input, textarea)::placeholder,
body .oxo-discovery input[type="search"]::placeholder { color: #a8b8c6; opacity: 1; }
body .enquiry form :is(input, select, textarea):hover,
body .oxo-discovery input[type="search"]:hover { border-color: #8b9faf; }
body .enquiry form :is(input, select, textarea):focus,
body .oxo-discovery input[type="search"]:focus {
  border-color: #c0e5ff;
  outline: 2px solid #8acfff;
  outline-offset: 3px;
  box-shadow: inset 0 1px 3px #02081066, 0 0 0 5px #5bbaff12;
}
body .enquiry form :is(input, textarea):autofill {
  color: #f0f5fa;
  background: #101d29;
}
body .enquiry form :is(input, textarea):-webkit-autofill {
  -webkit-text-fill-color: #f0f5fa;
  caret-color: #d6ecff;
  box-shadow: 0 0 0 1000px #101d29 inset;
}
body .enquiry form :is(input, select, textarea):is(:user-invalid, [aria-invalid="true"]) {
  border-color: #d8979b;
}
body .enquiry form select { margin-bottom: 0; padding-right: 10px; }
body .enquiry form select:invalid { color: #a8b8c6; }
body .enquiry form select option { background: #111f2d; color: #f0f5fa; }
body .enquiry form textarea { display: block; min-height: 148px; padding: 14px 16px; line-height: 1.65; }
body .enquiry input[type="date"] { height: 52px; color-scheme: dark; }
body .enquiry input[type="date"]::-webkit-calendar-picker-indicator { opacity: .85; cursor: pointer; }

body .enquiry .enquiry-optional {
  margin: 24px 0 0;
  padding: 0 18px;
  border: 1px solid #8fa5b347;
  border-radius: 12px;
  background: linear-gradient(145deg, #b6d1e50a, #101c281f);
  box-shadow: inset 0 1px 0 #ffffff0c;
  color: #e1eaf2;
}
body .enquiry .enquiry-optional > summary {
  margin: 0 -18px;
  padding: 17px 58px 17px 18px;
  border-radius: 11px;
  color: #e1eaf2;
  font-size: 14px;
  font-weight: 600;
}
body .enquiry .enquiry-optional > summary > span {
  margin-top: 4px;
  color: #acbdcc;
  font-size: 12px;
}
body .enquiry .enquiry-optional > summary::after {
  display: grid;
  place-items: center;
  right: 17px;
  width: 28px;
  height: 28px;
  border: 1px solid #9eb5c84d;
  border-radius: 50%;
  background: #9ac1dc08;
  color: #d0e0eb;
  font-size: 20px;
}
body .enquiry .enquiry-optional > summary:hover { background: #c2ddef08; }
body .enquiry .enquiry-optional > summary:focus-visible {
  outline: 2px solid #b4e0ff;
  outline-offset: 3px;
}
body .enquiry .enquiry-optional[open] { padding-bottom: 20px; }
body .enquiry .enquiry-optional[open] > summary {
  margin-bottom: 20px;
  border-bottom: 1px solid #9ab2c529;
  border-radius: 11px 11px 0 0;
}
body .enquiry .enquiry-optional-fields { gap: 20px; }
body .enquiry .enquiry-optional .form-pair { margin-bottom: 0; }
body .enquiry .form-privacy {
  margin-top: 22px;
  color: #b2bfcc;
  font-size: 12px;
  line-height: 1.75;
}
body .enquiry .form-privacy a { color: #d9ebfa; text-decoration-thickness: 1px; text-underline-offset: 3px; }
body .enquiry .form-privacy a:hover { color: #fff; }
body .enquiry .form-bottom { margin-top: 24px; gap: 13px; }
body .enquiry .form-bottom > .form-mode { color: #aabcca; font-size: 12px; letter-spacing: .01em; }
body .enquiry .form-bottom .button {
  min-height: 52px;
  border-radius: 12px;
  padding: 9px 11px 9px 20px;
}
body .enquiry .form-bottom .button:focus-visible { outline-color: #b4e0ff; }
body .enquiry .form-feedback {
  margin-top: 22px;
  padding: 16px 18px;
  border: 1px solid #6c9c88;
  border-radius: 12px;
  background: #16332b;
  color: #d8f3e7;
  font-size: 14px;
  line-height: 1.65;
  box-shadow: inset 0 1px 0 #e3fff00a;
}
body .enquiry .form-feedback.is-error {
  border-color: #b57e85;
  background: #372127;
  color: #ffe0e3;
}
body .enquiry .form-feedback:focus { outline: 2px solid #b4e0ff; outline-offset: 4px; }
body .enquiry .form-feedback[hidden] { display: none; }

/* Discovery search and the existing enquiry review use the same form material. */
body .oxo-discovery {
  border-color: #91a5b452;
  background: linear-gradient(145deg, #2c3c4bb3, #142230eb);
  box-shadow: inset 0 1px 0 #f0f7ff1a, 0 10px 28px #00000024;
}
body .oxo-discovery > label { color: #e1eaf2; }
body .oxo-discovery-clear { min-height: 52px; }
body .oxo-discovery .oxo-discovery-status { color: #acbdcc; }
body .review-dialog {
  padding: 38px;
  border-color: #8fa6b77a;
  border-radius: 22px;
  background: linear-gradient(145deg, #2c3c4bf5, #101d29fc 65%);
  color: #edf2f7;
  box-shadow: inset 0 1px 0 #f0f7ff29, 0 30px 80px #00000070;
}
body .review-dialog > .eyebrow { display: block; padding-right: 40px; color: #a8c1d3; }
body .review-dialog h2 { margin: 24px 0; font-size: clamp(34px, 4vw, 48px); }
body .review-dialog dt { margin-top: 20px; color: #aabfce; font-size: 11px; line-height: 1.5; }
body .review-dialog dd { margin-top: 6px; color: #f0f4f8; font-size: 15px; line-height: 1.65; }
body .review-dialog .review-notice {
  margin: 26px 0 22px;
  padding-top: 22px;
  border-top: 1px solid #9ab2c529;
  color: #b6c6d2;
  font-size: 13px;
  line-height: 1.7;
}

/* Existing disabled and loading state: retain the native handler contract. */
body .enquiry form .button[type="submit"]:disabled {
  background: linear-gradient(165deg, #bdc8d1, #9dabb8);
  border-color: #c8d3dd;
  color: #243847;
  box-shadow: inset 0 1px 0 #ffffff80, inset 0 -1px 0 #344b6140;
  text-shadow: none;
}
body .enquiry form .button[type="submit"]:disabled > span[aria-hidden="true"] {
  border-color: #344e6640;
  border-top-color: #243e54;
  background: none;
  box-shadow: none;
  text-shadow: none;
}
body :is(.button, .header .nav-contact, .header .mobile-start,
  .oxo-footer .oxo-footer-cta, .case-visit-button, .ai-edge .ai-edge-link,
  .case-next .case-links a, .header .mobile-menu, .app-nav-top button,
  .dialog-close, .oxo-discovery-clear, .page-links a, .insights-categories a,
  .insights-pagination a, .app-nav-quick a, .oxo-app-nav .app-nav-bottom > a):focus-visible {
  outline: 3px solid var(--oxo-interface-focus);
  outline-offset: 3px;
}

@media (max-width: 1100px) and (min-width: 981px) {
  body .enquiry form,
  body .enquiry form:hover,
  body .enquiry form:focus-within { padding: 26px; }
}
@media (max-width: 980px) {
  body .enquiry .enquiry-intro { padding-top: 0; }
}
@media (max-width: 640px) {
  body .enquiry form,
  body .enquiry form:hover,
  body .enquiry form:focus-within { padding: 25px 20px; border-radius: 18px; }
  body .enquiry .form-heading { margin-bottom: 24px; padding-bottom: 20px; }
  body .enquiry .form-heading h3 { font-size: 24px; }
  body .enquiry .form-pair { grid-template-columns: minmax(0, 1fr); gap: 22px; }
  body .enquiry .enquiry-optional { padding-right: 16px; padding-left: 16px; }
  body .enquiry .enquiry-optional > summary { margin-right: -16px; margin-left: -16px; padding-left: 16px; }
  body .enquiry .enquiry-optional-fields { gap: 22px; }
  body .enquiry .enquiry-steps { gap: 18px; }
  body .review-dialog { padding: 30px 22px; border-radius: 18px; }
  body .review-dialog #edit-enquiry { width: 100%; }
  body .oxo-footer .oxo-footer-contact > a[href*="/contact/"] {
    background: var(--oxo-glass);
    border-color: var(--oxo-glass-line);
    color: var(--oxo-interface-text);
    box-shadow: inset 0 1px 0 #f1f8ff24, 0 3px 10px #00000020;
    text-shadow: 0 1px 1px #00000040;
  }
  body .oxo-footer .oxo-footer-contact > a[href*="/contact/"]:is(:hover, :focus-visible) {
    background: var(--oxo-glass-hover);
    border-color: #a7bacba8;
    color: #fff;
  }
}
@media (prefers-reduced-motion: reduce) {
  body :is(.button, .header .nav-contact, .header .mobile-start,
    .oxo-footer .oxo-footer-cta, .case-visit-button, .ai-edge .ai-edge-link,
    .case-next .case-links a, .header .mobile-menu, .app-nav-top button,
    .dialog-close, .oxo-discovery-clear, .page-links a, .insights-categories a,
    .insights-pagination a, .app-nav-quick a, .oxo-app-nav .app-nav-bottom > a),
  body .enquiry form :is(input, select, textarea),
  body .oxo-discovery input[type="search"] { transition: none; }
  body :is(.button, .header .nav-contact, .header .mobile-start,
    .oxo-footer .oxo-footer-cta, .case-visit-button, .ai-edge .ai-edge-link,
    .case-next .case-links a, .oxo-app-nav .app-nav-bottom > a):active { transform: none; }
}
@media (forced-colors: active) {
  body :is(.button, .header .nav-contact, .header .mobile-start,
    .oxo-footer .oxo-footer-cta, .case-visit-button, .ai-edge .ai-edge-link,
    .case-next .case-links a, .header .mobile-menu, .app-nav-top button,
    .dialog-close, .oxo-discovery-clear, .page-links a, .insights-categories a,
    .insights-pagination a, .app-nav-quick a, .oxo-app-nav .app-nav-bottom > a) {
    background: ButtonFace !important;
    color: ButtonText !important;
    border-color: ButtonText !important;
    text-shadow: none !important;
    box-shadow: none !important;
  }
  body .enquiry form :is(input, select, textarea),
  body .oxo-discovery input[type="search"] { background: Field; color: FieldText; border-color: FieldText; box-shadow: none; }
}

/* /oxo-materials.368812e72a1e.css */
/* OXO revision 5 — clear glass navigation and polished metal actions.
   Load after all current public stylesheets. No sizing changes to the header,
   logo or homepage scene; no form fields or About playback controls are styled. */

:root {
  --oxo-v5-metal: repeating-linear-gradient(0deg, #ffffff06 0 1px, #20364a04 1px 2px),
    linear-gradient(168deg, #ffffff 0%, #e8eff5 26%, #b0beca 47%, #edf3f7 52%, #cbd6df 77%, #91a2b1 100%);
  --oxo-v5-metal-hover: repeating-linear-gradient(0deg, #ffffff08 0 1px, #20364a03 1px 2px),
    linear-gradient(168deg, #ffffff 0%, #f1f5f9 26%, #bcc9d3 47%, #f8fbfd 52%, #d4dfe7 77%, #a2b3c1 100%);
  --oxo-v5-metal-press: linear-gradient(168deg, #a7b6c3, #d5dfe7 48%, #becbd5 100%);
  --oxo-v5-metal-ink: #142838;
  --oxo-v5-glass: linear-gradient(155deg, #dbeefa14 0%, #a9c8dc05 42%, #08131e12 100%), #172532e6;
  --oxo-v5-glass-hover: linear-gradient(155deg, #e8f5ff20 0%, #b0d0e00a 42%, #07121b12 100%), #223645e8;
  --oxo-v5-glass-press: linear-gradient(155deg, #0a1622e6, #213342f2);
  --oxo-v5-glass-line: #b5c9d568;
  --oxo-v5-text: #f0f5f8;
  --oxo-v5-focus: #c8eaff;
}

/* Keep the existing 52px body-action geometry. The material has a crisp
   reflected band and a fine lower bevel; its sheen does not animate. */
body :is(.button, .header .nav-contact, .header .mobile-start,
  .oxo-footer .oxo-footer-cta, .case-visit-button, .ai-edge .ai-edge-link,
  .case-next .case-links a, .case-next .case-links a:first-child,
  .oxo-app-nav .app-nav-bottom > a) {
  --oxo-action-fill: var(--oxo-v5-glass);
  --oxo-action-fill-hover: var(--oxo-v5-glass-hover);
  --oxo-action-fill-press: var(--oxo-v5-glass-press);
  --oxo-action-border: var(--oxo-v5-glass-line);
  --oxo-action-border-hover: #d7e7f2a1;
  --oxo-action-label: var(--oxo-v5-text);
  background: var(--oxo-action-fill);
  border-color: var(--oxo-action-border);
  border-radius: 12px;
  color: var(--oxo-action-label);
  box-shadow: inset 0 1px 0 #f0f8ff36, inset 0 -1px 0 #0000004d,
    0 2px 2px #00000026, 0 8px 20px #00000026;
  backdrop-filter: blur(14px) saturate(1.05);
  -webkit-backdrop-filter: blur(14px) saturate(1.05);
  font-weight: 600;
  letter-spacing: 0;
  text-shadow: 0 1px 1px #0000005c;
  transition: border-color 160ms ease, box-shadow 160ms ease, color 160ms ease;
}

body :is(.button-primary, .oxo-footer .oxo-footer-cta, .insight-help .button,
  .case-next .case-links a:first-child) {
  --oxo-action-fill: var(--oxo-v5-metal);
  --oxo-action-fill-hover: var(--oxo-v5-metal-hover);
  --oxo-action-fill-press: var(--oxo-v5-metal-press);
  --oxo-action-border: #eaf6ffcf;
  --oxo-action-border-hover: #ffffff;
  --oxo-action-label: var(--oxo-v5-metal-ink);
  background: var(--oxo-action-fill);
  border-color: var(--oxo-action-border);
  color: var(--oxo-action-label);
  box-shadow: inset 0 1px 0 #ffffff, inset 0 -2px 2px #3d53664d,
    0 1px 0 #607487, 0 4px 7px #00000038, 0 9px 20px #00000029;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  text-shadow: 0 1px 0 #ffffffb8;
}

body #edit-enquiry {
  --oxo-action-fill: var(--oxo-v5-glass);
  --oxo-action-fill-hover: var(--oxo-v5-glass-hover);
  --oxo-action-fill-press: var(--oxo-v5-glass-press);
  --oxo-action-border: var(--oxo-v5-glass-line);
  --oxo-action-border-hover: #d7e7f2a1;
  --oxo-action-label: var(--oxo-v5-text);
  background: var(--oxo-action-fill);
  border-color: var(--oxo-action-border);
  color: var(--oxo-action-label);
  box-shadow: inset 0 1px 0 #f0f8ff36, inset 0 -1px 0 #0000004d, 0 8px 20px #00000026;
  text-shadow: 0 1px 1px #0000005c;
}

body :is(.button, .header .nav-contact, .header .mobile-start,
  .oxo-footer .oxo-footer-cta, .case-visit-button, .ai-edge .ai-edge-link,
  .case-next .case-links a, .case-next .case-links a:first-child,
  .oxo-app-nav .app-nav-bottom > a):is(:hover, :focus-visible),
body #edit-enquiry:is(:hover, :focus-visible) {
  background: var(--oxo-action-fill-hover);
  border-color: var(--oxo-action-border-hover);
  color: var(--oxo-action-label);
  box-shadow: inset 0 1px 0 #f5fbff66, inset 0 -1px 0 #00000038,
    0 3px 5px #00000030, 0 9px 22px #00000030;
  transform: none;
}
body :is(.button-primary, .oxo-footer .oxo-footer-cta, .insight-help .button,
  .case-next .case-links a:first-child):is(:hover, :focus-visible) {
  box-shadow: inset 0 1px 0 #ffffff, inset 0 -2px 2px #3d53664d,
    0 1px 0 #71889a, 0 4px 8px #00000040, 0 10px 24px #00000030;
  text-shadow: 0 1px 0 #ffffffb8;
}
body :is(.button, .header .nav-contact, .header .mobile-start,
  .oxo-footer .oxo-footer-cta, .case-visit-button, .ai-edge .ai-edge-link,
  .case-next .case-links a, .case-next .case-links a:first-child,
  .oxo-app-nav .app-nav-bottom > a):active,
body #edit-enquiry:active {
  background: var(--oxo-action-fill-press);
  box-shadow: inset 0 2px 4px #07162440, 0 1px 2px #00000030;
  transform: translateY(1px);
}

/* Plain directional glyphs replace the raised round arrow sockets. The text
   label and direction stay intact, including the submit button's loading state. */
body :is(.button, .header .nav-contact, .header .mobile-start,
  .oxo-footer .oxo-footer-cta, .case-visit-button, .ai-edge .ai-edge-link,
  .case-next .case-links a, .case-next .case-links a:first-child) > span[aria-hidden="true"],
body .oxo-app-nav .app-nav-bottom > a > span,
body #edit-enquiry > span[aria-hidden="true"] {
  display: inline-grid;
  place-items: center;
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  margin: 0 3px 0 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  color: inherit;
  box-shadow: none;
  font-size: 20px;
  line-height: 1;
  text-shadow: inherit;
  transform: none;
  transition: none;
}
body :is(.button, .header .nav-contact, .header .mobile-start)::before,
body :is(.button, .header .nav-contact, .header .mobile-start)::after {
  content: none;
  display: none;
  animation: none;
}

/* Retain the exact established homepage CTA and its vertical contribution. */
body .phoenix-stage .phoenix-intro .button {
  min-height: 49px;
  padding: 8px 10px 8px 18px;
  font-size: 13px;
  letter-spacing: -.01em;
}
body .phoenix-stage .phoenix-intro .button > span[aria-hidden="true"] {
  flex-basis: 20px;
  width: 20px;
  height: 20px;
}
body .enquiry form .button[type="submit"]:disabled > span[aria-hidden="true"] {
  border-radius: 50%;
}

/* The opaque tint is a readable fallback. Supported browsers reveal a
   softened portion of the scene through the glass, not through the lettering. */
body .header[data-oxo-glass="5"] {
  isolation: isolate;
  border: 1px solid #bed7e75c !important;
  border-radius: 20px;
  background: linear-gradient(115deg, #d8ecfa16, #d8ecfa00 42%, #d8ecfa0b), #111d29f5 !important;
  box-shadow: inset 0 1px 0 #edf8ff52, inset 0 -1px 0 #02081066,
    0 1px 0 #a9ccdf17, 0 10px 30px #00000047 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  overflow: visible !important;
}
body .header[data-oxo-glass="5"]::before {
  content: "";
  position: absolute;
  inset: 1px;
  z-index: -1;
  pointer-events: none;
  border-radius: inherit;
  background: linear-gradient(177deg, #effaff12 0%, #effaff03 32%, transparent 47%),
    linear-gradient(90deg, #d4edff0b, transparent 24%, transparent 78%, #d4edff08);
}
body .header[data-oxo-glass="5"]::after {
  content: "";
  position: absolute;
  left: 24px;
  right: 24px;
  top: 0;
  height: 1px;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, #e6f7ff8c 16%, #e6f7ff29 72%, transparent);
}
@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  body .header[data-oxo-glass="5"] {
    background: linear-gradient(115deg, #d8ecfa15, #d8ecfa00 42%, #d8ecfa0a),
      linear-gradient(180deg, #111e2bbd, #09131fba) !important;
    backdrop-filter: blur(24px) saturate(1.12) !important;
    -webkit-backdrop-filter: blur(24px) saturate(1.12) !important;
  }
}
body .header[data-oxo-glass="5"] .brand {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  flex-shrink: 0;
  border-radius: 4px;
}
body .header[data-oxo-glass="5"] .brand img {
  display: block;
  filter: drop-shadow(0 1px 1px #0000005c);
}
body .header[data-oxo-glass="5"] nav[aria-label="Main navigation"] > a:not(.nav-contact),
body .header[data-oxo-glass="5"] .nav-group > summary {
  min-height: 44px;
  color: #eaf1f6;
  font-size: 14px !important;
  font-weight: 600;
  letter-spacing: 0;
  text-shadow: 0 1px 2px #00000066;
}
body .header[data-oxo-glass="5"] nav > a:not(.nav-contact):is(:hover, :focus-visible),
body .header[data-oxo-glass="5"] .nav-group > summary:is(:hover, :focus-visible),
body .header[data-oxo-glass="5"] .nav-group[open] > summary {
  background: #eff7ff12 !important;
  color: #ffffff !important;
}
body .header[data-oxo-glass="5"] .nav-group > summary::after { color: #c1d2de; }
body .header[data-oxo-glass="5"] nav > a:not(.nav-contact)::after { background: #d6ebf8; }

/* The concise header invitation is deliberately quieter than body actions. */
body .header[data-oxo-glass="5"] a:is(.nav-contact, .mobile-start) {
  --oxo-action-fill: linear-gradient(155deg, #eef8ff18, #d1e8f006 54%), #1b2c3a8c;
  --oxo-action-fill-hover: linear-gradient(155deg, #eef8ff26, #d1e8f00c 54%), #293f50b3;
  --oxo-action-fill-press: #142633e0;
  --oxo-action-border: #c0d9e75c;
  --oxo-action-border-hover: #e6f5ff9e;
  --oxo-action-label: #f1f7fb;
  min-height: 46px;
  padding: 10px 14px;
  gap: 12px;
  border-radius: 11px;
  background: var(--oxo-action-fill);
  border-color: var(--oxo-action-border);
  color: var(--oxo-action-label);
  box-shadow: inset 0 1px 0 #eff9ff3b, inset 0 -1px 0 #00000040, 0 3px 8px #0000001f;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.3;
  text-shadow: 0 1px 1px #00000066;
  white-space: nowrap;
}
body .header[data-oxo-glass="5"] a:is(.nav-contact, .mobile-start):is(:hover, :focus-visible) {
  background: var(--oxo-action-fill-hover);
  border-color: var(--oxo-action-border-hover);
  color: var(--oxo-action-label);
  box-shadow: inset 0 1px 0 #eff9ff57, inset 0 -1px 0 #00000040, 0 3px 10px #00000026;
  text-shadow: 0 1px 1px #00000066;
  transform: none;
}
body .header[data-oxo-glass="5"] a:is(.nav-contact, .mobile-start):active {
  background: var(--oxo-action-fill-press);
  box-shadow: inset 0 1px 3px #0000004d;
  transform: none;
}
body .header[data-oxo-glass="5"] a:is(.nav-contact, .mobile-start) > span[aria-hidden="true"] {
  flex-basis: 16px;
  width: 16px;
  height: 18px;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: none;
  color: inherit;
  box-shadow: none;
  font-size: 18px;
  text-shadow: inherit;
  transform: none;
}
body .header[data-oxo-glass="5"] .mobile-menu {
  width: 44px;
  height: 44px;
  min-width: 44px;
  min-height: 44px;
  flex: 0 0 44px;
  border-color: #c0d9e75c;
  border-radius: 11px;
  background: linear-gradient(155deg, #eef8ff13, #d1e8f004 54%), #1525338c;
  box-shadow: inset 0 1px 0 #eff9ff33, inset 0 -1px 0 #00000040;
}
body .header[data-oxo-glass="5"] .mobile-menu:is(:hover, :focus-visible, [aria-expanded="true"]) {
  background: #314858c7;
  border-color: #d6eaf894;
}

/* Keep the existing dropdown drawings and their layout. Only the outer
   material and hover displacement follow the quieter navigation treatment. */
body .header[data-oxo-glass="5"] .nav-submenu {
  background: linear-gradient(135deg, #d7efff0d, transparent 50%), #0e1b28f2 !important;
  border-color: #bad4e563 !important;
  box-shadow: inset 0 1px 0 #eff8ff38, 0 20px 48px #0000007a !important;
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
}
body .header[data-oxo-glass="5"] .nav-submenu a:is(:hover, :focus-visible) {
  background: #d9ecfa12 !important;
  border-color: #b1d0e373 !important;
  transform: none;
}

body :is(.button, .header .nav-contact, .header .mobile-start,
  .oxo-footer .oxo-footer-cta, .case-visit-button, .ai-edge .ai-edge-link,
  .case-next .case-links a, .oxo-app-nav .app-nav-bottom > a):focus-visible,
body .header[data-oxo-glass="5"] :is(a, summary, button):focus-visible {
  outline: 3px solid var(--oxo-v5-focus);
  outline-offset: 4px;
}

@media (max-width: 760px) {
  body .header[data-oxo-glass="5"] { border-radius: 15px; }
  body .header[data-oxo-glass="5"] a.mobile-start {
    min-height: 44px;
    padding: 9px 12px;
    gap: 9px;
    font-size: 12px;
  }
}
@media (prefers-reduced-motion: reduce) {
  body :is(.button, .header .nav-contact, .header .mobile-start,
    .oxo-footer .oxo-footer-cta, .case-visit-button, .ai-edge .ai-edge-link,
    .case-next .case-links a, .oxo-app-nav .app-nav-bottom > a) { transition: none; }
  body :is(.button, .oxo-footer .oxo-footer-cta, .case-visit-button,
    .ai-edge .ai-edge-link, .case-next .case-links a,
    .oxo-app-nav .app-nav-bottom > a):active { transform: none; }
}
@media (forced-colors: active) {
  body .header[data-oxo-glass="5"] {
    background: Canvas !important;
    border-color: CanvasText !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
  body .header[data-oxo-glass="5"]::before,
  body .header[data-oxo-glass="5"]::after { display: none; }
  body .header[data-oxo-glass="5"] a:is(.nav-contact, .mobile-start),
  body .header[data-oxo-glass="5"] .mobile-menu {
    background: ButtonFace !important;
    color: ButtonText !important;
    border-color: ButtonText !important;
    box-shadow: none !important;
  }
  body .header[data-oxo-glass="5"] nav > a:not(.nav-contact),
  body .header[data-oxo-glass="5"] .nav-group > summary { color: LinkText !important; }
}

/* /oxo-dubai-integration.61989e0a9fdb.css */
/* Revision 6: one new service area, with existing office records intact. */
.oxo-footer-offices[data-oxo-location-list="6"] {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.oxo-footer-offices[data-oxo-location-list="6"] > section {
  min-width: 0;
  padding-inline: 22px;
}

.oxo-footer-offices[data-oxo-location-list="6"] > section:first-child {
  padding-left: 0;
}

.oxo-footer-offices[data-oxo-location-list="6"] > section:last-child {
  padding-right: 0;
}

.oxo-footer-service-area h3 > span {
  display: block;
  margin-top: 5px;
  color: #aab8c3;
  font-size: 11px;
  line-height: 1.5;
  font-weight: 400;
  letter-spacing: 0;
}

.oxo-footer-offices .oxo-footer-service-area > p {
  max-width: 24ch;
  margin: 0 0 12px;
  font-size: 12px;
  line-height: 1.65;
}

.enquiry-location[data-oxo-service-areas="6"] {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  max-width: 46ch;
}

.enquiry-location[data-oxo-service-areas="6"] .status-dot {
  flex: 0 0 5px;
  margin-top: .55em;
}

.contact-hero ~ .oxo-dubai-contact {
  box-sizing: border-box;
  max-width: 1600px;
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--page-pad, 24px);
  padding-right: var(--page-pad, 24px);
}

.oxo-dubai-contact > div {
  min-width: 0;
}

.oxo-dubai-contact p {
  max-width: 64ch;
  margin: 0 0 18px;
  color: #aab8c3;
  line-height: 1.75;
}

@media (max-width: 1100px) and (min-width: 641px) {
  .oxo-footer-offices[data-oxo-location-list="6"] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 26px !important;
  }

  .oxo-footer-offices[data-oxo-location-list="6"] > section:nth-child(odd) {
    padding-left: 0;
    border-left: 0;
  }

  .oxo-footer-offices[data-oxo-location-list="6"] > section:nth-child(even) {
    padding-right: 0;
  }
}

@media (max-width: 640px) {
  .oxo-footer-offices[data-oxo-location-list="6"] {
    grid-template-columns: 1fr;
  }

  .oxo-footer-offices[data-oxo-location-list="6"] > section {
    padding-inline: 0;
    border-left: 0;
  }
}

/* /oxo-brand-silver.89ecc0b54b6f.css */
/* Preserve the selected silver image material; geometry and layout stay native. */
img[data-oxo-brand="silver"],
.header .brand img[data-oxo-brand="silver"],
.oxo-footer-brand-copy > img[data-oxo-brand="silver"],
.office-header > a > img[data-oxo-brand="silver"] {
  filter: none !important;
}

/* /oxo-privacy-controls.b0c869ae71d7.css */
/* OXO optional analytics controls: fixed overlay, no hero/layout-height change. */
.oxo-privacy-bar[hidden], .oxo-cookie-settings[hidden], .oxo-privacy-status[hidden] { display: none !important; }
.oxo-privacy-bar {
  position: fixed; z-index: 1100; inset: auto 24px 24px;
  box-sizing: border-box; width: min(1040px, calc(100% - 48px)); margin-inline: auto;
  display: flex; align-items: center; gap: 28px; padding: 23px 26px;
  max-height: calc(100svh - 48px); overflow: auto;
  color: #ecf2f5; border: 1px solid #b2c4d24a; border-radius: 20px;
  background: linear-gradient(135deg, #243440f5, #0e1a24f5 65%);
  box-shadow: inset 0 1px 0 #ffffff29, inset 0 -1px 0 #02070b99, 0 18px 70px #0007;
  -webkit-backdrop-filter: blur(22px) saturate(125%);
  backdrop-filter: blur(22px) saturate(125%);
  font-family: inherit; text-align: left;
}
.oxo-privacy-copy { flex: 1 1 440px; min-width: 0; }
.oxo-privacy-copy h2 { margin: 0 0 8px; color: #f4f7f9; font-size: 18px; line-height: 1.3; letter-spacing: -.02em; font-weight: 600; }
.oxo-privacy-copy p { margin: 0; max-width: 64ch; color: #c7d3dc; font-size: 13px; line-height: 1.6; }
.oxo-privacy-copy > a { display: inline-block; margin-top: 9px; color: #e0e9ef; font-size: 12px; line-height: 1.5; text-decoration: underline; text-underline-offset: 3px; }
.oxo-privacy-copy p.oxo-privacy-status { margin-top: 10px; color: #fff; }
.oxo-privacy-actions { display: flex; flex: 0 0 auto; gap: 10px; }
.oxo-privacy-actions button {
  appearance: none; box-sizing: border-box; min-height: 46px; min-width: 140px;
  padding: 12px 17px; border: 1px solid #c4d2db94; border-radius: 12px;
  background: linear-gradient(155deg, #dce7eda6 0%, #a9bbc75e 25%, #60748152 49%, #182b36a3 51%, #56718061 100%);
  box-shadow: inset 0 1px 0 #ffffff8c, inset 0 -1px 0 #02090d88, 0 4px 12px #0003;
  color: #fff; font-family: inherit; font-size: 12px; line-height: 1.4; font-weight: 600;
  text-shadow: 0 1px 3px #00101ac4; cursor: pointer;
}
.oxo-privacy-actions button:hover { border-color: #e7f3fb; filter: brightness(1.12); }
.oxo-privacy-bar :focus-visible, .oxo-cookie-settings:focus-visible { outline: 2px solid #f3f8fb; outline-offset: 4px; }
.oxo-cookie-settings {
  appearance: none; display: inline-flex; align-items: center; min-height: 32px;
  padding: 4px 0; border: 0; border-radius: 0; background: transparent;
  color: inherit; font: inherit; line-height: inherit; cursor: pointer;
  text-decoration: underline; text-underline-offset: 3px;
}
@media (max-width: 760px) {
  .oxo-privacy-bar { inset: auto 12px max(82px, calc(env(safe-area-inset-bottom, 0px) + 74px)); width: calc(100% - 24px); max-height: calc(100svh - 110px); flex-direction: column; align-items: stretch; gap: 17px; padding: 20px; border-radius: 17px; }
  .oxo-privacy-copy { flex-basis: auto; }
  .oxo-privacy-copy h2 { font-size: 17px; }
  .oxo-privacy-copy p { font-size: 12px; }
  .oxo-privacy-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
  .oxo-privacy-actions button { min-width: 0; min-height: 46px; padding: 11px 8px; }
}
@media (max-height: 500px) and (orientation: landscape) {
  .oxo-privacy-bar { inset: auto 12px 12px; max-height: calc(100dvh - 24px); overflow: auto; }
}
@media (prefers-reduced-transparency: reduce) {
  .oxo-privacy-bar { background: #14232d; -webkit-backdrop-filter: none; backdrop-filter: none; }
}

/* /assets/oxo-headline-blue.e5f00aa5a414.css */
/* The first rendered line is white; subsequent lines use OXO blue. */
main h1,main h2,.oxo-footer-intro h2{color:#65bdff!important;-webkit-text-fill-color:currentColor!important}
main h1::first-line,main h2::first-line,.oxo-footer-intro h2::first-line{color:#f1f3f6!important}
h1>br+span,h2>br+span,.insights-hero h1 span,.oxo-heading-accent{color:#65bdff!important;-webkit-text-fill-color:#65bdff!important;background:none!important}

/* /assets/oxo-shared-service-actions.27d3f5ec624d.css */

.oxo-hosting-availability.is-limited:before{animation:oxo-availability-breathe 3.2s ease-out infinite!important;transform-origin:center;box-shadow:0 0 0 0 #ed637355}
@keyframes oxo-availability-breathe{0%{transform:scale(1);opacity:.85;box-shadow:0 0 0 0 #ed637355}45%{transform:scale(1.22);opacity:1;box-shadow:0 0 0 5px #ed637300}70%,100%{transform:scale(1);opacity:.85;box-shadow:0 0 0 0 #ed637300}}
.oxo-location-hero__summary>.oxo-hosting-speed{display:flex;width:100%;margin:18px 0 0;gap:9px;line-height:1.6}
.oxo-hosting-enquiry input[type=date]{color-scheme:dark}
.oxo-field-hint{display:block;color:#9aadc1;font-size:11px;line-height:1.6;margin-top:7px}
@media(max-width:600px){.oxo-hosting-enquiry input,.oxo-hosting-enquiry select,.oxo-hosting-enquiry textarea{font-size:16px}.insight-help h2{font-size:15px}}
.insight-reading>.insight-help{position:sticky;top:116px;align-self:start;height:max-content;max-height:calc(100dvh - 140px);overflow-y:auto;overscroll-behavior:contain}
@media(min-width:901px){.insight-reading{align-items:start}.insight-reading>.insight-help{scrollbar-width:thin}}
@media(max-width:900px){
 body:has(.insight-help){padding-bottom:calc(94px + env(safe-area-inset-bottom,0px))}
 .insight-reading>.insight-help{position:fixed;inset:auto 0 0;z-index:70;display:grid;grid-template-columns:minmax(0,1fr) minmax(135px,auto);align-items:center;gap:14px;width:100%;max-width:none;height:auto;max-height:none;overflow:visible;box-sizing:border-box;padding:14px 20px calc(14px + env(safe-area-inset-bottom,0px))!important;margin:0;border-radius:18px 18px 0 0!important;border-bottom:0!important;box-shadow:0 -8px 30px #0006;background:linear-gradient(125deg,#163041f7,#0c1720fa)!important;backdrop-filter:blur(16px)}
 .insight-help>.eyebrow,.insight-help>p,.insight-help>.insight-service-link{display:none}
 .insight-help h2{font-size:16px;line-height:1.25;letter-spacing:-.025em;margin:0;max-width:280px}
 .insight-help .button{margin:0;min-height:46px;max-width:230px;min-width:135px;padding:12px 16px;font-size:12px}
 body:has(.mobile-menu[aria-expanded="true"]) .insight-help,body:has(dialog[open]) .insight-help{visibility:hidden}
}
@media(prefers-reduced-motion:reduce){.oxo-hosting-availability.is-limited:before{animation:none!important;transform:none;box-shadow:none}}
@media print{.insight-reading>.insight-help{position:static;max-height:none;box-shadow:none}.oxo-hosting-availability.is-limited:before{animation:none!important}}

/* /assets/oxo-form-refinements.20261027b.css?v=2 */
input[type=date]{min-width:0!important;max-width:100%!important;width:100%!important;box-sizing:border-box!important;display:block;appearance:none;-webkit-appearance:none}input[type=date]::-webkit-date-and-time-value{text-align:left;min-width:0}input[type=date]::-webkit-datetime-edit{padding:0;min-width:0}.oxo-hosting-fields>div{min-width:0}.oxo-hosting-enquiry{border:1px solid #ffffff29;border-radius:24px;background:linear-gradient(135deg,#181e28,#0e131c);padding:46px;display:grid;grid-template-columns:.85fr 1.2fr;gap:56px}.oxo-hosting-enquiry form{min-width:0}@media(max-width:850px){.oxo-hosting-enquiry{grid-template-columns:1fr;gap:30px}}@media(max-width:600px){.oxo-hosting-enquiry{padding:24px 20px}}.oxo-seo-package-summary{display:flex;justify-content:space-between;gap:16px;align-items:center;margin:22px 0;font-size:13px}.oxo-seo-package-summary span{font-size:11px;color:#a6bfd4}.oxo-seo-package-summary strong{font-weight:400}@media(max-width:600px){.oxo-seo-package-summary{flex-direction:column;align-items:flex-start;gap:5px}}
/* /assets/oxo-title-case.20261028.css */
/* OXO: Title Case for shared headings and actions, 28 October 2026. */
:is(h1,h2,h3,h4,h5,h6,[role="heading"],button,[role="button"],.button,.btn,.nav-contact,.mobile-start,.oxo-footer-cta,summary),
:is(h1,h2,h3,h4,h5,h6,button,[role="button"],.button,.btn) > span {
  text-transform: capitalize !important;
}
.proposal-builder #proposal-form > .fields { align-items: start; }
.proposal-builder #proposal-form > .fields > .field {
  align-self: start; align-content: start; min-width: 0;
}
.proposal-builder #proposal-form > .fields > .field > select,
.proposal-builder #proposal-form > .fields > .field > input {
  box-sizing: border-box; width: 100%; min-width: 0; height: 48px;
}

.builder-format-option strong,.card-title,.package-name,.plan-name,.subheading{ text-transform:capitalize !important; }
.proposal-builder .builder-format>div{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:800px){.proposal-builder .builder-format>div{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.proposal-builder .builder-format>div{grid-template-columns:1fr}}

/* /assets/oxo-navigation-polish.20261030.css?v=polish4 */
@font-face{font-family:"OXO Manrope";src:url('/assets/fonts/oxo-manrope-latin.20261030.woff') format('woff');font-style:normal;font-weight:200 800;font-display:swap}
header.header nav,header.header nav a,header.header nav summary,header.header .mobile-start,#mobile-nav,#mobile-nav a,#mobile-nav summary{font-family:Arial,Helvetica,sans-serif!important;font-synthesis:none;letter-spacing:-.015em!important}
header.header nav>a,header.header nav>.nav-group>summary{font-weight:400!important;font-size:14.5px!important;line-height:1.45!important}
body header.header[data-oxo-glass] .nav-submenu{background:linear-gradient(145deg,#283a48 0%,#172632 45%,#111c26 100%)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border:1px solid #526879!important;border-top-color:#718697!important;border-bottom-color:#0a121a!important;box-shadow:inset 0 1px 0 #e2f3ff35,inset 0 -1px 0 #0006,0 8px 20px #0005,0 2px 4px #0004!important;border-radius:18px!important}
body header.header[data-oxo-glass] .nav-submenu>a{font-family:Arial,Helvetica,sans-serif!important;font-size:14.5px!important;font-weight:400!important;letter-spacing:-.015em!important;line-height:1.45!important;color:#edf5fb!important;text-shadow:0 1px 1px #0005}
body header.header[data-oxo-glass] .nav-submenu>a>small{font-family:inherit!important;font-size:11.5px!important;font-weight:400!important;letter-spacing:0!important;line-height:1.55!important;color:#becdd8!important;text-shadow:none}
body header.header[data-oxo-glass] .nav-submenu>a:hover,body header.header[data-oxo-glass] .nav-submenu>a:focus-visible{background:linear-gradient(125deg,#b6dafa20,#b6dafa08)!important;box-shadow:inset 0 1px 0 #fff2,0 2px 4px #0003!important;border-color:#94b5ce40!important}
#mobile-nav{background:linear-gradient(145deg,#1c2c39,#101a24)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:inset 0 1px #d5ebfb25,0 6px 18px #0005!important}
body main section:is(.ao-faq,.oxo-faq,.oxo-seo-faq,.oxo-hosting-faq)[class]{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr)!important;gap:48px!important;align-items:start!important}
.ao-faq .ao-heading p{max-width:320px;margin:18px 0 0;color:#b9c8d3;font-size:15px;line-height:1.7}
body main section:is(.ao-faq,.oxo-faq,.oxo-seo-faq,.oxo-hosting-faq)[class]>div:last-child{min-width:0;border:1px solid #b1cfdf2b;border-radius:18px;padding:0 22px;background:linear-gradient(150deg,#17242e,#101a23);box-shadow:inset 0 1px #e5f5ff10,0 6px 18px #0002}
body main section:is(.ao-faq,.oxo-faq,.oxo-seo-faq,.oxo-hosting-faq)[class]>div:last-child>details{margin:0;padding:17px 0!important;border:0!important;border-bottom:1px solid #b1cfdf24!important}
body main section:is(.ao-faq,.oxo-faq,.oxo-seo-faq,.oxo-hosting-faq)[class]>div:last-child>details:last-child{border-bottom:0!important}
body main section:is(.ao-faq,.oxo-faq,.oxo-seo-faq,.oxo-hosting-faq)[class]>div:last-child summary{display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;font-family:"OXO Manrope",system-ui,sans-serif;font-weight:600;font-size:14px;line-height:1.55;cursor:pointer;color:#e9f2f8}
body main section:is(.ao-faq,.oxo-faq,.oxo-seo-faq,.oxo-hosting-faq)[class]>div:last-child summary::-webkit-details-marker{display:none}
body main section:is(.ao-faq,.oxo-faq,.oxo-seo-faq,.oxo-hosting-faq)[class]>div:last-child summary::after{content:'+';flex:0 0 22px;text-align:center;font-size:22px;line-height:1;color:#a6cee9;font-weight:400}
body main section:is(.ao-faq,.oxo-faq,.oxo-seo-faq,.oxo-hosting-faq)[class]>div:last-child details[open]>summary::after{content:'−'}
body main section:is(.ao-faq,.oxo-faq,.oxo-seo-faq,.oxo-hosting-faq)[class]>div:last-child summary:focus-visible{outline:2px solid #91d1ff;outline-offset:5px;border-radius:3px}
body main section:is(.ao-faq,.oxo-faq,.oxo-seo-faq,.oxo-hosting-faq)[class]>div:last-child details>p{margin:12px 30px 3px 0;color:#becdd7;font-size:14px;line-height:1.75}
@media(max-width:850px){body main section:is(.ao-faq,.oxo-faq,.oxo-seo-faq,.oxo-hosting-faq)[class]{grid-template-columns:minmax(0,1fr)!important;gap:26px!important}.ao-faq .ao-heading p{max-width:560px}body main section:is(.ao-faq,.oxo-faq,.oxo-seo-faq,.oxo-hosting-faq)[class]>div:last-child{padding:0 18px}}

body main section:is(.ao-faq,.oxo-faq,.oxo-seo-faq,.oxo-hosting-faq)[class]>div:last-child summary::before{display:none!important}

/* Mobile dialog: same typography and current silver logo as AskOXO/header. */
body dialog.oxo-app-nav{font-family:Arial,Helvetica,sans-serif!important;height:auto!important;max-height:min(800px,calc(100dvh - 24px))!important;inset:auto 12px 12px!important;width:calc(100% - 24px)!important;border:1px solid #516879!important;border-top-color:#73899a!important;border-radius:26px!important;background:radial-gradient(ellipse at 100% 0,#24485b66,transparent 62%),linear-gradient(150deg,#172630,#0b151e)!important;box-shadow:inset 0 1px #e6f5ff25,0 16px 40px #0008!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
body dialog.oxo-app-nav .app-nav-top{gap:12px;padding:18px 20px;border-bottom:1px solid #a8c9de20}
body dialog.oxo-app-nav .app-nav-brand{display:flex!important;flex:1!important;flex-direction:column!important;align-items:flex-start!important;gap:6px!important;min-width:0!important;padding:0!important;min-height:0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;text-decoration:none!important;transform:none!important}
body dialog.oxo-app-nav .app-nav-brand img{display:block!important;width:116px!important;height:37px!important;object-fit:contain!important;object-position:left center!important;filter:none!important}
body dialog.oxo-app-nav .app-nav-brand small{font:9px/1.2 Arial,Helvetica,sans-serif!important;letter-spacing:.19em!important;text-transform:uppercase!important;color:#a9bece!important;margin:0!important}
body dialog.oxo-app-nav .app-nav-top button{display:grid;place-items:center;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;padding:0!important;border:1px solid #abcde33d!important;border-radius:14px!important;background:linear-gradient(145deg,#334957,#1b2a36)!important;box-shadow:inset 0 1px #e3f3ff22,0 3px 7px #0003!important}
body dialog.oxo-app-nav .app-nav-back[hidden]{display:none!important}
body dialog.oxo-app-nav .app-nav-body{flex:0 1 auto;min-height:0;padding:22px 20px 20px;scrollbar-width:thin;scrollbar-color:#526a7b transparent}
body dialog.oxo-app-nav .app-nav-body h2{font-family:Arial,Helvetica,sans-serif!important;font-size:32px!important;font-weight:400!important;line-height:1.12!important;letter-spacing:-1px!important;margin:0 0 10px!important}
body dialog.oxo-app-nav .app-nav-body h2 span{color:#65bdff!important}
body dialog.oxo-app-nav .app-nav-intro{font:400 13px/1.5 Arial,Helvetica,sans-serif!important;letter-spacing:0!important;color:#b4bfcd!important;margin:0 0 20px!important}
body dialog.oxo-app-nav .app-nav-body nav{gap:10px}
body dialog.oxo-app-nav .app-nav-body nav>button,body dialog.oxo-app-nav .app-nav-body nav>a{font-family:Arial,Helvetica,sans-serif!important;min-height:78px!important;gap:13px!important;padding:14px!important;border:1px solid #9ab8cc35!important;border-top-color:#adc8dc50!important;border-radius:18px!important;background:linear-gradient(135deg,#263947,#1b2b37)!important;box-shadow:inset 0 1px #d9efff12,0 3px 8px #0002!important;transition:border-color .18s,background .18s,transform .18s!important}
body dialog.oxo-app-nav .app-nav-label strong{font-family:Arial,Helvetica,sans-serif!important;font-size:19px!important;font-weight:400!important;letter-spacing:-.45px!important;line-height:1.2!important;color:#edf1f5!important}
body dialog.oxo-app-nav .app-nav-label small{font:400 11.5px/1.45 Arial,Helvetica,sans-serif!important;letter-spacing:0!important;color:#b4bfcd!important;margin-top:5px!important}
body dialog.oxo-app-nav .app-nav-icon{width:38px!important;height:40px!important;border-radius:11px!important;background:#83caff0d!important;border:1px solid #83caff15!important;color:#a3d6fa!important;box-shadow:none!important}
body dialog.oxo-app-nav .app-nav-arrow{display:grid!important;place-items:center!important;flex:0 0 22px!important;width:22px!important;height:28px!important;min-width:0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;color:#a8c4d9!important}
body dialog.oxo-app-nav .app-nav-arrow svg{width:18px;height:18px}
body dialog.oxo-app-nav .app-nav-quick{gap:8px;margin-top:7px}
body dialog.oxo-app-nav .app-nav-quick a{display:grid;place-items:center;font:400 13px/1.3 Arial,Helvetica,sans-serif!important;letter-spacing:-.1px!important;min-height:44px!important;padding:12px 4px!important;border:1px solid #aec6d532!important;border-radius:12px!important;background:linear-gradient(145deg,#22323e,#172630)!important;box-shadow:inset 0 1px #e3f3ff12!important}
body dialog.oxo-app-nav .app-nav-bottom{padding:16px 20px max(18px,env(safe-area-inset-bottom));border-top:1px solid #a8c9de20;background:#07121a33}
body dialog.oxo-app-nav .app-nav-bottom>a{font:400 15px/1.3 Arial,Helvetica,sans-serif!important;letter-spacing:-.2px!important;min-height:54px!important;padding:15px 17px!important;border-radius:15px!important;border:1px solid #c7e3f4!important;color:#132736!important;background:linear-gradient(125deg,#edf7fd,#c1d8e8 60%,#afcbdc)!important;box-shadow:inset 0 1px #fff9,0 4px 10px #0003!important}
body dialog.oxo-app-nav .app-nav-bottom>a svg{width:21px;height:21px;flex:none}
body dialog.oxo-app-nav .app-nav-bottom small{font:400 10px/1.4 Arial,Helvetica,sans-serif!important;color:#a0b6c6!important;margin-top:12px!important}
body dialog.oxo-app-nav .app-nav-body nav>[aria-current=page]{border-color:#8cccf1!important;background:linear-gradient(135deg,#294555,#203847)!important}
body dialog.oxo-app-nav :focus-visible{outline:2px solid #a1dbff!important;outline-offset:3px!important}
@media(hover:hover){body dialog.oxo-app-nav .app-nav-body nav>button:hover,body dialog.oxo-app-nav .app-nav-body nav>a:hover{border-color:#98c6e2!important;background:linear-gradient(135deg,#304957,#203744)!important}}
@media(max-width:370px){body dialog.oxo-app-nav .app-nav-top{padding:16px}body dialog.oxo-app-nav .app-nav-body{padding:20px 16px 16px}body dialog.oxo-app-nav .app-nav-body nav>button,body dialog.oxo-app-nav .app-nav-body nav>a{gap:10px!important;padding:12px!important}body dialog.oxo-app-nav .app-nav-label strong{font-size:17px!important}body dialog.oxo-app-nav .app-nav-label small{font-size:11px!important}body dialog.oxo-app-nav .app-nav-bottom{padding-left:16px;padding-right:16px}}
@media(prefers-reduced-motion:reduce){body dialog.oxo-app-nav[open]{animation:none!important}body dialog.oxo-app-nav *{transition:none!important}}

