
:root{
  --bg:#FFFFFF; --surface:#EEF3F9; --surface-2:#E2EAF4; --ink:#141414; --text:#2A2A2A; --muted:#56606E; --rule:#DCE3EC; --rule-strong:#C2CDDB;
  --blue:#176BAE; --blue-ink:#155E97; --orange:#E8780A; --accent-text:#B4530A;
  --deep:#B4530A; --btn:#B4530A; --btn-text:#FFFFFF; --btn-hover:#8F4206; --icon:#B4530A; --deep-btn:#FFFFFF; --deep-btn-text:#9A4508;
  --block-ink:var(--deep); --block-ink-text:#FFFFFF; --block-ink-muted:#FCF1E8; --block-ink-rule:rgba(255,255,255,.2);
  --block-blue:#1B75BC; --ph:#E2EAF4; --ph-text:#7C8796;
  --serif:'Bricolage Grotesque', 'Avenir Next', 'Segoe UI', sans-serif;
  --sans:'Instrument Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --gutter:max(clamp(1.5rem, 5vw, 7rem), min(18rem, calc(5vw + (100vw - 1600px) * 0.18))); --gap-boost:clamp(0px, (100vw - 1600px) * 0.045, 3.5rem);
  color-scheme:light;
  box-sizing:border-box; padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){
  --bg:#0F0F10; --surface:#171718; --surface-2:#1F1F21; --ink:#F2F1EE; --text:#DAD8D3; --muted:#9E9C97; --rule:#2B2B2E; --rule-strong:#3D3D41;
  --blue:#5AA9EC; --blue-ink:#8CC4F2; --orange:#FF9A1F; --accent-text:#FF9A1F;
  --deep:#6B300A; --btn:#B4530A; --btn-text:#FFFFFF; --btn-hover:#9A4508; --icon:#8A3F0C; --deep-btn:#FFFFFF; --deep-btn-text:#7A3509; --block-ink:#4E2307; --block-blue:#123E63; --ph:#232325; --ph-text:#6F6D69; color-scheme:dark; } }
:root[data-theme="dark"]{
  --bg:#0F0F10; --surface:#171718; --surface-2:#1F1F21; --ink:#F2F1EE; --text:#DAD8D3; --muted:#9E9C97; --rule:#2B2B2E; --rule-strong:#3D3D41;
  --blue:#5AA9EC; --blue-ink:#8CC4F2; --orange:#FF9A1F; --accent-text:#FF9A1F;
  --deep:#6B300A; --btn:#B4530A; --btn-text:#FFFFFF; --btn-hover:#9A4508; --icon:#8A3F0C; --deep-btn:#FFFFFF; --deep-btn-text:#7A3509; --block-ink:#4E2307; --block-blue:#123E63; --ph:#232325; --ph-text:#6F6D69; color-scheme:dark; }
*,*::before,*::after{box-sizing:border-box;}
html{font-size:clamp(15px, calc(0.3vw + 12.2px), 20px);background:var(--bg);scroll-behavior:smooth;}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:1.0625rem;line-height:1.6;-webkit-font-smoothing:antialiased;transition:background .25s ease,color .25s ease;}
h1,h2,h3{font-family:var(--serif);font-weight:600;color:var(--ink);margin:0;letter-spacing:-0.022em;line-height:1.08;}
p{margin:0;} a{color:inherit;}
img,svg{max-width:100%;}
.w{max-width:none;margin:0;padding:0 var(--gutter);}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px;}
@media (prefers-reduced-motion: reduce){*{transition:none !important;animation:none !important;} html{scroll-behavior:auto;}}
.label{font-size:.85rem;font-weight:600;color:var(--muted);display:flex;align-items:center;gap:.75rem;}
.label::before{content:"";width:1.75rem;height:1px;background:var(--ink);}
.btn{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--sans);font-weight:600;font-size:.92rem;padding:.7rem 1.25rem;border:1px solid var(--btn);background:var(--btn);color:var(--btn-text);text-decoration:none;line-height:1.2;cursor:pointer;transition:background .2s ease,color .2s ease;}
.btn:hover{background:var(--btn-hover);border-color:var(--btn-hover);color:#fff;}
.btn.line{background:transparent;color:var(--ink);}
.btn.line:hover{background:var(--btn);color:var(--btn-text);border-color:var(--btn);}
.tlink{font-weight:600;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--blue);padding-bottom:2px;}
.tlink:hover{color:var(--blue);}

/* header */
.hd{position:sticky;top:0;z-index:50;background:var(--bg);border-bottom:1px solid transparent;transition:border-color .2s ease;}
.hd.scrolled{border-bottom-color:var(--rule);box-shadow:0 6px 20px -16px rgba(20,30,45,.35);}
.logo{height:1.8rem;width:auto;display:block;}
.logo-d{display:none;}
:root[data-theme="dark"] .logo-l{display:none;} :root[data-theme="dark"] .logo-d{display:block;}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .logo-l{display:none;} :root:not([data-theme="light"]) .logo-d{display:block;} }
.hd-r{display:flex;align-items:center;gap:.9rem;}
.theme svg{width:1.1rem;height:1.1rem;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;}
.theme .moon{display:none;}
:root[data-theme="dark"] .theme .sun{display:none;} :root[data-theme="dark"] .theme .moon{display:block;}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .theme .sun{display:none;} :root:not([data-theme="light"]) .theme .moon{display:block;} }


/* ---------- header ---------- */
.hd-in{display:flex;align-items:center;gap:2.5rem;height:5.25rem;}
.brand{display:block;flex:none;}
.brand .logo{height:2.15rem;}
.nav{display:flex;align-items:center;gap:2.4rem;margin-left:auto;}
.nav-link{position:relative;display:inline-flex;align-items:center;gap:.4rem;font:inherit;font-size:1.04rem;font-weight:500;color:var(--ink);text-decoration:none;background:none;border:none;padding:.55rem 0;cursor:pointer;letter-spacing:-0.005em;}
.nav-link::after{content:"";position:absolute;left:0;right:0;bottom:.15rem;height:2px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .3s cubic-bezier(.2,.7,.1,1);}
.nav-link:hover::after,.nav-link[aria-expanded="true"]::after{transform:scaleX(1);}
.nav-link:hover{color:var(--ink);}
.chev{width:.75rem;height:.75rem;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s ease;}
.nav-link[aria-expanded="true"] .chev{transform:rotate(180deg);}
.hd-r{display:flex;align-items:center;gap:1.1rem;}
.hd-cta{padding:.5rem .95rem;font-size:.9rem;gap:.5rem;}
.hd-cta .dot{display:none;width:.5rem;height:.5rem;border-radius:50%;background:#2EB872;box-shadow:0 0 0 0 rgba(46,184,114,.5);animation:vnPulse 2.2s ease-out infinite;flex:none;}
@keyframes vnPulse{0%{box-shadow:0 0 0 0 rgba(46,184,114,.55)}70%{box-shadow:0 0 0 .45rem rgba(46,184,114,0)}100%{box-shadow:0 0 0 0 rgba(46,184,114,0)}}
/* Talk to us: available-now pill with burnt orange dot */
.hd-cta{border-radius:999px !important;background:var(--surface);border-color:var(--rule);color:var(--ink);padding:.45rem .95rem .45rem .8rem;}
.hd-cta .dot{display:inline-block;background:var(--btn);animation-name:vnPulseO;}
@keyframes vnPulseO{0%{box-shadow:0 0 0 0 rgba(180,83,10,.5)}70%{box-shadow:0 0 0 .45rem rgba(180,83,10,0)}100%{box-shadow:0 0 0 0 rgba(180,83,10,0)}}
.hd-cta:hover{background:var(--btn);border-color:var(--btn);color:var(--btn-text);}
.hd-cta:hover .dot{background:#fff;}
.hd-cta svg{width:.95rem;height:.95rem;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s ease;}
.hd-cta:hover svg{transform:translateX(.2rem);}
/* theme switch */
.theme-sw{background:none;border:none;padding:0;cursor:pointer;}
.sw-track{position:relative;display:flex;align-items:center;justify-content:space-between;width:3.6rem;height:1.9rem;padding:0 .45rem;border:1px solid var(--rule-strong);border-radius:999px;color:var(--muted);}
.sw-track svg{width:.85rem;height:.85rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;position:relative;z-index:1;}
.sw-knob{position:absolute;top:.2rem;left:.22rem;width:1.4rem;height:1.4rem;border-radius:50%;background:var(--ink);transition:transform .3s cubic-bezier(.2,.7,.1,1);}
.theme-sw .sw-sun{color:var(--bg);}
:root[data-theme="dark"] .sw-knob{transform:translateX(1.72rem);}
:root[data-theme="dark"] .theme-sw .sw-sun{color:var(--muted);} :root[data-theme="dark"] .theme-sw .sw-moon{color:var(--bg);}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .sw-knob{transform:translateX(1.72rem);} :root:not([data-theme="light"]) .theme-sw .sw-sun{color:var(--muted);} :root:not([data-theme="light"]) .theme-sw .sw-moon{color:var(--bg);} }
/* services mega menu */
.has-mega{position:static;}
.mega{position:absolute;left:0;right:0;top:100%;background:var(--bg);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);box-shadow:0 1.5rem 2.5rem -2rem rgba(0,0,0,.25);opacity:0;visibility:hidden;transform:translateY(-.5rem);transition:opacity .2s ease,transform .25s ease,visibility 0s linear .25s;}
.mega.open{opacity:1;visibility:visible;transform:none;transition:opacity .2s ease,transform .25s ease;}
.mega-in{display:grid;grid-template-columns:1.2fr repeat(4,1fr);gap:0;padding-top:2rem;padding-bottom:2.25rem;}
.mega-intro{padding-right:2rem;}
.mega-k{font-size:.85rem;font-weight:600;color:var(--blue);}
.mega-h{font-family:var(--serif);font-weight:600;font-size:1.5rem;line-height:1.15;letter-spacing:-0.025em;color:var(--ink);margin:.5rem 0 1rem;}
.mega-card{display:flex;flex-direction:column;gap:.45rem;padding:1.1rem 1.5rem;border-left:1px solid var(--rule);text-decoration:none;color:var(--text);transition:background .2s ease;}
.mega-card:hover{background:var(--surface);}
.mega-n{font-family:var(--serif);font-weight:600;color:var(--blue);font-size:.95rem;}
.mega-card strong{font-family:var(--serif);font-weight:600;font-size:1.12rem;letter-spacing:-0.015em;color:var(--ink);line-height:1.2;}
.mega-card span:last-child{color:var(--muted);font-size:.9rem;line-height:1.45;}
/* mobile menu */
.menu-btn{display:none;width:2.75rem;height:2.75rem;border:1px solid var(--rule-strong);background:none;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:.35rem;}
.menu-btn span{display:block;width:1.2rem;height:1.5px;background:var(--ink);transition:transform .25s ease;}
.menu-btn[aria-expanded="true"] span:first-child{transform:translateY(.2rem) rotate(45deg);}
.menu-btn[aria-expanded="true"] span:last-child{transform:translateY(-.2rem) rotate(-45deg);}
.mnav{display:none;}
@media (max-width:1000px){
  .nav,.hd-cta{display:none;}
  .menu-btn{display:flex;}
  .hd-r{margin-left:auto;}
  .mnav{display:block;position:fixed;z-index:45;left:0;right:0;top:5.25rem;bottom:0;background:var(--bg);overflow-y:auto;padding:1.5rem 0 3rem;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility 0s linear .2s;}
  .mnav.open{opacity:1;visibility:visible;transition:opacity .2s ease;}
  .mnav a:not(.btn){display:block;font-family:var(--serif);font-weight:600;font-size:1.6rem;letter-spacing:-0.025em;color:var(--ink);text-decoration:none;padding:.7rem 0;border-bottom:1px solid var(--rule);}
  .mnav-k{font-size:.85rem;font-weight:600;color:var(--blue);margin-top:1.5rem;}
  .mnav-cta{margin-top:2rem;}
}

/* footer */
.ft{background:var(--block-ink);color:var(--block-ink-muted);padding:4.5rem 0 2rem;font-size:.93rem;}
.ft-grid{display:grid;grid-template-columns:1.4fr .8fr .8fr 1fr;gap:2.5rem;}
.ft h5{margin:0 0 1rem;color:var(--block-ink-text);font-size:.92rem;font-weight:600;}
.ft ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem;}
.ft a{color:var(--block-ink-muted);text-decoration:none;} .ft a:hover{color:#fff;}
.ft p{max-width:18rem;margin-top:1rem;}
.ft address{font-style:normal;line-height:1.6;margin-bottom:1rem;} .ft address strong{display:block;color:var(--block-ink-text);font-weight:600;}
.ft-bottom{margin-top:3.5rem;padding-top:1.5rem;border-top:1px solid var(--block-ink-rule);display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;font-size:.85rem;}
@media (max-width:860px){.ft-grid{grid-template-columns:1fr 1fr;}}

/* wider gaps between columns on large screens only, as in version 1 */
@media (min-width:1600px){
  .hero-grid,.stmt-grid,.proof-grid,.svc,.fd-grid,.ai-stage-wrap,.eng,.ct-grid,.ft-grid,.shead{column-gap:calc(3rem + var(--gap-boost)) !important;}
  .four div + div,.facts div + div{padding-left:calc(1.5rem + var(--gap-boost) / 2);}
}

/* crisp text on dark surfaces */
.model.feature,.ft,.ct{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto;text-rendering:optimizeLegibility;}
.model.feature > p:not(.for),.model.feature dt{color:var(--block-ink-muted) !important;}
.ft,.ft a{color:var(--block-ink-muted);}
:root[data-theme="dark"]{--text:#E6E4DF;--muted:#B7B5B0;}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){--text:#E6E4DF;--muted:#B7B5B0;} }

/* ===== version 1 color names, mapped to the version 2 palette (used by inner pages and the booking form) ===== */
:root{--paper:var(--bg);--porcelain:var(--surface);--slate:var(--muted);--midnight:var(--deep);--midnight-2:var(--deep);--gold:#176BAE;--gold-deep:#176BAE;--teal:#176BAE;--teal-deep:#176BAE;
  --on-dark:#FFFFFF;--on-dark-mute:#FCF1E8;--on-dark-rule:rgba(255,255,255,.2);--header-h:5.25rem;
  --display:'Bricolage Grotesque','Avenir Next','Segoe UI',sans-serif;--body:'Instrument Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){--paper:var(--bg);--porcelain:var(--surface);--ink:#F2F1EE;--slate:var(--muted);--rule:#2B2B2E;--gold-deep:#5AA9EC;--teal-deep:#5AA9EC;--gold:#5AA9EC;--teal:#5AA9EC;} }
:root[data-theme="dark"]{--paper:var(--bg);--porcelain:var(--surface);--ink:#F2F1EE;--slate:var(--muted);--rule:#2B2B2E;--gold-deep:#5AA9EC;--teal-deep:#5AA9EC;--gold:#5AA9EC;--teal:#5AA9EC;}
/* keep the version 2 header and footer intact on pages that also load version 1 styles */
header.hd .brand{display:block;gap:0;}
header.hd .brand svg{width:auto;height:2.15rem;}
header.hd .menu-btn{border-radius:0;opacity:1;color:inherit;position:static;}
header.hd .menu-btn span{position:static;left:auto;right:auto;top:auto;}
@media (max-width:1000px){ header.hd .menu-btn{display:flex;} }
footer.ft{padding:4.5rem 0 2rem;overflow:visible;}
footer.ft a{font-size:inherit;}
footer.ft a:hover{color:#fff;}
footer.ft .logo{height:2rem;width:auto;}
dialog.book,dialog.book *{border-radius:0 !important;}
.ph > svg{position:absolute;inset:0;width:100%;height:100%;}

/* booking form and form helpers */
dialog.book{border:none;border-radius:1.5rem;padding:0;width:min(40rem, calc(100vw - 2rem));max-height:calc(100dvh - 2rem);background:var(--paper);color:var(--ink);box-shadow:0 2.5rem 6rem -1.5rem rgba(10,19,48,.55);}
dialog.book::backdrop{background:rgba(10,19,48,.6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);}
.book-form{position:relative;padding:2.25rem;overflow:auto;}
.book-form h2{font-size:1.8rem;letter-spacing:-0.03em;}
.book-sub{color:var(--slate);margin-top:0.5rem;font-size:.98rem;}
.book-close{position:absolute;top:1rem;right:1rem;width:2.5rem;height:2.5rem;border-radius:50%;border:1px solid var(--rule);background:none;color:var(--ink);font-size:1.4rem;cursor:pointer;line-height:1;}
.book-fields{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.5rem;}
.book-form label{display:flex;flex-direction:column;gap:0.35rem;font-size:.88rem;font-weight:600;}
.book-form input:not([type=radio]),.book-form select,.book-form textarea{font:inherit;font-weight:400;font-size:1rem;padding:0.7rem 0.85rem;border-radius:0.75rem;border:1px solid var(--rule);background:var(--porcelain);color:var(--ink);}
.book-form input:focus,.book-form select:focus,.book-form textarea:focus{outline:2px solid var(--gold);outline-offset:1px;}
.book-topics{border:none;margin:1.25rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:0.5rem;}
.book-topics legend{font-size:.88rem;font-weight:600;margin-bottom:0.6rem;padding:0;}
.book-topics label{flex-direction:row;align-items:center;gap:0;font-weight:500;}
.book-topics input{position:absolute;opacity:0;pointer-events:none;}
.book-topics label span,.book-topics label{cursor:pointer;}
.book-topics label{padding:0.5rem 0.9rem;border-radius:999px;border:1px solid var(--rule);font-size:.9rem;}
.book-topics label:has(input:checked){background:var(--btn);color:var(--btn-text);border-color:var(--btn);}
.book-topics label:has(input:focus-visible){outline:2px solid var(--gold);outline-offset:2px;}
.book-msg{margin-top:1.25rem;}
.book-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:1.5rem;}
.book-note{font-size:.85rem;color:var(--slate);}
@media (max-width:560px){.book-fields{grid-template-columns:1fr;}
.book-form{padding:1.5rem;}
}.visually-hidden{position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.ct-form .book-fields{margin-top:0;}
.ct-form .book-topics label{flex-direction:row;}
.hp-field{position:absolute !important;left:-9999px;width:1px;height:1px;overflow:hidden;}
.ts-slot{margin-top:1.25rem;min-height:0;}
.form-status{margin-top:1rem;padding:0.9rem 1.1rem;border-radius:0.9rem;background:rgba(43,139,214,.1);border:1px solid rgba(43,139,214,.35);font-size:.95rem;}
.form-status.bad{background:rgba(255,154,31,.1);border-color:rgba(255,154,31,.45);}
/* version 2 header must win over version 1 logo and button rules */
header.hd .brand .logo{height:2.15rem;width:auto;}
header.hd .brand .logo-d{display:none;}
:root[data-theme="dark"] header.hd .brand .logo-l{display:none;} :root[data-theme="dark"] header.hd .brand .logo-d{display:block;}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) header.hd .brand .logo-l{display:none;} :root:not([data-theme="light"]) header.hd .brand .logo-d{display:block;} }
header.hd .btn,.mnav .btn,footer.ft .btn{border-radius:0;}
footer.ft .brand svg,footer.ft .logo{width:auto;height:2rem;}
.ft-sep{display:inline-block;width:1px;height:.8em;background:var(--block-ink-rule);margin:0 .8rem;vertical-align:middle;}
:root[data-theme="dark"] .hd-cta .dot{background:var(--orange);}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .hd-cta .dot{background:var(--orange);} }

/* ===== Burnt orange sections: readable text, no blue on orange ===== */
html body .ft p,html body .model.feature p,html body .philo p,html body .story-dark p,html body .mvp p,html body .model-feature p,html body .oracle-closing p,html body .pe-ai p,html body .pp-why p,html body .dm-report p,html body .cl-band p,html body .os-why p,html body .or-qr p,html body .article-cta p,html body .contact p,html body .ft li,html body .model.feature li,html body .philo li,html body .story-dark li,html body .mvp li,html body .model-feature li,html body .oracle-closing li,html body .pe-ai li,html body .pp-why li,html body .dm-report li,html body .cl-band li,html body .os-why li,html body .or-qr li,html body .article-cta li,html body .contact li,html body .ft dd,html body .model.feature dd,html body .philo dd,html body .story-dark dd,html body .mvp dd,html body .model-feature dd,html body .oracle-closing dd,html body .pe-ai dd,html body .pp-why dd,html body .dm-report dd,html body .cl-band dd,html body .os-why dd,html body .or-qr dd,html body .article-cta dd,html body .contact dd,html body .ft dt,html body .model.feature dt,html body .philo dt,html body .story-dark dt,html body .mvp dt,html body .model-feature dt,html body .oracle-closing dt,html body .pe-ai dt,html body .pp-why dt,html body .dm-report dt,html body .cl-band dt,html body .os-why dt,html body .or-qr dt,html body .article-cta dt,html body .contact dt,html body .ft td,html body .model.feature td,html body .philo td,html body .story-dark td,html body .mvp td,html body .model-feature td,html body .oracle-closing td,html body .pe-ai td,html body .pp-why td,html body .dm-report td,html body .cl-band td,html body .os-why td,html body .or-qr td,html body .article-cta td,html body .contact td,html body .ft th,html body .model.feature th,html body .philo th,html body .story-dark th,html body .mvp th,html body .model-feature th,html body .oracle-closing th,html body .pe-ai th,html body .pp-why th,html body .dm-report th,html body .cl-band th,html body .os-why th,html body .or-qr th,html body .article-cta th,html body .contact th,html body .ft em,html body .model.feature em,html body .philo em,html body .story-dark em,html body .mvp em,html body .model-feature em,html body .oracle-closing em,html body .pe-ai em,html body .pp-why em,html body .dm-report em,html body .cl-band em,html body .os-why em,html body .or-qr em,html body .article-cta em,html body .contact em,html body .ft address,html body .model.feature address,html body .philo address,html body .story-dark address,html body .mvp address,html body .model-feature address,html body .oracle-closing address,html body .pe-ai address,html body .pp-why address,html body .dm-report address,html body .cl-band address,html body .os-why address,html body .or-qr address,html body .article-cta address,html body .contact address,html body .ft small,html body .model.feature small,html body .philo small,html body .story-dark small,html body .mvp small,html body .model-feature small,html body .oracle-closing small,html body .pe-ai small,html body .pp-why small,html body .dm-report small,html body .cl-band small,html body .os-why small,html body .or-qr small,html body .article-cta small,html body .contact small,html body .ft span:not(.dot):not(.g-t):not(.g-t span),html body .model.feature span:not(.dot):not(.g-t):not(.g-t span),html body .philo span:not(.dot):not(.g-t):not(.g-t span),html body .story-dark span:not(.dot):not(.g-t):not(.g-t span),html body .mvp span:not(.dot):not(.g-t):not(.g-t span),html body .model-feature span:not(.dot):not(.g-t):not(.g-t span),html body .oracle-closing span:not(.dot):not(.g-t):not(.g-t span),html body .pe-ai span:not(.dot):not(.g-t):not(.g-t span),html body .pp-why span:not(.dot):not(.g-t):not(.g-t span),html body .dm-report span:not(.dot):not(.g-t):not(.g-t span),html body .cl-band span:not(.dot):not(.g-t):not(.g-t span),html body .os-why span:not(.dot):not(.g-t):not(.g-t span),html body .or-qr span:not(.dot):not(.g-t):not(.g-t span),html body .article-cta span:not(.dot):not(.g-t):not(.g-t span),html body .contact span:not(.dot):not(.g-t):not(.g-t span),html body .ft a:not([class*="btn"]),html body .model.feature a:not([class*="btn"]),html body .philo a:not([class*="btn"]),html body .story-dark a:not([class*="btn"]),html body .mvp a:not([class*="btn"]),html body .model-feature a:not([class*="btn"]),html body .oracle-closing a:not([class*="btn"]),html body .pe-ai a:not([class*="btn"]),html body .pp-why a:not([class*="btn"]),html body .dm-report a:not([class*="btn"]),html body .cl-band a:not([class*="btn"]),html body .os-why a:not([class*="btn"]),html body .or-qr a:not([class*="btn"]),html body .article-cta a:not([class*="btn"]),html body .contact a:not([class*="btn"]){color:var(--block-ink-muted) !important;}
html body .ft h2,html body .model.feature h2,html body .philo h2,html body .story-dark h2,html body .mvp h2,html body .model-feature h2,html body .oracle-closing h2,html body .pe-ai h2,html body .pp-why h2,html body .dm-report h2,html body .cl-band h2,html body .os-why h2,html body .or-qr h2,html body .article-cta h2,html body .contact h2,html body .ft h3,html body .model.feature h3,html body .philo h3,html body .story-dark h3,html body .mvp h3,html body .model-feature h3,html body .oracle-closing h3,html body .pe-ai h3,html body .pp-why h3,html body .dm-report h3,html body .cl-band h3,html body .os-why h3,html body .or-qr h3,html body .article-cta h3,html body .contact h3,html body .ft h4,html body .model.feature h4,html body .philo h4,html body .story-dark h4,html body .mvp h4,html body .model-feature h4,html body .oracle-closing h4,html body .pe-ai h4,html body .pp-why h4,html body .dm-report h4,html body .cl-band h4,html body .os-why h4,html body .or-qr h4,html body .article-cta h4,html body .contact h4,html body .ft h5,html body .model.feature h5,html body .philo h5,html body .story-dark h5,html body .mvp h5,html body .model-feature h5,html body .oracle-closing h5,html body .pe-ai h5,html body .pp-why h5,html body .dm-report h5,html body .cl-band h5,html body .os-why h5,html body .or-qr h5,html body .article-cta h5,html body .contact h5,html body .ft strong,html body .model.feature strong,html body .philo strong,html body .story-dark strong,html body .mvp strong,html body .model-feature strong,html body .oracle-closing strong,html body .pe-ai strong,html body .pp-why strong,html body .dm-report strong,html body .cl-band strong,html body .os-why strong,html body .or-qr strong,html body .article-cta strong,html body .contact strong,html body .ft b,html body .model.feature b,html body .philo b,html body .story-dark b,html body .mvp b,html body .model-feature b,html body .oracle-closing b,html body .pe-ai b,html body .pp-why b,html body .dm-report b,html body .cl-band b,html body .os-why b,html body .or-qr b,html body .article-cta b,html body .contact b,html body .ft .model-for,html body .model.feature .model-for,html body .philo .model-for,html body .story-dark .model-for,html body .mvp .model-for,html body .model-feature .model-for,html body .oracle-closing .model-for,html body .pe-ai .model-for,html body .pp-why .model-for,html body .dm-report .model-for,html body .cl-band .model-for,html body .os-why .model-for,html body .or-qr .model-for,html body .article-cta .model-for,html body .contact .model-for,html body .ft .for,html body .model.feature .for,html body .philo .for,html body .story-dark .for,html body .mvp .for,html body .model-feature .for,html body .oracle-closing .for,html body .pe-ai .for,html body .pp-why .for,html body .dm-report .for,html body .cl-band .for,html body .os-why .for,html body .or-qr .for,html body .article-cta .for,html body .contact .for,html body .ft .story-tag,html body .model.feature .story-tag,html body .philo .story-tag,html body .story-dark .story-tag,html body .mvp .story-tag,html body .model-feature .story-tag,html body .oracle-closing .story-tag,html body .pe-ai .story-tag,html body .pp-why .story-tag,html body .dm-report .story-tag,html body .cl-band .story-tag,html body .os-why .story-tag,html body .or-qr .story-tag,html body .article-cta .story-tag,html body .contact .story-tag,html body .ft .text-link,html body .model.feature .text-link,html body .philo .text-link,html body .story-dark .text-link,html body .mvp .text-link,html body .model-feature .text-link,html body .oracle-closing .text-link,html body .pe-ai .text-link,html body .pp-why .text-link,html body .dm-report .text-link,html body .cl-band .text-link,html body .os-why .text-link,html body .or-qr .text-link,html body .article-cta .text-link,html body .contact .text-link,html body .ft .story-link,html body .model.feature .story-link,html body .philo .story-link,html body .story-dark .story-link,html body .mvp .story-link,html body .model-feature .story-link,html body .oracle-closing .story-link,html body .pe-ai .story-link,html body .pp-why .story-link,html body .dm-report .story-link,html body .cl-band .story-link,html body .os-why .story-link,html body .or-qr .story-link,html body .article-cta .story-link,html body .contact .story-link,html body .ft .pe-eyebrow,html body .model.feature .pe-eyebrow,html body .philo .pe-eyebrow,html body .story-dark .pe-eyebrow,html body .mvp .pe-eyebrow,html body .model-feature .pe-eyebrow,html body .oracle-closing .pe-eyebrow,html body .pe-ai .pe-eyebrow,html body .pp-why .pe-eyebrow,html body .dm-report .pe-eyebrow,html body .cl-band .pe-eyebrow,html body .os-why .pe-eyebrow,html body .or-qr .pe-eyebrow,html body .article-cta .pe-eyebrow,html body .contact .pe-eyebrow,html body .ft .kicker,html body .model.feature .kicker,html body .philo .kicker,html body .story-dark .kicker,html body .mvp .kicker,html body .model-feature .kicker,html body .oracle-closing .kicker,html body .pe-ai .kicker,html body .pp-why .kicker,html body .dm-report .kicker,html body .cl-band .kicker,html body .os-why .kicker,html body .or-qr .kicker,html body .article-cta .kicker,html body .contact .kicker{color:#FFFFFF !important;}
html body .ft .dm-ok,html body .model.feature .dm-ok,html body .philo .dm-ok,html body .story-dark .dm-ok,html body .mvp .dm-ok,html body .model-feature .dm-ok,html body .oracle-closing .dm-ok,html body .pe-ai .dm-ok,html body .pp-why .dm-ok,html body .dm-report .dm-ok,html body .cl-band .dm-ok,html body .os-why .dm-ok,html body .or-qr .dm-ok,html body .article-cta .dm-ok,html body .contact .dm-ok,html body .ft .dm-flag,html body .model.feature .dm-flag,html body .philo .dm-flag,html body .story-dark .dm-flag,html body .mvp .dm-flag,html body .model-feature .dm-flag,html body .oracle-closing .dm-flag,html body .pe-ai .dm-flag,html body .pp-why .dm-flag,html body .dm-report .dm-flag,html body .cl-band .dm-flag,html body .os-why .dm-flag,html body .or-qr .dm-flag,html body .article-cta .dm-flag,html body .contact .dm-flag{background:rgba(255,255,255,.16) !important;color:#FFFFFF !important;}
html body .ft .btn:not(.line):not(.btn-line),html body .model.feature .btn:not(.line):not(.btn-line),html body .philo .btn:not(.line):not(.btn-line),html body .story-dark .btn:not(.line):not(.btn-line),html body .mvp .btn:not(.line):not(.btn-line),html body .model-feature .btn:not(.line):not(.btn-line),html body .oracle-closing .btn:not(.line):not(.btn-line),html body .pe-ai .btn:not(.line):not(.btn-line),html body .pp-why .btn:not(.line):not(.btn-line),html body .dm-report .btn:not(.line):not(.btn-line),html body .cl-band .btn:not(.line):not(.btn-line),html body .os-why .btn:not(.line):not(.btn-line),html body .or-qr .btn:not(.line):not(.btn-line),html body .article-cta .btn:not(.line):not(.btn-line),html body .contact .btn:not(.line):not(.btn-line),html body .ft .btn-gold,html body .model.feature .btn-gold,html body .philo .btn-gold,html body .story-dark .btn-gold,html body .mvp .btn-gold,html body .model-feature .btn-gold,html body .oracle-closing .btn-gold,html body .pe-ai .btn-gold,html body .pp-why .btn-gold,html body .dm-report .btn-gold,html body .cl-band .btn-gold,html body .os-why .btn-gold,html body .or-qr .btn-gold,html body .article-cta .btn-gold,html body .contact .btn-gold,html body .ft .btn-primary,html body .model.feature .btn-primary,html body .philo .btn-primary,html body .story-dark .btn-primary,html body .mvp .btn-primary,html body .model-feature .btn-primary,html body .oracle-closing .btn-primary,html body .pe-ai .btn-primary,html body .pp-why .btn-primary,html body .dm-report .btn-primary,html body .cl-band .btn-primary,html body .os-why .btn-primary,html body .or-qr .btn-primary,html body .article-cta .btn-primary,html body .contact .btn-primary{background:#FFFFFF !important;border-color:#FFFFFF !important;color:#9A4508 !important;}
html body .ft .btn:not(.line):not(.btn-line):hover,html body .model.feature .btn:not(.line):not(.btn-line):hover,html body .philo .btn:not(.line):not(.btn-line):hover,html body .story-dark .btn:not(.line):not(.btn-line):hover,html body .mvp .btn:not(.line):not(.btn-line):hover,html body .model-feature .btn:not(.line):not(.btn-line):hover,html body .oracle-closing .btn:not(.line):not(.btn-line):hover,html body .pe-ai .btn:not(.line):not(.btn-line):hover,html body .pp-why .btn:not(.line):not(.btn-line):hover,html body .dm-report .btn:not(.line):not(.btn-line):hover,html body .cl-band .btn:not(.line):not(.btn-line):hover,html body .os-why .btn:not(.line):not(.btn-line):hover,html body .or-qr .btn:not(.line):not(.btn-line):hover,html body .article-cta .btn:not(.line):not(.btn-line):hover,html body .contact .btn:not(.line):not(.btn-line):hover,html body .ft .btn-gold:hover,html body .model.feature .btn-gold:hover,html body .philo .btn-gold:hover,html body .story-dark .btn-gold:hover,html body .mvp .btn-gold:hover,html body .model-feature .btn-gold:hover,html body .oracle-closing .btn-gold:hover,html body .pe-ai .btn-gold:hover,html body .pp-why .btn-gold:hover,html body .dm-report .btn-gold:hover,html body .cl-band .btn-gold:hover,html body .os-why .btn-gold:hover,html body .or-qr .btn-gold:hover,html body .article-cta .btn-gold:hover,html body .contact .btn-gold:hover,html body .ft .btn-primary:hover,html body .model.feature .btn-primary:hover,html body .philo .btn-primary:hover,html body .story-dark .btn-primary:hover,html body .mvp .btn-primary:hover,html body .model-feature .btn-primary:hover,html body .oracle-closing .btn-primary:hover,html body .pe-ai .btn-primary:hover,html body .pp-why .btn-primary:hover,html body .dm-report .btn-primary:hover,html body .cl-band .btn-primary:hover,html body .os-why .btn-primary:hover,html body .or-qr .btn-primary:hover,html body .article-cta .btn-primary:hover,html body .contact .btn-primary:hover{background:transparent !important;color:#FFFFFF !important;}
html body .ft .btn.line,html body .model.feature .btn.line,html body .philo .btn.line,html body .story-dark .btn.line,html body .mvp .btn.line,html body .model-feature .btn.line,html body .oracle-closing .btn.line,html body .pe-ai .btn.line,html body .pp-why .btn.line,html body .dm-report .btn.line,html body .cl-band .btn.line,html body .os-why .btn.line,html body .or-qr .btn.line,html body .article-cta .btn.line,html body .contact .btn.line,html body .ft .btn-line,html body .model.feature .btn-line,html body .philo .btn-line,html body .story-dark .btn-line,html body .mvp .btn-line,html body .model-feature .btn-line,html body .oracle-closing .btn-line,html body .pe-ai .btn-line,html body .pp-why .btn-line,html body .dm-report .btn-line,html body .cl-band .btn-line,html body .os-why .btn-line,html body .or-qr .btn-line,html body .article-cta .btn-line,html body .contact .btn-line{background:transparent !important;border-color:rgba(255,255,255,.7) !important;color:#FFFFFF !important;}
html body .ft .btn.line:hover,html body .model.feature .btn.line:hover,html body .philo .btn.line:hover,html body .story-dark .btn.line:hover,html body .mvp .btn.line:hover,html body .model-feature .btn.line:hover,html body .oracle-closing .btn.line:hover,html body .pe-ai .btn.line:hover,html body .pp-why .btn.line:hover,html body .dm-report .btn.line:hover,html body .cl-band .btn.line:hover,html body .os-why .btn.line:hover,html body .or-qr .btn.line:hover,html body .article-cta .btn.line:hover,html body .contact .btn.line:hover,html body .ft .btn-line:hover,html body .model.feature .btn-line:hover,html body .philo .btn-line:hover,html body .story-dark .btn-line:hover,html body .mvp .btn-line:hover,html body .model-feature .btn-line:hover,html body .oracle-closing .btn-line:hover,html body .pe-ai .btn-line:hover,html body .pp-why .btn-line:hover,html body .dm-report .btn-line:hover,html body .cl-band .btn-line:hover,html body .os-why .btn-line:hover,html body .or-qr .btn-line:hover,html body .article-cta .btn-line:hover,html body .contact .btn-line:hover{background:#FFFFFF !important;color:#9A4508 !important;}
/* primary buttons everywhere use the burnt orange button colour */
html body .btn-primary,html body .btn-ink{background:var(--btn);border-color:var(--btn);color:var(--btn-text);}
html body .btn-primary:hover,html body .btn-ink:hover{background:var(--btn-hover);border-color:var(--btn-hover);color:#fff;}
/* numbered circles and icons on orange: white numbers */
.ostart li::before,.dm-steps li::before,.ct-steps li::before,.timeline li.is-lit .node,.svc-row.is-active .svc-glyph{color:#fff !important;}
html body .story-dark .text-link.on-dark,html body .story-dark .story-link{color:#FFFFFF !important;}
html body .ft .or-pack li::before,html body .model.feature .or-pack li::before,html body .philo .or-pack li::before,html body .story-dark .or-pack li::before,html body .mvp .or-pack li::before,html body .model-feature .or-pack li::before,html body .oracle-closing .or-pack li::before,html body .pe-ai .or-pack li::before,html body .pp-why .or-pack li::before,html body .dm-report .or-pack li::before,html body .cl-band .or-pack li::before,html body .os-why .or-pack li::before,html body .or-qr .or-pack li::before,html body .article-cta .or-pack li::before,html body .contact .or-pack li::before{background:#FFFFFF !important;color:#9A4508 !important;}
html body .ft li::before,html body .model.feature li::before,html body .philo li::before,html body .story-dark li::before,html body .mvp li::before,html body .model-feature li::before,html body .oracle-closing li::before,html body .pe-ai li::before,html body .pp-why li::before,html body .dm-report li::before,html body .cl-band li::before,html body .os-why li::before,html body .or-qr li::before,html body .article-cta li::before,html body .contact li::before{border-color:#FFFFFF !important;}
html body .ft .pe-pull,html body .model.feature .pe-pull,html body .philo .pe-pull,html body .story-dark .pe-pull,html body .mvp .pe-pull,html body .model-feature .pe-pull,html body .oracle-closing .pe-pull,html body .pe-ai .pe-pull,html body .pp-why .pe-pull,html body .dm-report .pe-pull,html body .cl-band .pe-pull,html body .os-why .pe-pull,html body .or-qr .pe-pull,html body .article-cta .pe-pull,html body .contact .pe-pull{border-left-color:rgba(255,255,255,.7) !important;color:#fff !important;}
html body .ft svg:not(.ai-dg),html body .model.feature svg:not(.ai-dg),html body .philo svg:not(.ai-dg),html body .story-dark svg:not(.ai-dg),html body .mvp svg:not(.ai-dg),html body .model-feature svg:not(.ai-dg),html body .oracle-closing svg:not(.ai-dg),html body .pe-ai svg:not(.ai-dg),html body .pp-why svg:not(.ai-dg),html body .dm-report svg:not(.ai-dg),html body .cl-band svg:not(.ai-dg),html body .os-why svg:not(.ai-dg),html body .or-qr svg:not(.ai-dg),html body .article-cta svg:not(.ai-dg),html body .contact svg:not(.ai-dg){stroke:#FFFFFF;}
.ft-promise{display:block;color:#fff;font-weight:600;margin-bottom:.4rem;}
.mega-p{color:var(--muted);font-size:.95rem;}
.mega-links{gap:.15rem !important;}
.mega-links:hover{background:transparent !important;}
.mega-links a{display:block;padding:.3rem 0;color:var(--ink);text-decoration:none;font-weight:500;font-size:.98rem;}
.mega-links a:hover{color:var(--accent-text);}
.mega-n{color:var(--accent-text) !important;font-family:var(--sans) !important;font-size:.8rem !important;font-weight:700 !important;letter-spacing:.06em;text-transform:uppercase;}
.mega-k{color:var(--accent-text) !important;}
/* Header logo: always the full-colour brand logo, in light and dark mode */
html header.hd .brand .logo-l{display:block !important;}
html header.hd .brand .logo-d{display:none !important;}
.ft-tm{margin-top:2.5rem;font-size:.78rem;line-height:1.5;color:var(--block-ink-muted);opacity:.85;max-width:60rem;}
.ft-tm + .ft-bottom{margin-top:1.25rem;}
