/* ORRJO light and dark system, 2 November 2026.
   Dark "stage" bands (.ox-dark) for heroes and closing calls to action on the commercial pages;
   everything people read stays light. A four-colour line (.ox-horizon) marks each switch.
   Loaded after the page's inline styles, only on pages that use it. */

/* ---------- Dark band tokens ---------- */
.ox-dark{
  --color-bg:#0B0A10;--color-bg-alt:#121118;--color-surface:#16151D;--color-surface-hover:#1D1C25;
  --color-border:rgba(255,255,255,.1);--color-border-hover:rgba(255,255,255,.22);
  --color-text:#FFFFFF;--color-text-secondary:#C9C7D3;--color-text-tertiary:#A3A1B1;--color-ghost:#8E8C9C;--color-silver:#A3A1B1;
  --ink-magenta:#FF5CF0;--ink-cyan:#3FD9E3;--ink-coral:#FF8257;
  --disp-magenta:#FF2EEB;--disp-cyan:#27CCD7;--disp-coral:#F5602E;
  --color-accent-ink:#FF8257;--color-accent-disp:#F5602E;
  --tint-magenta:rgba(255,46,235,.14);--tint-cyan:rgba(39,204,215,.15);--tint-coral:rgba(245,96,46,.16);--tint-purple:rgba(180,140,255,.16);
  --color-purple-vivid:#B48CFF;--color-purple-soft:#B48CFF;--color-purple-deep:#B48CFF;
  --color-accent-subtle:rgba(255,46,235,.12);--color-accent-glow:rgba(255,46,235,.22);
  --shadow-card:0 0 0 1px rgba(255,255,255,.06);
  --grad-flow:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent);
  position:relative;background:#0B0A10!important;color:var(--color-text);color-scheme:dark
}
.ox-dark.ox-hero{background:radial-gradient(70% 60% at 12% 0%,rgba(109,1,247,.22),transparent 62%),radial-gradient(55% 55% at 92% 100%,rgba(255,46,235,.10),transparent 62%),#0B0A10!important}
.ox-dark ::selection{background:rgba(255,46,235,.35);color:#fff}
.ox-dark a:focus-visible,.ox-dark button:focus-visible{outline:2px solid #FF5CF0;outline-offset:3px}
.ox-dark h1,.ox-dark h2,.ox-dark h3,.ox-dark h4{color:var(--color-text)}

/* The four-colour line between a dark band and a light one, in engine order: research, brand, demand, meetings */
.ox-horizon{display:block;height:2px;background:linear-gradient(90deg,#6D01F7 0%,#FF2EEB 34%,#27CCD7 67%,#F5602E 100%);position:relative;z-index:2}

/* Secondary buttons and soft links on dark */
.ox-dark .btn-secondary,.ox-dark .btn-ghost,.ox-dark .btn-outline{background:rgba(255,255,255,.04)!important;color:#FFFFFF!important;border:1px solid rgba(255,255,255,.24)!important;box-shadow:none!important}
.ox-dark .btn-secondary:hover,.ox-dark .btn-ghost:hover,.ox-dark .btn-outline:hover{background:rgba(255,255,255,.08)!important;border-color:rgba(255,92,240,.7)!important}

/* "Book Meetings." in the brand spectrum: purple, magenta, cyan, coral */
.ox-grad-a,.ox-grad-b,.ox-grad-c{-webkit-background-clip:text!important;background-clip:text!important;-webkit-text-fill-color:transparent;color:transparent!important;text-shadow:none!important}
.ox-grad-a{background-image:linear-gradient(100deg,#8B3DFF 0%,#FF2EEB 100%);background-image:linear-gradient(in oklab 100deg,#8B3DFF 0%,#FF2EEB 100%)}
.ox-grad-b{background-image:linear-gradient(100deg,#FF2EEB 0%,#27CCD7 50%,#F5602E 100%);background-image:linear-gradient(in oklab 100deg,#FF2EEB 0%,#27CCD7 48%,#FF8A5B 80%,#F5602E 100%)}
.ox-grad-c{background-image:linear-gradient(100deg,#F5602E 0%,#F5602E 100%)}
.hero-noun.ox-grad-b::after{background:linear-gradient(90deg,#FF2EEB,#27CCD7 54%,#F5602E)!important}
@media (forced-colors:active){.ox-grad-a,.ox-grad-b,.ox-grad-c{-webkit-text-fill-color:currentColor;color:CanvasText!important;background:none!important}}

/* ---------- Buttons used by the new blocks ---------- */
.ox-btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:52px;padding:0 1.6rem;border-radius:100px;font-family:'Almarena',sans-serif;font-weight:700;font-size:1rem;line-height:1;white-space:nowrap;text-decoration:none;cursor:pointer}
.ox-btn .btn-arrow{font-weight:700}
.ox-btn-ghost{background:transparent;color:var(--color-text,#0A0A0A);border:1px solid var(--color-border-hover,rgba(10,10,10,.18));transition:border-color .2s ease,background .2s ease}
.ox-btn-ghost:hover{border-color:var(--ink-magenta,#C511B6);background:var(--color-accent-subtle,rgba(255,46,235,.06))}
.ox-dark .ox-btn-ghost{color:#FFFFFF;border-color:rgba(255,255,255,.26);background:rgba(255,255,255,.03)}
.ox-dark .ox-btn-ghost:hover{border-color:rgba(255,92,240,.75);background:rgba(255,255,255,.07)}

/* ---------- Location pages: hero ---------- */
.ox-loc .ox-crumb{margin:0 0 1.6rem;font-size:var(--text-xs,.78rem);color:#A3A1B1}
.ox-loc .ox-crumb a{color:#C9C7D3;text-decoration:none}
.ox-loc .ox-crumb a:hover{color:#FFFFFF}
.ox-loc .ox-crumb span{margin:0 .45rem;opacity:.6}
.ox-loc-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(2rem,4vw,4rem);align-items:start}
.ox-loc-main h1{max-width:none!important}
.ox-loc-ctas{display:flex;flex-wrap:wrap;gap:.75rem;margin:0 0 1rem}
.ox-loc-price{font-size:var(--text-sm,.9rem)!important;color:#A3A1B1!important;margin:0 0 .5rem!important;max-width:none!important;line-height:1.6!important}
.ox-loc-price b{font-weight:400;color:#FFFFFF}
.ox-loc-card{border:1px solid rgba(255,255,255,.1);border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.02));padding:1.35rem;margin-top:.4rem}
.ox-loc-card-h{margin:0 0 .9rem!important;font-size:.7rem!important;letter-spacing:.16em;text-transform:uppercase;color:#A3A1B1!important;line-height:1.3!important}
.ox-loc-feat{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.55rem}
.ox-lf{display:flex;flex-direction:column;gap:.25rem;padding:.9rem;border-radius:15px;background:#16151D;border:1px solid rgba(255,255,255,.08);text-decoration:none;transition:border-color .2s ease,transform .2s ease}
.ox-lf:hover{transform:translateY(-1px);border-color:var(--lfc)}
.ox-lf-k{font-size:.64rem;letter-spacing:.15em;text-transform:uppercase;color:var(--lfc)}
.ox-lf b{font-family:'Almarena Display',sans-serif;font-weight:700;font-size:1.02rem;line-height:1.15;letter-spacing:-.015em;color:#FFFFFF}
.ox-lf-p{font-size:.8rem;color:#C9C7D3;margin-top:.15rem}
.ox-lf-lg{--lfc:#FF8257}.ox-lf-dg{--lfc:#3FD9E3}
.ox-loc-list{list-style:none;margin:.9rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem}
.ox-loc-list a{display:inline-flex;align-items:center;min-height:34px;padding:.35rem .75rem;border-radius:100px;border:1px solid rgba(255,255,255,.13);font-size:.8rem;color:#E4E2EC;text-decoration:none;transition:border-color .2s ease,color .2s ease}
.ox-loc-list a:hover{border-color:rgba(255,92,240,.7);color:#FFFFFF}
.ox-loc-all{display:inline-flex;margin-top:1rem;font-size:.86rem;font-weight:700;color:#FF5CF0;text-decoration:none}
.ox-loc .stats-bar{margin-top:clamp(2.5rem,5vw,4rem)}
.ox-loc-hero.hero{padding-top:clamp(6.75rem,5rem + 4vw,8.5rem)!important;padding-bottom:clamp(3rem,2rem + 3vw,4.5rem)!important}
@media (max-width:960px){.ox-loc-grid{grid-template-columns:minmax(0,1fr)}.ox-loc-card{display:none}}
@media (max-width:560px){.ox-loc-ctas .ox-btn{width:100%}}

/* ---------- Every service section (location pages) ---------- */
.ox-svc{--oxc:var(--color-text)}
.ox-svc-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:end;margin-bottom:clamp(2rem,4vw,3rem)}
.ox-eb{margin:0 0 .8rem;font-size:.72rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--color-text-tertiary)}
.ox-svc-head h2{font-size:var(--text-3xl);line-height:1.12;letter-spacing:-.025em;margin:0}
.ox-svc-head p.ox-svc-lede{font-size:var(--text-base);color:var(--color-text-secondary);margin:0;max-width:52ch;line-height:1.65}
.ox-svc-group{display:grid;grid-template-columns:240px minmax(0,1fr);gap:clamp(1.25rem,3vw,2.5rem);padding:clamp(1.75rem,3vw,2.5rem) 0;border-top:1px solid var(--color-border)}
.ox-svc-group:last-child{border-bottom:1px solid var(--color-border)}
.ox-c1{--oxc:var(--ink-magenta,#C511B6);--oxt:rgba(255,46,235,.10)}.ox-c2{--oxc:var(--ink-cyan,#0A7B85);--oxt:rgba(39,204,215,.13)}.ox-c3{--oxc:var(--ink-coral,#C2410C);--oxt:rgba(245,96,46,.11)}.ox-c4{--oxc:#6D01F7;--oxt:rgba(109,1,247,.09)}.ox-c5{--oxc:var(--color-text);--oxt:rgba(10,10,10,.06)}
.ox-num{display:inline-flex;align-items:center;justify-content:center;min-width:52px;height:28px;padding:0 .7rem;border-radius:100px;font-size:.68rem;font-weight:700;letter-spacing:.14em;color:var(--oxc);background:var(--oxt)}
.ox-c5 .ox-num{color:#fff;background:linear-gradient(115deg,#6D01F7,#FF2EEB 40%,#27CCD7 72%,#F5602E)}
.ox-svc-label h3{font-size:var(--text-lg,1.2rem);line-height:1.2;letter-spacing:-.02em;margin:.85rem 0 .45rem}
.ox-svc-label p{font-size:var(--text-sm,.9rem);color:var(--color-text-secondary);line-height:1.55;margin:0;max-width:30ch}
.ox-svc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}
a.ox-card{display:flex;flex-direction:column;gap:.5rem;min-height:190px;padding:1.35rem;border-radius:16px;background:var(--color-surface,#fff);border:1px solid var(--color-border);box-shadow:var(--shadow-card);color:var(--color-text);text-decoration:none;transition:border-color .2s ease,transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s ease}
a.ox-card:hover{border-color:var(--oxc);transform:translateY(-2px);box-shadow:0 18px 40px -26px rgba(22,16,44,.35)}
a.ox-card h4{font-family:'Almarena Display',sans-serif;font-size:1.12rem;line-height:1.22;letter-spacing:-.015em;margin:0;color:var(--color-text)}
a.ox-card p{font-size:.9rem;line-height:1.55;color:var(--color-text-secondary);margin:0}
.ox-card-ft{margin-top:auto;padding-top:.75rem;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.4rem .75rem;font-size:.84rem}
.ox-price{color:var(--color-text);font-weight:600}
.ox-price.ox-soft{font-weight:400;color:var(--color-text-tertiary)}
.ox-go{color:var(--oxc);font-weight:700;white-space:nowrap}
a.ox-card.ox-wide{grid-column:span 2}
a.ox-card.ox-full{grid-column:1/-1;min-height:0}
a.ox-card.ox-wide h4,a.ox-card.ox-full h4{font-size:1.4rem}
a.ox-card.ox-wide .ox-price{font-family:'Almarena Display',sans-serif;font-size:1.25rem;letter-spacing:-.02em}
.ox-incl{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.15rem}
.ox-incl span{font-size:.76rem;padding:.25rem .6rem;border-radius:100px;border:1px solid var(--color-border-hover);color:var(--color-text-secondary)}
@media (max-width:1100px){.ox-svc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){.ox-svc-head,.ox-svc-group{grid-template-columns:minmax(0,1fr)}.ox-svc-label p{max-width:none}}
@media (max-width:620px){.ox-svc-grid{grid-template-columns:minmax(0,1fr)}a.ox-card.ox-wide{grid-column:auto}a.ox-card{min-height:0}}
/* layout refinements */
.ox-svc-head{display:block}
.ox-svc-head h2{max-width:22ch}
.ox-svc-head p.ox-svc-lede{margin-top:1rem}
.ox-c3 .ox-svc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.ox-c3 a.ox-card.ox-wide{grid-column:1/-1;min-height:0}
@media (max-width:620px){.ox-c3 .ox-svc-grid{grid-template-columns:minmax(0,1fr)}}

/* ---------- Home: hero details on the dark stage ---------- */
.ox-dark .hsb{background:linear-gradient(180deg,rgba(255,255,255,.065),rgba(255,255,255,.025))!important;border-color:rgba(255,255,255,.12)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;box-shadow:none!important}
.ox-dark .hsb-purple{--hsb-c:#B48CFF;--hsb-solid:#8B3DFF;--hsb-tint:rgba(139,61,255,.18)}
.ox-dark .hsb-magenta{--hsb-c:#FF5CF0;--hsb-solid:#FF2EEB;--hsb-tint:rgba(255,46,235,.16)}
.ox-dark .hsb-cyan{--hsb-c:#3FD9E3;--hsb-solid:#27CCD7;--hsb-tint:rgba(39,204,215,.16)}
.ox-dark .hsb-coral{--hsb-c:#FF8257;--hsb-solid:#F5602E;--hsb-tint:rgba(245,96,46,.16)}
.ox-dark .hero-video-wrap{border-color:rgba(255,255,255,.14)!important;box-shadow:0 44px 110px -40px rgba(0,0,0,.8)!important}
.ox-dark .hero-media .mv-corner{border-color:rgba(255,255,255,.28)!important}
.ox-dark .hero::before,.ox-dark.hero::before{background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px)!important}
.ox-dark .marquee-track span::after{background:rgba(255,255,255,.2)!important}
.ox-dark.logo-bar{border-color:rgba(255,255,255,.08)!important;background:#0D0C12!important}
/* "Book with Marc" pill (inline styled on several pages) */
.ox-dark a[href*="calendly.com/marc-orrjo"]{background:rgba(255,255,255,.05)!important;color:#FFFFFF!important;border-color:rgba(255,92,240,.45)!important;box-shadow:none!important}
.ox-dark a[href*="calendly.com/marc-orrjo"] span{color:#A3A1B1!important}
.ox-dark a[href*="calendly.com/marc-orrjo"] svg{stroke:#FF5CF0!important}
.ox-dark a[href*="calendly.com/marc-orrjo"]:hover{border-color:#FF5CF0!important;background:rgba(255,255,255,.09)!important}

/* ---------- Pricing: unpriced services ---------- */
.pr-card-price.pr-card-price-call{font-size:clamp(1.25rem,1.05rem + .6vw,1.5rem)!important;letter-spacing:-.02em;line-height:1.2!important;color:var(--color-text)!important}
td.pr-sum-price.pr-sum-call{font-family:'Almarena',sans-serif!important;font-weight:400!important;font-size:.88rem!important;letter-spacing:0!important;color:var(--color-text-tertiary)!important;white-space:nowrap}
.sd-price.sd-price-call{font-size:clamp(1.5rem,1.2rem + 1vw,2rem)!important;line-height:1.15!important}

/* ---------- Home: the free website review on its own dark band ---------- */
.ox-band-review{padding:clamp(4rem,3rem + 4vw,7rem) 0!important;background:radial-gradient(60% 70% at 85% 10%,rgba(255,46,235,.12),transparent 60%),radial-gradient(55% 60% at 10% 100%,rgba(39,204,215,.10),transparent 62%),#0B0A10!important}
.ox-band-review .hr-card{box-shadow:0 50px 120px -50px rgba(0,0,0,.85)!important;border-color:rgba(255,255,255,.08)!important}
.ox-band-review .hr-card{--color-text:#0A0A0A;--color-text-secondary:#5c5b6e;--color-text-tertiary:#6e6d85;--color-border:rgba(10,10,10,.09);--color-border-hover:rgba(10,10,10,.16);color-scheme:light}
.ox-dark .hr-card h2,.ox-dark .hr-card h3,.ox-dark .hr-card .hr-h{color:#0A0A0A!important}
/* city page H1: the full offer, sized to sit in the hero column */
.ox-loc-main h1{font-size:clamp(2.35rem,1.5rem + 3.3vw,4.15rem)!important;line-height:1.04!important;letter-spacing:-.035em!important;margin-bottom:1.4rem!important}
