:root{--fs-micro:12px;--fs-caption:13.5px;--fs-ui:15px;--fs-body:16px;--fs-lead:clamp(17px,1.4vw,20px);--fs-lead-l:clamp(18px,1.5vw,21px);--fs-title-s:clamp(21px,1.9vw,27px);--fs-section:clamp(42px,6vw,92px)}
/* Personality layer — October 2026.
   Warm colour themes per section, the smiling RZT logo, playful motion and a few small games.
   Loaded after the existing styles; every rule is scoped to body.rzt-fun. */

/* One harmonised family: equal lightness and chroma for every background, every accent and every accent text.
   Ruby stays the signature; ivory is the base (warm, Anthropic-like); ink is the bold Nike-like moment. */
:root{
  --t-bg:#f7f2ea;--t-primary:#b6243a;--t-primary-text:#9c1f33;--t-soft:#efe6dc;--t-shadow:110 70 40;
  --rzt-ink:#17151a;--rzt-sheet:#fffdf9;--rzt-spring:cubic-bezier(.34,1.56,.64,1);--rzt-out:cubic-bezier(.25,1,.5,1);
  --rzt-radius:28px;
  --rzt-ruby:#b6243a;--rzt-clay:#c4623f;--rzt-sage:#3e8651;--rzt-mist:#337ab0;--rzt-lilac:#835cbe;
}
html[data-theme="ivory"],body [data-theme="ivory"]{--t-bg:#f7f2ea;--t-primary:#b6243a;--t-primary-text:#9c1f33;--t-soft:#efe6dc;--t-shadow:110 70 40}
html[data-theme="blush"],body [data-theme="blush"]{--t-bg:#fbefec;--t-primary:#b6243a;--t-primary-text:#9c1f33;--t-soft:#f6d9d6;--t-shadow:120 30 40}
html[data-theme="clay"],body [data-theme="clay"]{--t-bg:#fbefe6;--t-primary:#c4623f;--t-primary-text:#8a3b1f;--t-soft:#f4d6c2;--t-shadow:130 60 30}
html[data-theme="sage"],body [data-theme="sage"]{--t-bg:#ecf4ec;--t-primary:#3e8651;--t-primary-text:#1c5f31;--t-soft:#cfe5d2;--t-shadow:30 80 45}
html[data-theme="mist"],body [data-theme="mist"]{--t-bg:#eaf2fb;--t-primary:#337ab0;--t-primary-text:#105483;--t-soft:#cde0f4;--t-shadow:20 70 120}
html[data-theme="lilac"],body [data-theme="lilac"]{--t-bg:#f2eefb;--t-primary:#835cbe;--t-primary-text:#5c3a8b;--t-soft:#e0d7f5;--t-shadow:70 40 130}

html:has(>body.rzt-fun){background:var(--t-bg);transition:background-color .6s var(--rzt-out)}
body.rzt-fun{--rzt-action:#b6243a;--rzt-action-text:#9c1f33;--rzt-action-on-dark:#ff8a99;--paper:var(--t-bg);--table:color-mix(in srgb,var(--t-soft) 55%,#fff);--accent:var(--t-primary-text);background:var(--t-bg);transition:background-color .6s var(--rzt-out)}
body.rzt-fun ::selection{background:var(--t-primary);color:#fff}
body.rzt-fun :focus-visible{outline:3px dashed var(--t-primary-text);outline-offset:3px;border-radius:6px}

/* ---------- Header: logo left, floating pill navigation, the face on the right. ---------- */
body.rzt-fun .site-header{top:10px;margin-top:10px}
body.rzt-fun .header-inner{min-height:68px;padding:6px 6px 6px 18px;border:0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
body.rzt-fun .desktop-nav{position:absolute;left:50%;translate:-50% 0;margin:0;padding:5px;gap:2px;border-radius:999px;background:rgb(255 255 255 / .74);box-shadow:0 6px 24px rgb(var(--t-shadow) / .10),0 0 0 1px rgb(255 255 255 / .6) inset;-webkit-backdrop-filter:blur(18px) saturate(150%);backdrop-filter:blur(18px) saturate(150%)}
body.rzt-fun .desktop-nav a{border-radius:999px;padding:9px 17px;min-height:42px;font-size:var(--fs-ui);font-weight:550;transition:background .2s,color .2s,scale .2s var(--rzt-spring)}
body.rzt-fun .desktop-nav a:hover{background:var(--t-soft)}
body.rzt-fun .desktop-nav a[aria-current]{background:var(--rzt-ink);color:#fff}
body.rzt-fun .header-contact{margin-left:auto;border-radius:999px;border:0;background:var(--rzt-ink);color:#fff;padding:11px 20px;font-weight:650;transition:background .2s,translate .25s var(--rzt-out)}
body.rzt-fun .header-contact>span{color:var(--rzt-action-on-dark);transition:translate .25s var(--rzt-spring)}
body.rzt-fun .header-contact:hover{background:var(--rzt-ink);color:#fff;text-decoration:none}
body.rzt-fun .header-contact:hover>span{translate:3px -3px}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){body.rzt-fun .desktop-nav{background:#fff}}
@media (prefers-reduced-transparency:reduce),(prefers-contrast:more){body.rzt-fun .desktop-nav{background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none}}
@media (max-width:1180px) and (min-width:901px){body.rzt-fun .desktop-nav{position:static;translate:none;margin-left:auto}}

/* The logo wakes up: the three bars become two eyes and a nose, and a smile draws in underneath. */
.brand-symbol{position:relative}
.brand-symbol::after{content:"";position:absolute;left:3px;right:3px;bottom:-1px;height:11px;border:3.6px solid var(--brand);border-top:0;border-radius:0 0 16px 16px;transform:skewY(19deg) scale(.2,.2);transform-origin:50% 0;opacity:0;transition:transform .5s var(--rzt-spring),opacity .25s}
body.rzt-fun .brand-symbol i{transition:transform .5s var(--rzt-spring)}
body.rzt-fun .brand.is-face .brand-symbol i:nth-child(1){transform:translateY(-6px) scaleY(.42)}
body.rzt-fun .brand.is-face .brand-symbol i:nth-child(2){transform:translateY(-4px) scaleY(.6)}
body.rzt-fun .brand.is-face .brand-symbol i:nth-child(3){transform:translateY(-8px) scaleY(.42)}
body.rzt-fun .brand.is-face .brand-symbol::after{transform:skewY(19deg) scale(1);opacity:1}
body.rzt-fun .brand.is-face.is-blink .brand-symbol i:nth-child(1),body.rzt-fun .brand.is-face.is-blink .brand-symbol i:nth-child(3){transform:translateY(-6px) scaleY(.08);transition-duration:.08s}
body.rzt-fun .brand.is-face.is-wink .brand-symbol i:nth-child(3){transform:translateY(-6px) scaleY(.08)}
body.rzt-fun .brand.is-spin .brand-symbol{animation:rzt-spin .6s var(--rzt-out)}
/* ---------- Logo moods: the drawn face, the little emote above it and small body moves (see personality.js). ---------- */
body.rzt-fun .brand{position:relative}
body.rzt-fun .brand-symbol i{transition:transform .5s var(--rzt-spring),opacity .14s}
.rzt-face{position:absolute;inset:0;width:100%;height:100%;overflow:visible;opacity:0;pointer-events:none;transition:opacity .14s}
body.rzt-fun .brand.is-mood .rzt-face{opacity:1}
body.rzt-fun .brand.is-mood .brand-symbol i,body.rzt-fun .brand.is-face.is-mood .brand-symbol::after{opacity:0}
.rzt-face .rzt-part{animation:rzt-part-in .24s var(--rzt-spring) both;transform-box:fill-box;transform-origin:center}
.rzt-face .rzt-blinkable{transform-box:fill-box;transform-origin:center;transition:scale .08s}
.rzt-face.is-blink .rzt-blinkable{scale:1 .12}
.rzt-emote{position:absolute;width:18px;height:18px;pointer-events:none;z-index:2;animation:rzt-part-in .36s var(--rzt-spring) both}
.rzt-emote svg{display:block;overflow:visible}
.rzt-emote g,.rzt-emote circle,.rzt-face g,.rzt-face path{transform-box:fill-box;transform-origin:center}
.rzt-twinkle{animation:rzt-twinkle 1.1s ease-in-out infinite}
.rzt-rise{animation:rzt-rise 1.7s ease-out infinite}
.rzt-slide{animation:rzt-slide 1.5s ease-in infinite}
.rzt-rain{animation:rzt-rain .6s linear infinite}
.rzt-throb{animation:rzt-throb .7s ease-in-out infinite}
.rzt-wiggle{animation:rzt-wiggle .45s ease-in-out infinite alternate}
.rzt-dot{animation:rzt-dot 1.2s ease-in-out infinite}
.rzt-glow{animation:rzt-glow .9s ease-in-out infinite alternate}
.rzt-orbit,.rzt-spin-eye{animation:rzt-orbit 1.4s linear infinite}
.rzt-bob-note{animation:rzt-bob-note .55s ease-in-out infinite alternate}
.rzt-tear{animation:rzt-tear 1s ease-in infinite}
.rzt-face-glance{animation:rzt-face-glance 1.1s steps(1) infinite}
.rzt-late{animation-delay:.35s}.rzt-later{animation-delay:.7s}
@keyframes rzt-part-in{from{scale:.55;opacity:0}to{scale:1;opacity:1}}
@keyframes rzt-twinkle{0%,100%{scale:1;opacity:1}50%{scale:.55;opacity:.6}}
@keyframes rzt-rise{0%{translate:0 3px;opacity:0}30%{opacity:1}100%{translate:0 -9px;opacity:0}}
@keyframes rzt-slide{0%{translate:0 -2px;opacity:0}25%{opacity:1}100%{translate:0 4px;opacity:0}}
@keyframes rzt-rain{from{translate:0 -1px;opacity:1}to{translate:-1px 3px;opacity:0}}
@keyframes rzt-throb{0%,100%{scale:1}50%{scale:1.2}}
@keyframes rzt-wiggle{from{rotate:-12deg}to{rotate:12deg}}
@keyframes rzt-dot{0%,100%{opacity:.2}40%{opacity:1}}
@keyframes rzt-glow{from{opacity:.75;scale:.94}to{opacity:1;scale:1.06}}
@keyframes rzt-orbit{to{rotate:360deg}}
@keyframes rzt-bob-note{from{translate:0 -2px;rotate:-8deg}to{translate:0 1px;rotate:8deg}}
@keyframes rzt-tear{from{translate:0 0;opacity:1}to{translate:0 5px;opacity:0}}
@keyframes rzt-face-glance{0%{translate:-1.6px 0}50%{translate:1.6px 0}}
.brand-symbol.rzt-move-bob{animation:rzt-m-bob 1.1s ease-in-out infinite alternate}
.brand-symbol.rzt-move-bounce{animation:rzt-m-bounce .42s ease-in-out infinite alternate}
.brand-symbol.rzt-move-laugh{animation:rzt-m-laugh .15s ease-in-out infinite alternate}
.brand-symbol.rzt-move-sway{animation:rzt-m-sway 1.5s ease-in-out infinite alternate}
.brand-symbol.rzt-move-shrink{animation:rzt-m-shrink .4s var(--rzt-spring) both}
.brand-symbol.rzt-move-puff{animation:rzt-m-puff .45s var(--rzt-spring) both}
.brand-symbol.rzt-move-tilt{animation:rzt-m-tilt .45s var(--rzt-spring) both}
.brand-symbol.rzt-move-sigh{animation:rzt-m-sigh 2.2s ease-in-out infinite}
.brand-symbol.rzt-move-droop{animation:rzt-m-droop .8s ease-out both}
.brand-symbol.rzt-move-shiver{animation:rzt-m-shiver .09s linear infinite alternate}
.brand-symbol.rzt-move-shake{animation:rzt-m-shake .1s linear infinite alternate}
.brand-symbol.rzt-move-jump{animation:rzt-m-jump .55s var(--rzt-out) both}
.brand-symbol.rzt-move-lean{animation:rzt-m-lean .45s var(--rzt-spring) both}
.brand-symbol.rzt-move-sidestep{animation:rzt-m-sidestep 1.6s ease-in-out infinite alternate}
.brand-symbol.rzt-move-recoil{animation:rzt-m-recoil .35s var(--rzt-spring) both}
.brand-symbol.rzt-move-wobble{animation:rzt-m-wobble 1.1s ease-in-out infinite alternate}
.brand-symbol.rzt-move-nod{animation:rzt-m-nod .5s ease-in-out infinite alternate}
.brand-symbol.rzt-move-flop{animation:rzt-m-flop .5s var(--rzt-out) both}
.brand-symbol.rzt-move-hop{animation:rzt-m-hop .6s ease-in-out infinite alternate}
.brand-symbol.rzt-move-rub{animation:rzt-m-rub .22s ease-in-out infinite alternate}
@keyframes rzt-m-bob{to{translate:0 -2px}}
@keyframes rzt-m-bounce{from{translate:0 0;scale:1.04 .94}to{translate:0 -4px;scale:.97 1.04}}
@keyframes rzt-m-laugh{to{translate:0 -1.3px}}
@keyframes rzt-m-sway{from{rotate:-5deg}to{rotate:5deg}}
@keyframes rzt-m-shrink{to{scale:.9;translate:0 1px}}
@keyframes rzt-m-puff{to{scale:1.1}}
@keyframes rzt-m-tilt{to{rotate:-8deg}}
@keyframes rzt-m-sigh{0%,100%{scale:1}45%{scale:1.03 .93}}
@keyframes rzt-m-droop{to{translate:0 2px;scale:1 .93;rotate:3deg}}
@keyframes rzt-m-shiver{from{translate:-.6px 0}to{translate:.6px 0}}
@keyframes rzt-m-shake{from{translate:-1.3px 0}to{translate:1.3px 0}}
@keyframes rzt-m-jump{0%{translate:0 0}40%{translate:0 -6px;scale:.96 1.06}70%{translate:0 1px;scale:1.05 .95}100%{translate:0 0;scale:1}}
@keyframes rzt-m-lean{to{rotate:6deg;translate:1px 0}}
@keyframes rzt-m-sidestep{from{translate:-2px 0;rotate:-4deg}to{translate:2px 0;rotate:4deg}}
@keyframes rzt-m-recoil{to{rotate:-9deg;translate:-2px 0}}
@keyframes rzt-m-wobble{from{rotate:-11deg;translate:-1.5px 0}to{rotate:11deg;translate:1.5px 0}}
@keyframes rzt-m-nod{to{translate:0 1.6px}}
@keyframes rzt-m-flop{to{rotate:15deg;translate:0 2px;scale:1 .86}}
@keyframes rzt-m-hop{from{translate:-2px 0;rotate:-6deg}to{translate:2px -3px;rotate:6deg}}
@keyframes rzt-m-rub{to{translate:0 -1px}}
.rzt-mood-label{position:absolute;left:calc(100% + 12px);top:50%;translate:0 -50%;white-space:nowrap;padding:4px 10px;border-radius:999px;background:var(--rzt-ink);color:#fff;font-size:var(--fs-micro);font-weight:650;letter-spacing:0}
@keyframes rzt-spin{to{rotate:360deg}}

/* The logo stays when you scroll (the usual way home, like Apple's and Stripe's headers): face and name sit in a pill
   on the same frosted white as the menu pill. The name takes you home; the face plays (see personality.js). */
body.rzt-fun .site-header .brand{border-radius:999px;transition:background .3s ease,box-shadow .3s ease,padding .35s var(--rzt-out)}
body.rzt-fun.rzt-scrolled .site-header .brand{padding:6px 18px 6px 12px;background:rgb(255 255 255 / .74);-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);box-shadow:0 6px 24px rgb(var(--t-shadow) / .10),0 0 0 1px rgb(255 255 255 / .6) inset}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){body.rzt-fun.rzt-scrolled .site-header .brand{background:#fff}}


/* ---------- Theme harmony: older components follow the section colour, cards are white. ---------- */
body.rzt-fun main,body.rzt-fun main [data-theme]{--brand:var(--t-primary-text);--accent:var(--t-primary-text)}
body.rzt-fun .brand-symbol i{background:#b6243a}
body.rzt-fun .brand-symbol::after{border-color:#b6243a}
body.rzt-fun :is(.work-paper,.work-paper:nth-child(2),.price-card,.deal-work,.partner-invitation,.detail-items>div,.detail-index,.detail-table-wrap,.reading-links a,.engagement-routes a,.ongoing-pricing details,.rate-explainer,.work-notes){background:#fff;border:1px solid rgb(var(--t-shadow) / .1);box-shadow:0 18px 40px -28px rgb(var(--t-shadow) / .38)}
body.rzt-fun :is(.engagement-routes a[href]){background:#fff;border-color:rgb(var(--t-shadow) / .14)}
body.rzt-fun .detail-index a{border-radius:12px}
body.rzt-fun .detail-index a[aria-current]{background:var(--t-soft);border-left-color:var(--t-primary);color:var(--t-primary-text)}
body.rzt-fun .detail-index a:hover{background:color-mix(in srgb,var(--p-soft) 50%,#fff)}
body.rzt-fun .detail-metric{background:var(--t-soft);border-color:transparent}
body.rzt-fun .detail-takeaway{background:color-mix(in srgb,var(--t-soft) 60%,#fff);border-left-color:var(--t-primary);color:var(--rzt-ink)}
body.rzt-fun .detail-items{counter-reset:rzt-item}
body.rzt-fun .detail-items>div{counter-increment:rzt-item;border-left-width:1px;border-radius:22px;padding:24px 26px 26px}
body.rzt-fun .detail-items>div::before{content:counter(rzt-item,decimal-leading-zero);display:inline-grid;place-items:center;width:40px;height:40px;margin-bottom:14px;border-radius:50%;background:var(--t-soft);color:var(--t-primary-text);font-weight:750;font-size:var(--fs-caption);letter-spacing:.02em}
body.rzt-fun .detail-items h3{color:var(--rzt-ink)}
body.rzt-fun .starting-routes a>span:last-child{color:var(--rzt-action);border-color:rgb(var(--t-shadow) / .18)}
body.rzt-fun .starting-routes a:hover>span:last-child{background:var(--rzt-action);border-color:var(--rzt-action);color:#fff}
body.rzt-fun .text-link>span[aria-hidden]{color:var(--rzt-action)}

/* ---------- "How I help" menu. ---------- */
.rzt-mega{position:static}
.rzt-mega>summary{display:inline-flex;align-items:center;gap:7px;list-style:none;cursor:pointer;border-radius:999px;padding:9px 17px;min-height:42px;font-size:var(--fs-ui);font-weight:550;color:var(--ink);transition:background .2s,color .2s}
.rzt-mega>summary::-webkit-details-marker{display:none}
.rzt-mega>summary:hover{background:var(--t-soft)}
.rzt-mega[open]>summary,.rzt-mega>summary[aria-current]{background:var(--rzt-ink);color:#fff}
.rzt-mega-chevron{width:8px;height:8px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;rotate:45deg;translate:0 -2px;transition:rotate .25s var(--rzt-out),translate .25s}
.rzt-mega[open] .rzt-mega-chevron{rotate:225deg;translate:0 2px}
.rzt-mega-panel{position:absolute;left:50%;top:calc(100% + 10px);translate:-50% 0;width:min(1180px,calc(100vw - 40px));padding:clamp(22px,2.4vw,34px);border-radius:28px;background:#fff;box-shadow:0 30px 70px -20px rgb(var(--t-shadow) / .35),0 0 0 1px rgb(0 0 0 / .04)}
.rzt-mega[open] .rzt-mega-panel{animation:rzt-mega-in .32s var(--rzt-out)}
@keyframes rzt-mega-in{from{opacity:0;translate:-50% -8px}}
.rzt-mega-cols{display:grid;grid-template-columns:repeat(5,auto);justify-content:space-between;gap:18px 22px}
.rzt-mega-col{display:flex;flex-direction:column;gap:5px}
.rzt-mega-col a span{white-space:nowrap}
@media (max-width:1100px){.rzt-mega-cols{grid-template-columns:repeat(3,minmax(0,1fr))}}
.rzt-mega-col>p{margin:0 0 12px;font-size:var(--fs-body);font-weight:700;letter-spacing:-.01em;color:var(--rzt-ink)}
.rzt-mega-col a{position:relative;z-index:1;display:flex;align-items:center;gap:10px;min-height:38px;padding:5px 8px;margin-inline:-8px;border-radius:12px;font-size:var(--fs-ui);font-weight:550;color:#57535c;transition:background .2s ease,color .2s ease}
.rzt-mega-col a:hover,.rzt-mega-col a[aria-current]{background:var(--t-soft);color:var(--rzt-ink)}
.rzt-mega-col .rzt-icon{flex:none;width:20px;height:20px;color:var(--rzt-ink)}
.rzt-mega-col[data-group="lead"] .rzt-icon-accent{stroke:var(--rzt-ruby)}
.rzt-mega-col[data-group="design"] .rzt-icon-accent{stroke:var(--rzt-lilac)}
.rzt-mega-col[data-group="build"] .rzt-icon-accent{stroke:var(--rzt-mist)}
.rzt-mega-col[data-group="automate"] .rzt-icon-accent{stroke:var(--rzt-sage)}
.rzt-mega-col[data-group="grow"] .rzt-icon-accent{stroke:var(--rzt-clay)}
/* Sectors: one quiet row of pills under the columns. */
.rzt-mega-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.rzt-mega-row>p{margin:0;font-size:var(--fs-ui);font-weight:700;letter-spacing:-.01em;color:var(--rzt-ink)}
.rzt-mega-row>div{display:flex;flex-wrap:wrap;gap:8px}
.rzt-mega-row a{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:5px 13px 5px 10px;border-radius:999px;background:#f6f3ee;font-size:var(--fs-caption);font-weight:550;color:#57535c;transition:background .18s,color .18s}
.rzt-mega-row a:hover,.rzt-mega-row a[aria-current]{background:var(--t-soft);color:var(--rzt-ink)}
.rzt-mega-row .rzt-icon{flex:none;width:17px;height:17px;color:var(--rzt-ink)}
.rzt-mega-row .rzt-icon-accent{stroke:var(--rzt-action)}
.rzt-mega-row+.rzt-mega-all{border-top:0;margin-top:12px;padding-top:4px}
/* The current page sits on ink: its icon turns light so it stays visible. */
.rzt-mega a[aria-current] .rzt-icon{color:#fff}
.rzt-mega-all{display:inline-flex;gap:8px;margin-top:22px;padding-top:16px;border-top:1px solid var(--line);width:100%;font-weight:650;font-size:var(--fs-ui)}
.rzt-mega-all span{color:var(--t-primary)}
.rzt-icon-accent{stroke:var(--t-primary)}

/* ---------- Icon cards (expertise pages). ---------- */
.rzt-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2vw,32px);margin:28px 0 8px}
.rzt-card .rzt-icon{width:30px;height:30px;color:var(--rzt-ink)}
.rzt-card h3{margin:16px 0 8px;padding-top:16px;border-top:1px solid color-mix(in srgb,var(--t-primary) 22%,transparent);font-size:var(--fs-lead-l);letter-spacing:-.02em;font-weight:650}
.rzt-card p{margin:0;font-size:var(--fs-ui);line-height:1.6;color:#4d4952}
.detail-section:has(.rzt-cards) .detail-cards-lead{display:none}
@media (max-width:1000px){.rzt-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.rzt-cards{grid-template-columns:1fr}}

/* ---------- At a glance: the four-card band under an expertise page heading. ---------- */
.rzt-glance{margin:clamp(30px,4vw,56px) 0 clamp(40px,5vw,72px);padding-top:clamp(26px,3vw,40px);border-top:1px solid color-mix(in srgb,var(--t-primary) 25%,transparent)}
.rzt-glance>h2{font-size:clamp(15px,1.1vw,17px);letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--t-primary-text);margin:0 0 6px}
.rzt-glance .rzt-cards{margin-top:18px}

/* ---------- Expertise map (services hub). ---------- */
.rzt-expertise-map{display:grid;gap:18px;margin:clamp(24px,4vw,48px) 0 clamp(40px,5vw,70px)}
.rzt-expertise-group{padding:clamp(20px,2.6vw,34px);border-radius:calc(var(--rzt-radius) + 4px);background:var(--t-bg);box-shadow:inset 0 0 0 1px rgb(var(--t-shadow) / .08)}
.rzt-expertise-group h2{font-size:clamp(26px,2.6vw,38px);letter-spacing:-.04em;font-weight:650;margin:0 0 16px}
.rzt-expertise-group>div{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
@media (min-width:900px){.rzt-expertise-group>div{grid-template-columns:repeat(3,minmax(0,1fr))}}
.rzt-expertise-card{display:flex;flex-direction:column;gap:8px;padding:18px 18px 20px;border-radius:20px;background:#fff;box-shadow:0 14px 30px -22px rgb(var(--t-shadow) / .5);transition:translate .3s var(--rzt-out),box-shadow .3s}
.rzt-expertise-card .rzt-icon{width:26px;height:26px;color:var(--rzt-ink)}
.rzt-expertise-card b{font-size:18px;letter-spacing:-.02em}
.rzt-expertise-card span{font-size:var(--fs-caption);line-height:1.5;color:#55515a}
@media (hover:hover){.rzt-expertise-card:hover{translate:0 -3px;box-shadow:0 22px 40px -24px rgb(var(--t-shadow) / .6)}}

/* ---------- Mobile dock. ---------- */
.rzt-dock{display:none}
@media (max-width:900px){
  body.rzt-fun.rzt-has-dock .mobile-menu{display:none}
  body.rzt-fun .rzt-dock{position:fixed;z-index:40;left:50%;bottom:max(14px,env(safe-area-inset-bottom));translate:-50% 0;display:flex;gap:2px;padding:5px;max-width:calc(100% - 20px);border-radius:999px;background:rgb(255 255 255 / .86);box-shadow:0 10px 30px rgb(var(--t-shadow) / .22),0 0 0 1px rgb(0 0 0 / .05);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
  body.rzt-fun .rzt-dock a{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:44px;padding:0 12px;border-radius:999px;font-size:var(--fs-caption);font-weight:600;color:var(--rzt-ink);white-space:nowrap}
  body.rzt-fun .rzt-dock a[aria-current]{background:var(--t-soft)}
  body.rzt-fun .rzt-dock .rzt-dock-talk{background:var(--rzt-ink);color:#fff}
  body.rzt-fun .rzt-dock .rzt-dock-talk span{color:var(--rzt-action-on-dark)}
  body.rzt-fun .header-contact{display:none}
}

/* ---------- Typography with a bit more voice. ---------- */
body.rzt-fun .systems-hero h1{grid-column:1/-1;font-size:clamp(50px,8.4vw,136px);line-height:.98;letter-spacing:-.065em;font-weight:600;max-width:none;margin-bottom:.32em}
body.rzt-fun .section-heading h2,body.rzt-fun .pricing-heading h2,body.rzt-fun .about-title h2,body.rzt-fun .contact-introduction h2{letter-spacing:-.05em}
body.rzt-fun h1 em,body.rzt-fun h2 em,body.rzt-fun h3 em,body.rzt-fun .hero-statement em{color:var(--t-primary-text);transition:color .6s}
body.rzt-fun .rzt-hl{color:var(--t-primary-text)}
body.rzt-fun .rzt-strike,body.rzt-fun .rzt-strike .rzt-word>span{text-decoration:line-through;text-decoration-thickness:.07em;text-decoration-color:var(--t-primary);color:color-mix(in srgb,currentColor 55%,transparent)}
.rzt-word{display:inline-block!important;overflow:hidden;vertical-align:top;padding-bottom:.24em;margin:0 0 -.24em!important;color:inherit!important;font:inherit!important;letter-spacing:inherit!important}
.rzt-word>span{display:inline-block;white-space:pre}
.rzt-reveal-ready [data-split] .rzt-word>span{opacity:0;transform:translateY(.18em);transition:opacity .45s var(--rzt-out),transform .5s var(--rzt-out);transition-delay:calc(var(--i,0) * 25ms)}
.rzt-reveal-ready [data-split].is-in .rzt-word>span{opacity:1;transform:none}
.rzt-reveal-ready [data-reveal]{opacity:0;translate:0 8px;transition:opacity .45s var(--rzt-out),translate .5s var(--rzt-out)}
.rzt-reveal-ready [data-reveal].is-in{opacity:1;translate:0 0}
.rzt-reveal-ready [data-reveal="2"]{transition-delay:.08s}
.rzt-reveal-ready [data-reveal="3"]{transition-delay:.16s}
.rzt-reveal-ready [data-reveal="4"]{transition-delay:.24s}

/* ---------- Buttons and cards: rounder, warmer, tinted shadows. ---------- */
body.rzt-fun .primary-link{border-radius:999px;background:var(--rzt-ink);box-shadow:0 10px 26px rgb(var(--t-shadow) / .18);transition:translate .25s var(--rzt-out),box-shadow .25s}
body.rzt-fun .primary-link>span{color:var(--rzt-action-on-dark);transition:translate .25s var(--rzt-spring)}
body.rzt-fun .primary-link:hover>span{translate:3px 3px}
body.rzt-fun .work-paper,body.rzt-fun .price-card,body.rzt-fun .deal-work,body.rzt-fun .partner-invitation,body.rzt-fun .reading-links a,body.rzt-fun .starting-routes a{border-radius:var(--rzt-radius)}
body.rzt-fun .work-paper,body.rzt-fun .price-card{box-shadow:0 18px 40px -18px rgb(var(--t-shadow) / .28);transition:translate .35s var(--rzt-out),box-shadow .35s}
@media (hover:hover){body.rzt-fun .work-paper:hover,body.rzt-fun .price-card:hover{translate:0 -4px;box-shadow:0 26px 50px -20px rgb(var(--t-shadow) / .34)}}
body.rzt-fun .programme-price{border-radius:calc(var(--rzt-radius) + 8px)}

/* ---------- The team (it's all me): staggered role cards. ---------- */
.rzt-team{padding-block:clamp(70px,9vw,140px)}
.rzt-team-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:6%;align-items:end;margin-bottom:clamp(36px,5vw,70px)}
.rzt-team-head h2{font-size:var(--fs-section);line-height:.98;letter-spacing:-.06em;font-weight:600}
.rzt-team-head p{font-size:var(--fs-lead);line-height:1.6;color:var(--muted)}
.rzt-role{position:relative;margin:0;border-radius:var(--rzt-radius);overflow:hidden;background:#e9e7e4;box-shadow:0 18px 40px -22px rgb(var(--t-shadow) / .35)}
.rzt-role img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;transition:scale .6s var(--rzt-out)}
@media (hover:hover){.rzt-role:hover img{scale:1.04}}
.rzt-role figcaption{position:absolute;left:12px;right:12px;bottom:12px;display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.rzt-pill{display:inline-flex;align-items:center;min-height:32px;padding:4px 13px;border-radius:999px;background:#fff;color:var(--rzt-ink);font-size:var(--fs-caption);font-weight:650;line-height:1.2;box-shadow:0 4px 12px rgb(0 0 0 / .08)}
.rzt-pill.is-name{background:var(--rzt-ink);color:#fff}
.rzt-role .rzt-quip{flex-basis:100%;margin:2px 0 0;padding:7px 12px;border-radius:14px;background:rgb(255 255 255 / .9);font-size:var(--fs-caption);line-height:1.4;color:#3b3940;opacity:0;translate:0 8px;transition:opacity .3s,translate .35s var(--rzt-out)}
.rzt-role:hover .rzt-quip,.rzt-role:focus-within .rzt-quip{opacity:1;translate:0 0}
@media (hover:none){.rzt-role .rzt-quip{opacity:1;translate:0 0}}
@media (max-width:900px){.rzt-team-head{grid-template-columns:1fr}}

/* ---------- Hero photo: a card that opens up as you scroll. ---------- */
.rzt-hero-photo{margin:clamp(24px,4vw,56px) auto 0;width:min(100% - 2*var(--gutter),1320px);border-radius:calc(var(--rzt-radius) + 8px);overflow:hidden;position:relative;background:var(--t-soft);box-shadow:0 30px 70px -30px rgb(var(--t-shadow) / .45)}
.rzt-hero-photo img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.rzt-hero-photo figcaption{position:absolute;left:clamp(14px,2vw,26px);bottom:clamp(14px,2vw,26px);display:flex;gap:8px;flex-wrap:wrap}
@supports (animation-timeline:view()){
  @media (prefers-reduced-motion:no-preference) and (min-width:701px){
    .rzt-hero-photo{animation:rzt-open linear both;animation-timeline:view();animation-range:entry 0% cover 45%}
    @keyframes rzt-open{from{width:min(100% - 2*var(--gutter),1000px);border-radius:56px}to{width:calc(100% - 24px);border-radius:28px}}
  }
}

/* ---------- Things I love: a box of hobbies. ---------- */
.rzt-loves{padding-block:clamp(70px,9vw,130px)}
.rzt-loves-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:6%;align-items:end;margin-bottom:clamp(28px,4vw,48px)}
.rzt-loves-head .eyebrow{grid-column:1/-1}
.rzt-loves-head h2{font-size:var(--fs-section);line-height:.98;letter-spacing:-.06em;font-weight:600}
.rzt-loves-head>p:last-child{font-size:var(--fs-lead);line-height:1.6;color:var(--muted)}
.rzt-loves-pit{position:relative;border-radius:calc(var(--rzt-radius) + 8px);background:var(--rzt-sheet);box-shadow:0 26px 60px -34px rgb(var(--t-shadow) / .45);padding:clamp(18px,2.4vw,30px)}
.rzt-loves-list{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none}
.rzt-loves-list li{display:inline-flex;align-items:center;min-height:44px;padding:8px 20px;border-radius:999px;font-weight:650;font-size:clamp(15px,1.15vw,18px);line-height:1.2;white-space:nowrap;user-select:none;-webkit-user-select:none}
.rzt-loves-list li:nth-child(3n){rotate:-2deg}.rzt-loves-list li:nth-child(4n+1){rotate:1.5deg}
/* Friendly pastel pills with deep same-hue text; a few ruby favourites are the only solid ones. */
.rzt-loves-list li{border:1px solid transparent;box-shadow:0 10px 20px -14px rgb(23 21 26 / .4)}
.rzt-loves-list li[data-c="ruby"]{background:#fbe3e6;color:#8f1d30;border-color:#f1c6cc}
.rzt-loves-list li[data-c="clay"]{background:#fbe6d9;color:#86391c;border-color:#f0cdb8}
.rzt-loves-list li[data-c="sage"]{background:#def0e1;color:#1e5a32;border-color:#bfdcc5}
.rzt-loves-list li[data-c="mist"]{background:#ddebf8;color:#134f7c;border-color:#bcd5ee}
.rzt-loves-list li[data-c="lilac"]{background:#ebe3f9;color:#56348a;border-color:#d3c4f0}
.rzt-loves-list li[data-c="ink"]{background:#fff;color:var(--rzt-ink);border-color:#e3ddd4}
.rzt-loves-list li[data-c="star"]{background:var(--rzt-ruby);color:#fff;border-color:var(--rzt-ruby)}
.rzt-loves-hint{margin-top:18px;font-size:var(--fs-caption);color:var(--muted)}
.rzt-loves-pit:not(.is-physics) .rzt-loves-hint{display:none}
.rzt-loves-pit.is-physics-ready,.rzt-loves-pit.is-physics{height:clamp(480px,46vw,620px);overflow:hidden}
.rzt-loves-pit.is-physics{padding:0}
.rzt-loves-pit.is-physics .rzt-loves-list{position:absolute;inset:0}
.rzt-loves-pit.is-physics .rzt-loves-list li{position:absolute;left:0;top:0;rotate:0deg;will-change:transform}
.rzt-loves-pit.is-physics .rzt-loves-hint{position:absolute;left:26px;top:22px;margin:0}
.rzt-loves-pit.is-over{cursor:grab}
.rzt-loves-pit.is-grabbing{cursor:grabbing}
@media (max-width:900px){.rzt-loves-head{grid-template-columns:1fr}}

/* ---------- Numbers that count up. ---------- */
.rzt-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,28px);padding-block:clamp(40px,6vw,90px)}
.rzt-stat{padding:clamp(22px,2.6vw,36px);border-radius:var(--rzt-radius);background:var(--rzt-sheet);box-shadow:0 18px 40px -24px rgb(var(--t-shadow) / .3)}
.rzt-stat b{display:block;font-size:var(--fs-section);line-height:1;letter-spacing:-.06em;font-weight:600;color:var(--t-primary-text);font-variant-numeric:tabular-nums}
.rzt-stat p{margin-top:14px;font-size:var(--fs-ui);line-height:1.55;color:var(--muted)}
@media (max-width:760px){.rzt-stats{grid-template-columns:1fr}}

/* ---------- Draggable photo strip (off the clock). ---------- */
.rzt-strip{display:flex;gap:clamp(12px,1.6vw,20px);overflow-x:auto;scroll-snap-type:x proximity;padding:8px var(--gutter) 26px;margin-inline:calc(var(--gutter) * -1);cursor:grab;scrollbar-width:thin;overscroll-behavior-x:contain}
.rzt-strip.is-dragging{cursor:grabbing;scroll-snap-type:none}
.rzt-strip.is-dragging>*{scale:.97}
.rzt-strip>figure{flex:0 0 min(78vw,520px);margin:0;scroll-snap-align:start;border-radius:var(--rzt-radius);overflow:hidden;background:var(--rzt-sheet);transition:scale .3s var(--rzt-out);box-shadow:0 18px 40px -26px rgb(var(--t-shadow) / .4)}
.rzt-strip img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;pointer-events:none;-webkit-user-drag:none;user-select:none}
.rzt-strip figcaption{padding:16px 20px 20px;font-size:var(--fs-ui);line-height:1.5}
.rzt-strip figcaption b{display:block;font-size:18px;margin-bottom:4px}

/* ---------- Photo cards with a caption. ---------- */
.rzt-photo-card{margin:0;border-radius:var(--rzt-radius);overflow:hidden;background:var(--rzt-sheet);box-shadow:0 22px 50px -28px rgb(var(--t-shadow) / .45)}
.rzt-photo-card img{display:block;width:100%;height:auto}
.rzt-photo-card figcaption{padding:14px 18px 16px;font-size:var(--fs-ui);line-height:1.45;color:#3a3740}
.rzt-scenes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,1.8vw,24px);margin:clamp(36px,5vw,64px) 0}
.rzt-scenes .rzt-photo-card:nth-child(2){margin-top:clamp(24px,4vw,64px)}
.rzt-about-photo{margin-bottom:clamp(26px,3vw,40px)}
@media (max-width:760px){.rzt-scenes{grid-template-columns:1fr}.rzt-scenes .rzt-photo-card:nth-child(2){margin-top:0}}

/* ---------- Off the clock. ---------- */
.rzt-offclock{padding-block:clamp(60px,8vw,120px);overflow:hidden}
.rzt-offclock-head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:6%;align-items:end;margin-bottom:clamp(24px,3vw,40px)}
.rzt-offclock-head .eyebrow{grid-column:1/-1}
.rzt-offclock-head h2{font-size:var(--fs-section);line-height:.98;letter-spacing:-.06em;font-weight:600}
.rzt-offclock-head>p:last-child{font-size:var(--fs-lead);color:var(--muted)}
@media (max-width:900px){.rzt-offclock-head{grid-template-columns:1fr}}

/* ---------- Footer: a big friendly ask, a play pit and the page lifting away. ---------- */
body.rzt-fun .site-footer.rzt-footer{position:relative;border:0;padding:clamp(48px,5.5vw,84px) 0 26px;overflow:hidden;width:100%;max-width:none;background:#fff}
.rzt-footer .shell{position:relative;z-index:1}
.rzt-cta{display:inline-block;font-size:clamp(44px,7.4vw,124px);line-height:1;letter-spacing:-.06em;font-weight:600;color:var(--rzt-ink);text-decoration:none}
.rzt-cta .rzt-cta-line{display:block}
.rzt-cta .rzt-cta-arrow{display:inline-block;color:var(--rzt-action);transition:translate .35s var(--rzt-spring)}
.rzt-cta:hover .rzt-cta-arrow{translate:12px -6px}
.rzt-ticker-stack{display:inline-grid;color:var(--t-primary-text)}
.rzt-ticker-stack>span{grid-area:1/1;white-space:nowrap}
.rzt-ticker-stack>span:not(:first-child){opacity:0}
.rzt-footer-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:clamp(30px,4vw,56px);max-width:820px}
.rzt-footer-cols p{font-size:var(--fs-caption);color:var(--muted);margin-bottom:10px}
.rzt-footer-cols a,.rzt-footer-cols span{display:block;font-size:var(--fs-ui);line-height:1.75}
.rzt-footer-cols a:hover{color:var(--rzt-action-text)}
.rzt-footer-bottom{display:flex;flex-wrap:wrap;gap:12px 26px;align-items:center;justify-content:space-between;margin-top:clamp(36px,4vw,64px);padding-top:22px;border-top:1px solid var(--line);font-size:var(--fs-caption);color:var(--muted)}
.rzt-footer-bottom nav{display:flex;gap:18px;align-items:center}
.rzt-footer-bottom nav a+a::before{content:"✳";margin-right:18px;color:var(--t-primary)}
@media (max-width:991px){.rzt-footer-cols{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.rzt-footer-cols{grid-template-columns:1fr}}
@media (min-width:992px) and (prefers-reduced-motion:no-preference){
  html.rzt-footer-reveal body.rzt-fun main{position:relative;z-index:1;background:var(--t-bg);border-radius:0 0 48px 48px;box-shadow:0 30px 60px -30px rgb(var(--t-shadow) / .35);transition:background-color .6s var(--rzt-out)}
  html.rzt-footer-reveal body.rzt-fun .site-footer.rzt-footer{position:sticky;bottom:0;z-index:0}
}

/* ---------- Contact: one big friendly ask, like a studio's front door. ---------- */
.rzt-contact{padding-block:clamp(70px,10vw,150px)}
.rzt-contact-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:5%;align-items:center}
.rzt-contact h2{font-size:clamp(46px,6.6vw,112px);line-height:.96;letter-spacing:-.06em;font-weight:650;margin:14px 0 0}
.rzt-contact h2 em{font-family:var(--serif);font-weight:400;letter-spacing:-.03em}
.rzt-contact-lead{max-width:560px;margin:24px 0 34px;font-size:var(--fs-lead-l);line-height:1.55}
.rzt-brief-button{display:inline-flex;align-items:center;gap:20px;min-height:70px;padding:16px 36px;border-radius:999px;background:var(--rzt-ink);color:#fff;font-size:var(--fs-lead-l);font-weight:650;box-shadow:0 18px 40px -16px rgb(var(--t-shadow) / .55);transition:background .25s,translate .3s var(--rzt-out)}
.rzt-brief-button span{color:#ff8a99;transition:translate .3s var(--rzt-spring),color .25s}
.rzt-brief-button:hover{background:var(--rzt-ruby)}
.rzt-brief-button:hover span{color:#fff;translate:4px -4px}
.rzt-contact-direct{margin-top:34px}
.rzt-contact-direct p{margin:0 0 4px;font-size:var(--fs-ui);color:var(--muted)}
.rzt-contact-email{display:inline-block;font-size:var(--fs-title-s);font-weight:600;letter-spacing:-.02em;border-bottom:2px solid var(--t-primary);padding-bottom:2px}
.rzt-contact-email span{color:var(--t-primary)}
.rzt-contact-direct .copy-address{margin-left:14px;border:1.5px solid var(--line);border-radius:999px;background:transparent;padding:8px 14px;font:inherit;font-size:var(--fs-caption);cursor:pointer}
.rzt-contact-direct .copy-address-status{font-size:var(--fs-caption);margin-top:6px}
.rzt-contact-where{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:38px 0 0;padding-top:22px;border-top:1px solid var(--line)}
.rzt-contact-where dt{font-size:var(--fs-micro);letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--t-primary-text)}
.rzt-contact-where dd{margin:6px 0 0;font-size:var(--fs-ui);line-height:1.45}
.rzt-contact-photo{position:relative;margin:0;border-radius:36px;overflow:hidden;rotate:2deg;box-shadow:0 30px 70px -30px rgb(var(--t-shadow) / .55);transition:rotate .5s var(--rzt-spring)}
.rzt-contact-photo:hover{rotate:0deg}
.rzt-contact-photo img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;object-position:62% 40%}
.rzt-contact-photo figcaption{position:absolute;left:16px;bottom:16px;right:16px;display:flex;flex-wrap:wrap;gap:6px}
@media (max-width:900px){.rzt-contact-inner{grid-template-columns:1fr}.rzt-contact-photo{rotate:0deg;margin-top:20px}.rzt-contact-where{grid-template-columns:1fr}}

/* ---------- The brief sheet ("Let's get started"). ---------- */
html.rzt-sheet-open{overflow:hidden}
.rzt-visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.rzt-sheet{position:fixed;inset:0;z-index:80}
.rzt-sheet-backdrop{position:absolute;inset:0;background:rgb(23 21 26 / .48);opacity:0;transition:opacity .3s}
.rzt-sheet.is-open .rzt-sheet-backdrop{opacity:1}
.rzt-sheet-panel{position:absolute;left:50%;bottom:0;translate:-50% 102%;width:min(1000px,100%);max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain;background:#fff;border-radius:36px 36px 0 0;box-shadow:0 -20px 60px rgb(0 0 0 / .18);transition:translate .5s var(--rzt-spring)}
.rzt-sheet.is-open .rzt-sheet-panel{translate:-50% 0}
.rzt-sheet-close{position:sticky;top:16px;float:right;margin:16px 16px 0 0;z-index:2;width:46px;height:46px;border:0;border-radius:50%;background:#f1ece6;font-size:26px;line-height:1;cursor:pointer;transition:background .2s,rotate .3s var(--rzt-spring)}
.rzt-sheet-close:hover{background:var(--rzt-ink);color:#fff;rotate:90deg}
.rzt-sheet-inner{padding:clamp(30px,4.5vw,64px) clamp(22px,6vw,84px) 44px}
.rzt-sheet-head h2{margin:0 0 14px;font-size:var(--fs-section);line-height:.98;letter-spacing:-.06em;font-weight:650}
.rzt-sheet-head h2 em{font-family:var(--serif);font-weight:400;letter-spacing:-.03em;color:var(--rzt-ruby)}
.rzt-sheet-head p{max-width:640px;margin:0 0 6px;font-size:var(--fs-lead);line-height:1.55}
.rzt-sheet-alt{color:#6a6570;font-style:italic;font-family:var(--serif)}
.rzt-sheet-alt a{color:var(--rzt-ruby)}
.rzt-brief{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 34px;margin-top:clamp(28px,3.5vw,44px)}
.rzt-brief>[data-field="message"],.rzt-brief>[data-field="help"],.rzt-brief>[data-field="contact"],.rzt-brief>[data-field="links"],.rzt-brief>[data-field="files"],.rzt-brief>[data-field="heard"],.rzt-brief>.rzt-sheet-submit,.rzt-brief>.rzt-sheet-status,.rzt-brief>.rzt-sheet-copy,.rzt-brief>.rzt-sheet-privacy{grid-column:1/-1}
.rzt-field{margin:0;padding:0;border:0;min-width:0}
.rzt-field>label,.rzt-field>legend,.rzt-pair label{display:block;margin-bottom:6px;padding:0;font-size:var(--fs-ui);font-weight:700;color:var(--rzt-ink)}
.rzt-field>label>span,.rzt-field>legend>span{color:var(--rzt-ruby)}
.rzt-brief input[type="text"],.rzt-brief input[type="email"],.rzt-brief input[type="tel"],.rzt-brief textarea{width:100%;box-sizing:border-box;border:0;border-bottom:1.6px solid #dcd5cf;border-radius:0;background:transparent;padding:10px 0 12px;font:inherit;font-size:18px;color:var(--rzt-ink);transition:border-color .2s}
.rzt-brief textarea{border:1.6px solid #dcd5cf;border-radius:18px;padding:14px 16px;resize:vertical;min-height:140px}
.rzt-brief input::placeholder,.rzt-brief textarea::placeholder{color:#a39da6}
.rzt-brief input:focus,.rzt-brief textarea:focus{outline:none;border-color:var(--rzt-ruby)}
.rzt-brief input:focus::placeholder,.rzt-brief textarea:focus::placeholder{color:#d4a7af}
.rzt-brief [aria-invalid="true"]{border-color:#c0263c}
.rzt-help{margin:8px 0 0;font-size:var(--fs-caption);line-height:1.5;color:#6a6570}
.rzt-help a{color:var(--rzt-ruby);text-decoration:underline;text-underline-offset:3px}
.rzt-error{margin:8px 0 0;font-size:var(--fs-caption);font-weight:650;color:#b3122a}
.rzt-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 34px}
.rzt-pair legend{grid-column:1/-1}
.rzt-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.rzt-chip{position:relative;cursor:pointer}
.rzt-chip input{position:absolute;opacity:0;inset:0;cursor:pointer;margin:0}
.rzt-chip span{display:inline-flex;align-items:center;gap:7px;min-height:42px;padding:8px 16px;border:1.6px solid #dcd5cf;border-radius:999px;font-size:var(--fs-ui);font-weight:600;transition:background .18s,color .18s,border-color .18s,scale .2s var(--rzt-spring)}
.rzt-chip:hover span{border-color:var(--rzt-ink)}
.rzt-chip input:checked+span{background:var(--rzt-ink);border-color:var(--rzt-ink);color:#fff}
.rzt-chip input:checked+span::before{content:"✓";color:#ff8a99}
.rzt-chip input:focus-visible+span{outline:3px dashed var(--rzt-ruby);outline-offset:3px}
.rzt-chip input:active+span{scale:.96}
.rzt-sheet-submit{display:flex;justify-content:center;align-items:center;gap:10px;width:100%;min-height:62px;margin-top:6px;border:0;border-radius:999px;background:var(--rzt-ink);color:#fff;font:inherit;font-size:18px;font-weight:650;cursor:pointer;transition:background .2s}
.rzt-sheet-submit span:last-child{color:#ff8a99}
.rzt-sheet-submit:hover{background:var(--rzt-ruby)}
.rzt-sheet-submit:hover span:last-child{color:#fff}
.rzt-sheet-status{margin:0;font-weight:600;min-height:1.4em}
.rzt-sheet-copy textarea{min-height:180px;font-size:var(--fs-caption)}
.rzt-copy-draft{margin-top:10px;border:1.6px solid var(--rzt-ink);border-radius:999px;background:#fff;padding:10px 18px;font:inherit;font-weight:650;cursor:pointer}
.rzt-sheet-privacy{margin:0;font-size:var(--fs-caption);color:#6a6570}
.rzt-sheet-privacy a{text-decoration:underline;text-underline-offset:3px}
@media (max-width:700px){.rzt-brief,.rzt-pair{grid-template-columns:1fr}.rzt-pair>div+div{margin-top:18px}.rzt-sheet-panel{border-radius:28px 28px 0 0}}
@media (prefers-reduced-motion:reduce){.rzt-sheet-panel,.rzt-sheet-backdrop{transition:none}}

/* ---------- Easter eggs. ---------- */
.rzt-surprise{position:fixed;z-index:60;right:0;bottom:0;display:flex;align-items:flex-end;gap:10px;padding:0 18px 0 0;translate:110% 0;transition:translate .5s var(--rzt-spring);pointer-events:none}
.rzt-surprise.is-in{translate:0 0;animation:rzt-bob .5s .5s 3 ease-in-out}
.rzt-surprise img{width:128px;height:auto;image-rendering:pixelated}
.rzt-surprise p{margin:0 0 150px;padding:10px 14px;border-radius:16px 16px 16px 4px;background:#fff;font-weight:650;font-size:var(--fs-ui);box-shadow:0 10px 30px rgb(0 0 0 / .14)}
@keyframes rzt-bob{50%{transform:translateY(-8px)}}
.rzt-toast{position:fixed;z-index:60;left:50%;top:96px;translate:-50% -20px;opacity:0;margin:0;padding:12px 20px;border-radius:999px;background:var(--rzt-ink);color:#fff;font-weight:600;font-size:var(--fs-ui);transition:opacity .3s,translate .4s var(--rzt-spring)}
.rzt-toast.is-in{opacity:1;translate:-50% 0}
body.rzt-windy h1,body.rzt-windy h2,body.rzt-windy h3,body.rzt-windy .rzt-role,body.rzt-windy .work-paper,body.rzt-windy .price-card{animation:rzt-sway 1.2s ease-in-out 2;transform-origin:50% 100%}
body.rzt-windy::after{content:"";position:fixed;inset:0;z-index:55;pointer-events:none;background:repeating-linear-gradient(100deg,transparent 0 46px,rgb(140 210 230 / .25) 47px 49px,transparent 50px 120px);animation:rzt-gust 2.2s linear}
@keyframes rzt-sway{25%{rotate:-1.6deg;translate:-6px 0}75%{rotate:1.2deg;translate:5px 0}}
@keyframes rzt-gust{from{background-position:-600px 0;opacity:0}20%{opacity:1}to{background-position:900px 0;opacity:0}}

/* ---------- 404. ---------- */
.rzt-404{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.75fr);gap:6%;align-items:center;padding-block:clamp(40px,6vw,90px)}
.rzt-404 h1{font-size:clamp(52px,7.5vw,116px);line-height:.95;letter-spacing:-.06em;font-weight:600;margin:14px 0 22px}
.rzt-404 h1 em{font-family:var(--serif);font-weight:400;letter-spacing:-.03em}
.rzt-404-lead{font-size:var(--fs-lead);line-height:1.6;max-width:520px;margin-bottom:26px}
.rzt-404 .hero-actions{margin-bottom:18px}
@media (max-width:760px){.rzt-404{grid-template-columns:1fr}}

/* ---------- Smooth page changes between pages. ---------- */
@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:.35s}

/* ---------- Lenis smooth scrolling. ---------- */
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}
.lenis.lenis-stopped{overflow:hidden}

/* ---------- Round 1 fixes (critical review, 10 October 2026). ---------- */
/* The page colour reaches the top edge, so nothing shows through under the header. */
html.rzt-footer-reveal body.rzt-fun main{margin-top:-90px;padding-top:90px}
/* Copy-email button on the light contact section. */
body.rzt-fun .rzt-contact-direct .copy-address{color:var(--rzt-ink);border-color:rgb(var(--t-shadow) / .25)}
body.rzt-fun .rzt-contact-direct .copy-address-status{color:var(--t-primary-text)}
/* Leftover warm-grey and pink surfaces follow the section colour. */
body.rzt-fun .pricing-section{background:transparent}
body.rzt-fun .name-note,body.rzt-fun .name-note>summary{background:#fff;border-color:rgb(var(--t-shadow) / .12)}
body.rzt-fun .service-number{background:var(--t-soft);color:var(--t-primary-text);border-color:transparent}
body.rzt-fun .detail-contact .eyebrow{color:color-mix(in srgb,var(--t-primary) 40%,#fff)}
body.rzt-fun .detail-section .detail-takeaway{background:color-mix(in srgb,var(--t-soft) 60%,#fff);color:var(--rzt-ink);border-left-color:var(--t-primary)}
body.rzt-fun .reading-links>a:hover{background:color-mix(in srgb,var(--p-soft) 45%,#fff);border-color:var(--p-primary)}
body.rzt-fun .detail-contents .detail-index nav{border:0;box-shadow:none;background:none;padding:0}
/* Disclosures that became white cards get breathing room. */
body.rzt-fun :is(.work-notes,.ongoing-pricing details,.rate-explainer){border-radius:var(--rzt-radius);overflow:hidden}
body.rzt-fun .ongoing-pricing{display:grid;gap:12px}
body.rzt-fun :is(.work-notes>summary,.ongoing-pricing summary,.rate-explainer>summary){padding-inline:clamp(18px,2.4vw,32px)}
body.rzt-fun :is(.work-notes-grid,.ongoing-pricing .price-detail,.rate-explainer>p){padding-inline:clamp(18px,2.4vw,32px);padding-bottom:24px}
body.rzt-fun .work-notes .close-section{margin:0 clamp(18px,2.4vw,32px) 24px}
/* At-a-glance cards: the rule belongs to the card, the icon sits in a soft circle. */
body.rzt-fun .rzt-card{padding-top:18px;border-top:1px solid color-mix(in srgb,var(--t-primary) 25%,transparent)}
body.rzt-fun .rzt-card h3{border-top:0;padding-top:0;margin-top:14px}
body.rzt-fun .rzt-card .rzt-icon{box-sizing:content-box;width:24px;height:24px;padding:10px;border-radius:50%;background:var(--t-soft)}
/* A lonely last card spans the row. */
body.rzt-fun .detail-items>div:last-child:nth-child(odd),body.rzt-fun .reading-links>a:last-child:nth-child(odd){grid-column:1/-1}
body.rzt-fun .detail-section .reading-links{margin-top:40px}
/* Two-sentence headings break between the sentences. */
body.rzt-fun .detail-hero h1{text-wrap:balance}
body.rzt-fun .rzt-h1-2{display:block}
/* Footer: the play pit floor sits above the legal row; separators without glyphs. */
.rzt-footer-bottom nav{flex-wrap:wrap;column-gap:22px;row-gap:8px}
.rzt-footer-bottom nav a+a::before{content:none}
@media (max-width:900px){body.rzt-fun .site-footer.rzt-footer{padding-bottom:110px}}
/* Section photos: tidy alignment. */
.rzt-scenes{align-items:start}
@media (min-width:901px){body.rzt-fun .about-title{position:sticky;top:120px;align-self:start}}
/* Hobby pills: deeper clay and sage for readable white text. */
.rzt-loves-more{display:none}
/* Strip: first card keeps the gutter; arrows for mouse users. */
.rzt-strip{scroll-padding-inline:var(--gutter)}
.rzt-strip-nav{display:none;gap:10px;justify-content:flex-end;margin:0 0 14px}
.rzt-strip-nav button{width:48px;height:48px;border-radius:50%;border:1.5px solid rgb(var(--t-shadow) / .25);background:#fff;font-size:20px;cursor:pointer;transition:background .2s,color .2s}
.rzt-strip-nav button:hover{background:var(--rzt-ink);color:#fff}
@media (hover:hover) and (pointer:fine){.rzt-strip-nav{display:flex}}
/* 404 links read as links. */
.rzt-404 p a{text-decoration:underline;text-decoration-color:var(--rzt-action);text-underline-offset:4px;font-weight:600}
/* Phones. */
@media (max-width:700px){
  .rzt-role{overflow:visible;background:transparent;box-shadow:none}
  .rzt-role img{border-radius:var(--rzt-radius);box-shadow:0 14px 30px -20px rgb(var(--t-shadow) / .4)}
  .rzt-role figcaption{position:static;margin-top:10px}
  .rzt-role .rzt-quip{opacity:1;translate:none;padding:6px 2px;background:none}
  .rzt-hero-photo img{aspect-ratio:4/3}
  .rzt-hero-photo figcaption{position:static;padding:12px 14px 14px}
  .rzt-loves-pit:not(.is-physics):not(.is-open) .rzt-loves-list li:nth-child(n+17){display:none}
  .rzt-loves-pit:not(.is-physics) .rzt-loves-more{display:inline-flex;margin-top:14px;border:1.5px solid var(--rzt-ink);border-radius:999px;background:#fff;padding:10px 18px;font:inherit;font-weight:650;cursor:pointer}
  body.rzt-fun .detail-hero{padding-bottom:40px}
}

/* Expertise pages: a photograph of Richard beside the heading. */
@media (min-width:1000px){
  body.rzt-fun .detail-hero:is(.rzt-has-photo,:has(>.rzt-detail-photo)){display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);column-gap:6%;align-items:start}
  body.rzt-fun .detail-hero:is(.rzt-has-photo,:has(>.rzt-detail-photo))>*:not(.rzt-detail-photo){grid-column:1}
  body.rzt-fun .detail-hero:is(.rzt-has-photo,:has(>.rzt-detail-photo))>.rzt-detail-photo{grid-column:2;grid-row:1 / span 8;align-self:center}
}
.rzt-detail-photo{position:relative;margin:0;border-radius:32px;overflow:hidden;rotate:1.5deg;box-shadow:0 30px 60px -30px rgb(var(--t-shadow) / .5);max-width:460px;justify-self:end;transition:rotate .5s var(--rzt-spring)}
.rzt-detail-photo.is-wide{max-width:600px}
.rzt-detail-photo:hover{rotate:0deg}
.rzt-detail-photo img{display:block;width:100%;height:auto}
.rzt-detail-photo figcaption{position:absolute;left:14px;bottom:14px;right:14px;display:flex;flex-wrap:wrap;gap:6px}
@media (max-width:999px){.rzt-detail-photo{max-width:440px;margin:30px auto 0;rotate:0deg}}

/* ---------- Round 2 fixes. ---------- */
.rzt-utility-main{min-height:calc(100svh - 90px)}
.rzt-404 p a:not(.primary-link){text-decoration:underline}
.rzt-404 p a.primary-link{text-decoration:none}
body.rzt-fun .rzt-contact-direct .copy-address{display:block;margin:12px 0 0}
.rzt-mega-all{border-radius:0}
body.rzt-fun .price-basis,body.rzt-fun .programme-personal{color:var(--t-primary-text)}
body.rzt-fun .programme-price .eyebrow,body.rzt-fun .programme-price .programme-personal{color:color-mix(in srgb,var(--t-primary) 40%,#fff)}
body.rzt-fun .off-duty-inner .text-link>span[aria-hidden],body.rzt-fun .rift-invite>span{color:#ff9aa8}
@media (max-width:900px){.rzt-footer-bottom{flex-direction:column;align-items:flex-start}}
@media (max-width:700px){body.rzt-fun .signature-intro .hero-call-note{grid-column:1/-1;flex-basis:100%}}
/* Expertise map: no holes in the last row. */
@media (min-width:900px){.rzt-expertise-group>div>a:last-child:nth-child(3n+2){grid-column:span 2}}
@media (min-width:560px) and (max-width:899px){.rzt-expertise-group>div{grid-template-columns:repeat(2,minmax(0,1fr))}.rzt-expertise-group>div>a:last-child:nth-child(odd){grid-column:1/-1}}

/* ---------- Round 3 fixes. ---------- */
@media (min-width:1000px){body.rzt-fun .detail-hero.rzt-has-photo{max-width:none}}

@media (max-width:700px){body.rzt-fun .starting-routes a{border-radius:0}body.rzt-fun .signature-intro .hero-call-note{text-align:left}}
body.rzt-fun .desktop-nav a.rzt-mega-all{border-radius:0;padding-inline:0;min-height:auto}
body.rzt-fun .desktop-nav a.rzt-mega-all:hover{background:none;color:var(--rzt-action-text)}
body.rzt-fun .pricing-section{border:0}
body.rzt-fun .name-note>summary{display:flex;justify-content:space-between;align-items:center;gap:12px}
/* Collection pages (expertise hub, guides): use the full width below the hero. */
body.rzt-fun .detail-layout-collection{display:block}
body.rzt-fun .detail-layout-collection .detail-body{max-width:none;width:100%}
body.rzt-fun .detail-layout-collection .detail-section>p{max-width:72ch}
@media (min-width:900px){body.rzt-fun .detail-layout-collection .reading-links{grid-template-columns:repeat(3,minmax(0,1fr))}body.rzt-fun .detail-layout-collection .detail-items{grid-template-columns:repeat(3,minmax(0,1fr))}body.rzt-fun .detail-layout-collection .detail-items>div:last-child:nth-child(odd){grid-column:auto}}

@media (max-width:700px){body.rzt-fun.signature-experience .signature-intro .hero-actions>.hero-call-note{grid-column:1/-1;grid-row:2;justify-self:start;text-align:left;margin:-2px 0 6px}body.rzt-fun.signature-experience .signature-intro .hero-actions>.text-link{grid-row:3}}

/* ---------- Capabilities: one big statement, six plain lists (home). ---------- */
.rzt-capabilities{padding-block:clamp(16px,2.5vw,36px) clamp(60px,8vw,120px)}
.rzt-cap-statement{max-width:1180px;margin:0 0 clamp(40px,5vw,72px);font-size:clamp(30px,4vw,62px);line-height:1.06;letter-spacing:-.045em;font-weight:600;color:var(--rzt-ink)}
.rzt-cap-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(36px,4vw,56px) clamp(24px,4vw,64px)}
.rzt-cap-grid h3{margin:0 0 14px;font-size:var(--fs-title-s);letter-spacing:-.025em;font-weight:650;color:var(--rzt-ink)}
.rzt-cap-grid ul{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.rzt-cap-grid a{font-size:clamp(16px,1.25vw,19px);color:#56525c;transition:color .2s,translate .25s var(--rzt-spring);display:inline-block}
.rzt-cap-grid a:hover{color:var(--rzt-action-text);translate:3px 0}
@media (max-width:900px){.rzt-cap-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.rzt-cap-grid{grid-template-columns:1fr}}

/* ---------- The team promise: why many hats is a strength, not a stretch. ---------- */
.rzt-team-promise{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.8vw,24px);margin:0 0 clamp(34px,4vw,56px);padding:0;list-style:none}
.rzt-team-promise li{padding:clamp(20px,2.2vw,30px);border-radius:var(--rzt-radius);background:var(--rzt-sheet);box-shadow:0 18px 40px -30px rgb(var(--t-shadow) / .45)}
.rzt-team-promise b{display:block;margin-bottom:10px;font-size:clamp(34px,3.4vw,52px);line-height:1;letter-spacing:-.05em;font-weight:650;color:var(--t-primary-text)}
.rzt-team-promise p{margin:0;font-size:clamp(15px,1.1vw,17px);line-height:1.55;color:var(--muted)}
@media (max-width:820px){.rzt-team-promise{grid-template-columns:1fr}}

/* ---------- The team carousel: 38 hats, grouped, with jump chips. ---------- */
.rzt-team-chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 18px}
.rzt-team-count{flex:none;white-space:nowrap;margin-right:6px;font-size:var(--fs-caption);font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--t-primary-text)}
.rzt-team-chips button{min-height:40px;padding:8px 16px;border-radius:999px;border:1.5px solid rgb(var(--t-shadow) / .22);background:#fff;color:var(--rzt-ink);font:inherit;font-size:var(--fs-caption);font-weight:650;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.rzt-team-chips button:hover{border-color:var(--rzt-ink)}
.rzt-team-chips button[aria-pressed="true"]{background:var(--rzt-ink);border-color:var(--rzt-ink);color:#fff}
@media (min-width:1200px){.rzt-team-chips{padding-right:130px}.rzt-team-chips+.rzt-strip-nav{margin-top:-62px;margin-bottom:22px}}
.rzt-team-strip{display:grid;grid-auto-flow:column;grid-template-rows:repeat(2,auto);grid-auto-columns:clamp(190px,16vw,240px);align-items:start;padding-bottom:clamp(56px,5vw,80px)}
.rzt-team-strip.is-auto{scroll-snap-type:none}
.rzt-team-strip>figure.rzt-role{background:#e9e7e4;border-radius:var(--rzt-radius)}
.rzt-team-strip>figure.rzt-role:nth-child(4n+3),.rzt-team-strip>figure.rzt-role:nth-child(4n+4){translate:0 clamp(18px,2.6vw,40px)}
body .rzt-team-strip.is-endless>figure.rzt-role{translate:none}
body .rzt-team-strip.is-endless>figure.rzt-role[data-lift]{translate:0 clamp(18px,2.6vw,40px)}
@media (max-width:700px){body .rzt-team-strip.is-endless>figure.rzt-role[data-lift]{translate:none}body .rzt-team-strip.is-endless>figure.rzt-role[data-lift-phone]{translate:0 22px}}
/* Both photo strips run edge to edge (like Apple's galleries and Humaan's About gallery): the photos leave at the
   screen edge instead of being cut at the text column, the first one lines up with the text, and there is no scrollbar
   (arrows, drag and swipe do the moving). */
body.rzt-fun{overflow-x:clip}
body.rzt-fun .rzt-strip{margin-inline:calc(50% - 50vw);padding-inline:calc(50vw - 50%);scroll-padding-inline:var(--bleed, 16px);scrollbar-width:none}
body.rzt-fun .rzt-strip::-webkit-scrollbar{display:none}
.rzt-team-play{flex:none;display:inline-grid;place-items:center;width:40px;height:40px;padding:0!important;margin-left:4px;font-size:var(--fs-caption)!important;line-height:1}
.rzt-team-strip img{aspect-ratio:4/5}
.rzt-team-strip .rzt-role figcaption{padding:0}
.rzt-team-strip .rzt-pill{min-height:28px;padding:3px 11px;font-size:var(--fs-micro)}
@media (max-width:700px){.rzt-team-strip{grid-template-rows:auto;grid-auto-columns:62vw}.rzt-team-strip>figure.rzt-role:nth-child(4n+3),.rzt-team-strip>figure.rzt-role:nth-child(4n+4){translate:none}.rzt-team-strip>figure.rzt-role:nth-child(2n){translate:0 22px}.rzt-team-chips{flex-wrap:nowrap;overflow-x:auto;margin-inline:calc(var(--gutter) * -1);padding:2px var(--gutter);scrollbar-width:none}.rzt-team-chips button{flex:none}}

/* ---------- Brief files: a friendly drop zone under "Anything useful to look at?". ---------- */
.rzt-drop{margin-top:-10px}
.rzt-field>label.rzt-drop-zone{display:grid;justify-items:center;gap:6px;margin:0;padding:24px 18px;font-size:var(--fs-body);font-weight:500;border:2px dashed rgb(23 21 26 / .18);border-radius:18px;background:#faf8f5;text-align:center;cursor:pointer;transition:border-color .2s,background-color .2s,scale .25s var(--rzt-spring)}
.rzt-drop-zone:hover,.rzt-drop.is-over .rzt-drop-zone{border-color:var(--rzt-ruby);background:#fbe3e6}
.rzt-drop.is-over .rzt-drop-zone{scale:1.015}
.rzt-drop-zone b{font-weight:700}
.rzt-field>label.rzt-drop-zone>span{color:var(--rzt-ink)}
.rzt-field>label.rzt-drop-zone>.rzt-drop-icon{color:var(--rzt-ruby)}
.rzt-drop-zone u{text-decoration-color:var(--rzt-ruby);text-underline-offset:3px}
.rzt-drop-zone small{display:block;max-width:420px;font-size:var(--fs-caption);font-weight:400;line-height:1.45;color:var(--muted)}
.rzt-drop-icon{font-size:22px;line-height:1;color:var(--rzt-ruby)}
#rzt-files:focus-visible+.rzt-drop-zone{outline:3px dashed var(--rzt-ruby);outline-offset:3px}
.rzt-drop-list{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 0;padding:0;list-style:none}
.rzt-drop-list:empty{display:none}
.rzt-drop-list li{display:inline-flex;align-items:center;gap:8px;max-width:100%;padding:6px 6px 6px 14px;border-radius:999px;background:#fff;border:1px solid #e3ddd4;font-size:var(--fs-caption)}
.rzt-drop-list li span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:260px}
.rzt-drop-list li small{color:var(--muted)}
.rzt-drop-list button{display:inline-grid;place-items:center;width:28px;height:28px;border:0;border-radius:50%;background:#f1ece6;font-size:var(--fs-body);cursor:pointer}
.rzt-drop-list button:hover{background:var(--rzt-ink);color:#fff}

/* ---------- Brief sent: a calm thank-you with a drawn check. ---------- */
.rzt-sent{display:grid;justify-items:start;gap:14px;padding:clamp(10px,3vw,40px) 0 20px;outline:none}
.rzt-sent h2{margin:6px 0 0;font-size:clamp(34px,4.6vw,64px);line-height:1;letter-spacing:-.05em;font-weight:650}
.rzt-sent p{margin:0;max-width:560px;font-size:var(--fs-lead);line-height:1.55}
.rzt-sent .rzt-sent-small{font-size:var(--fs-ui);color:var(--muted)}
.rzt-sent .rzt-sent-preview{font-size:var(--fs-caption);padding:8px 14px;border-radius:12px;background:#fbe3e6;color:#8f1d30}
.rzt-sent-check{width:72px;height:72px}
.rzt-sent-check circle{fill:#fbe3e6;stroke:var(--rzt-ruby);stroke-width:3;stroke-dasharray:183;stroke-dashoffset:183;animation:rzt-draw .7s var(--rzt-out) forwards}
.rzt-sent-check path{fill:none;stroke:var(--rzt-ruby);stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:44;stroke-dashoffset:44;animation:rzt-draw .45s .55s var(--rzt-out) forwards}
@keyframes rzt-draw{to{stroke-dashoffset:0}}
.rzt-sent-close{margin-top:10px;min-height:54px;padding:0 26px;border:0;border-radius:999px;background:var(--rzt-ink);color:#fff;font:inherit;font-weight:650;cursor:pointer}
@media (prefers-reduced-motion:reduce){.rzt-sent-check circle,.rzt-sent-check path{animation:none;stroke-dashoffset:0}}

/* ---------- Two-tone paragraphs: the key phrase in full ink, the rest a step quieter. ---------- */
body.rzt-fun main p:has(> strong):not(:is(.programme-price,.detail-contact,.rzt-offclock.is-night,.people-note) *){color:color-mix(in srgb,var(--rzt-ink) 64%,transparent)}
body.rzt-fun main p:has(> strong):not(:is(.programme-price,.detail-contact,.rzt-offclock.is-night,.people-note) *)>strong{color:var(--rzt-ink);font-weight:650}

/* ---------- Respect reduced motion everywhere. ---------- */
@media (prefers-reduced-motion:reduce){
  body.rzt-fun *,body.rzt-fun *::before,body.rzt-fun *::after{animation:none!important;transition-duration:.01ms!important}
  .rzt-reveal-ready [data-reveal]{opacity:1;translate:none}
  ::view-transition-old(root),::view-transition-new(root){animation:none}
}
@media print{.rzt-dock,.rzt-surprise,.rzt-toast{display:none!important}}

/* ---------- Reading voice: the long reads (practical guides, the case study) are set in Newsreader. ---------- */
body.rzt-fun:is(.is-article,.is-experience) .detail-lead{font-family:var(--serif);font-size:var(--fs-lead-l);line-height:1.6;color:#3b383e}
body.rzt-fun:is(.is-article,.is-experience) :is(.detail-section>p:not(.detail-takeaway):not(.detail-table-note),.detail-items p,.detail-section li){font-family:var(--serif);font-size:clamp(18px,1.35vw,19.5px);line-height:1.72;color:#3b383e}

/* ---------- Home page diet (10 October 2026): "How I help" cards, the pricing teaser, the hero avatar. ---------- */
.rzt-how .section-heading{margin-bottom:clamp(30px,4vw,52px)}
.rzt-how-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.rzt-how-card{--tone:var(--rzt-ruby);--tone-soft:#f6d9d6;display:flex;flex-direction:column;gap:10px;padding:24px 22px 20px;border-radius:26px;background:#fff;box-shadow:0 18px 40px -28px rgb(var(--t-shadow) / .55),inset 0 0 0 1px rgb(0 0 0 / .03)}
.rzt-how-card[data-tone="lilac"]{--tone:var(--rzt-lilac);--tone-soft:#e0d7f5}
.rzt-how-card[data-tone="mist"]{--tone:var(--rzt-mist);--tone-soft:#cde0f4}
.rzt-how-card[data-tone="sage"]{--tone:var(--rzt-sage);--tone-soft:#cfe5d2}
.rzt-how-card[data-tone="clay"]{--tone:var(--rzt-clay);--tone-soft:#f4d6c2}
.rzt-how-card h3{display:flex;align-items:center;gap:10px;margin:0;font-size:var(--fs-title-s);letter-spacing:-.04em;font-weight:650;color:var(--rzt-ink)}
.rzt-how-card h3::before{content:"";flex:none;width:12px;height:12px;border-radius:50%;background:var(--tone);box-shadow:0 0 0 5px var(--tone-soft)}
.rzt-how-card>p{margin:0 0 4px;font-size:var(--fs-ui);line-height:1.55;color:#57535c;min-height:4.65em}
.rzt-how-card ul{list-style:none;margin:auto 0 0;padding:12px 0 0;border-top:1px solid #eee8e4;display:grid;gap:2px}
.rzt-how-card li a{display:flex;align-items:center;gap:9px;min-height:36px;padding:4px 8px;margin-inline:-8px;border-radius:11px;font-size:var(--fs-ui);font-weight:550;color:var(--rzt-ink);transition:background .18s,translate .25s var(--rzt-spring)}
.rzt-how-card li a:hover{background:var(--tone-soft)}
@media (hover:hover){.rzt-how-card li a:hover{translate:3px 0}}
.rzt-how-card .rzt-icon{flex:none;width:19px;height:19px;color:var(--rzt-ink)}
.rzt-how-card .rzt-icon-accent{stroke:var(--tone)}
.rzt-how-card .rzt-how-more a{font-size:var(--fs-caption);color:var(--rzt-action-text);font-weight:650}
.rzt-how-where{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-top:22px}
.rzt-how-where>p{margin:0;font-size:var(--fs-ui);font-weight:700;color:var(--rzt-ink)}
.rzt-how-where>div{display:flex;flex-wrap:wrap;gap:8px}
.rzt-how-where a{display:inline-flex;align-items:center;min-height:36px;padding:5px 14px;border-radius:999px;background:rgb(255 255 255 / .75);font-size:var(--fs-caption);font-weight:550;color:#4f4b55;box-shadow:inset 0 0 0 1px rgb(0 0 0 / .05);transition:background .18s,color .18s}
.rzt-how-where a:hover{background:#fff;color:var(--rzt-ink)}
.rzt-how-all{margin-top:26px}
@media (max-width:1180px){.rzt-how-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* Phones: the five cards become one swipeable row instead of a tall stack. */
@media (max-width:760px){
  .rzt-how-grid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:78%;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gutter,16px);margin-inline:calc(var(--gutter,16px) * -1);padding:4px var(--gutter,16px) 18px;scrollbar-width:none}
  .rzt-how-grid::-webkit-scrollbar{display:none}
  .rzt-how-card{scroll-snap-align:start}
  .rzt-how-card>p{min-height:0}
}

.rzt-price-teaser .section-heading{margin-bottom:clamp(28px,3.5vw,46px)}
.rzt-price-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.rzt-price-card{position:relative;display:flex;flex-direction:column;gap:10px;padding:26px 26px 24px;border-radius:26px;background:#fff;color:var(--rzt-ink);box-shadow:0 18px 40px -28px rgb(var(--t-shadow) / .55),inset 0 0 0 1px rgb(0 0 0 / .03);transition:translate .3s var(--rzt-out),box-shadow .3s}
.rzt-price-card:hover{translate:0 -4px;box-shadow:0 26px 50px -28px rgb(var(--t-shadow) / .65),inset 0 0 0 1px rgb(0 0 0 / .03)}
.rzt-price-name{font-size:var(--fs-ui);font-weight:700;letter-spacing:-.01em;padding-right:30px}
.rzt-price-figure{font-size:clamp(38px,3.6vw,52px);line-height:1;letter-spacing:-.05em;font-weight:600;font-variant-numeric:tabular-nums}
.rzt-price-figure small{font-size:.36em;letter-spacing:0;font-weight:550;color:#6a6570}
.rzt-price-what{font-size:var(--fs-ui);line-height:1.55;color:#57535c}
.rzt-price-more{position:absolute;top:22px;right:24px;font-size:20px;color:var(--rzt-action);transition:translate .3s var(--rzt-spring)}
.rzt-price-card:hover .rzt-price-more{translate:3px -3px}
.rzt-price-foot{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px;margin:28px 0 0}
.rzt-price-foot>span{font-size:var(--fs-ui);color:#5f5a64}
@media (max-width:760px){.rzt-price-row{grid-template-columns:1fr;gap:12px}.rzt-price-card{padding:22px 22px 20px}}

.hero-call-note b{font-weight:650;color:var(--rzt-ink)}

/* /pricing/ and /about/: a breadcrumb and a page heading, then the moved home sections. */
.rzt-page-top{padding-top:clamp(18px,2.4vw,30px)}
body.rzt-fun .rzt-page-hero{padding-bottom:0}
body.rzt-fun.is-section main>section:first-of-type,body.rzt-fun.is-section main>.shell+section{padding-top:clamp(20px,3vw,44px)}
.rzt-page-portrait{max-width:380px}

/* ---------- Recommendations: word for word from LinkedIn, set in the reading voice. ---------- */
.rzt-quotes{padding-block:clamp(30px,5vw,70px)}
.rzt-quotes-title{margin:0 0 clamp(22px,3vw,36px);font-size:clamp(30px,3.4vw,48px);letter-spacing:-.045em;font-weight:600}
.rzt-quotes-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.rzt-quote{display:flex;flex-direction:column;justify-content:space-between;gap:22px;margin:0;padding:clamp(24px,3vw,36px);border-radius:28px;background:#fff;box-shadow:0 18px 40px -28px rgb(var(--t-shadow) / .55),inset 0 0 0 1px rgb(0 0 0 / .03)}
.rzt-quote blockquote{margin:0}
.rzt-quote blockquote p{margin:0;font-family:var(--serif);font-size:var(--fs-title-s);line-height:1.38;letter-spacing:-.01em;color:var(--rzt-ink)}
.rzt-quote figcaption{display:flex;flex-direction:column;gap:3px;padding-top:16px;border-top:1px solid #eee8e4}
.rzt-quote figcaption b{font-size:var(--fs-ui);font-weight:700}
.rzt-quote figcaption span{font-size:var(--fs-caption);color:#625d67}
@media (max-width:760px){.rzt-quotes-grid{grid-template-columns:1fr}}
.rzt-handover-note{max-width:760px;margin:clamp(22px,3vw,34px) 0 0;padding:18px 22px;border-radius:18px;background:rgb(255 255 255 / .7);font-size:var(--fs-body);line-height:1.65;color:#4f4b55}
.rzt-handover-note b{color:var(--rzt-ink)}

/* ---------- Proof rail (after Stripe's case studies): a few true numbers, each with its qualifier. ---------- */
/* One colour arc runs across the row, so the numbers read as one unit; ruby stays the click colour. */
.rzt-proof{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 18px;margin:18px 0 20px;padding:16px 0;border-block:1px solid rgb(0 0 0 / .08)}
.rzt-proof>div{min-width:0}
.rzt-proof dt{font-size:clamp(26px,2.4vw,34px);line-height:1;letter-spacing:-.045em;font-weight:650;font-variant-numeric:tabular-nums;background:linear-gradient(90deg,#1c5f31,#105483 50%,#5c3a8b);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent}
.rzt-proof>div:nth-child(2) dt{background-position:50% 0}
.rzt-proof>div:nth-child(3) dt{background-position:100% 0}
.rzt-proof dd{margin:6px 0 0;font-size:var(--fs-caption);line-height:1.45;color:#5f5a64}
.rzt-proof.is-inline{grid-template-columns:auto 1fr;align-items:center;margin:18px 0 0;padding:14px 0}
.rzt-proof.is-inline>div{display:contents}
.rzt-proof.is-inline dd{margin:0}
@media (max-width:520px){.rzt-proof{grid-template-columns:1fr 1fr}.rzt-proof>div:nth-child(3){grid-column:1 / -1}}

/* ---------- Off the clock, at night: when it's evening or the weekend in Newbury the band turns to night (after Stripe's time-of-day colour). ---------- */
.rzt-offclock.is-night{--t-primary:#ff8a99;--t-primary-text:#ffb3bd;--t-soft:#2b2830;--t-shadow:0 0 0;position:relative;margin-inline:clamp(8px,1.4vw,20px);border-radius:clamp(28px,4vw,48px);
  background:radial-gradient(1.6px 1.6px at 12% 18%,#fff8 50%,transparent 51%),radial-gradient(1.2px 1.2px at 31% 9%,#fff6 50%,transparent 51%),radial-gradient(1.4px 1.4px at 58% 15%,#fff7 50%,transparent 51%),radial-gradient(1.1px 1.1px at 77% 7%,#fff5 50%,transparent 51%),radial-gradient(1.5px 1.5px at 90% 22%,#fff6 50%,transparent 51%),radial-gradient(120% 90% at 85% 0%,#2a2340 0%,#17151a 60%)}
.rzt-offclock.is-night .rzt-offclock-head h2{color:#fff}
.rzt-offclock.is-night .rzt-offclock-head h2 em{color:#b2eddf}
.rzt-offclock.is-night .rzt-offclock-head>p:last-child{color:#c4bdc8}
.rzt-offclock.is-night .rzt-offclock-head .eyebrow{color:#ff8a99}
/* The photo cards stay daylight cards: ink text, ruby links. */
.rzt-offclock.is-night .rzt-strip{--t-primary:#b6243a;--t-primary-text:#9c1f33;--t-soft:#efe6dc;--t-shadow:0 0 0}
.rzt-newbury-time time{font-variant-numeric:tabular-nums}

/* ---------- Work map (after Stripe's diagrams, drawn from Richard's real work): one area in the middle, four branches, the tasks on each. ---------- */
/* Dotted paper, not Stripe's dashed column grid; pastel chips; ruby lines from the hub, soft lines to the tasks. */
.rzt-map{margin:0 0 clamp(36px,5vw,64px)}
.rzt-map-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.rzt-map-tabs button{min-height:42px;padding:8px 18px;border:0;border-radius:999px;background:rgb(255 255 255 / .75);font:inherit;font-size:var(--fs-ui);font-weight:600;color:#4f4b55;cursor:pointer;box-shadow:inset 0 0 0 1px rgb(0 0 0 / .06);transition:background .2s,color .2s}
.rzt-map-tabs button:hover{background:#fff;color:var(--rzt-ink)}
.rzt-map-tabs button[aria-selected="true"]{background:var(--rzt-ink);color:#fff}
.rzt-map-stage{position:relative;padding:clamp(22px,3vw,40px) clamp(18px,3vw,40px) 22px;border-radius:32px;background:radial-gradient(circle,rgb(23 21 26 / .1) 1px,transparent 1.3px) 0 0/22px 22px,#fffdf9;box-shadow:0 22px 50px -34px rgb(var(--t-shadow) / .6),inset 0 0 0 1px rgb(0 0 0 / .04)}
.rzt-map-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.rzt-map-lines .is-trunk{stroke:var(--rzt-ruby);stroke-width:1.6;stroke-opacity:.55}
.rzt-map-lines .is-twig{stroke:#8a8590;stroke-width:1;stroke-opacity:.35}
.rzt-map-hub{position:absolute;left:50%;top:calc(50% - 22px);z-index:2;translate:-50% -50%;width:136px;height:136px;border-radius:50%;background:#fff;box-shadow:0 18px 40px -20px rgb(80 30 40 / .45),0 0 0 6px #fff,0 0 0 13px rgb(182 36 58 / .08)}
.rzt-map-face{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover}
.rzt-map-branches{display:grid;grid-template-columns:minmax(0,1fr) 250px minmax(0,1fr);grid-template-rows:auto auto;row-gap:clamp(48px,5.5vw,80px);margin:0;padding:0;list-style:none}
.rzt-map-branch{--tone:var(--rzt-ruby);--tone-soft:#f6d9d6;position:relative;z-index:2;display:flex;flex-direction:column;gap:12px}
.rzt-map-branch[data-tone="lilac"]{--tone:var(--rzt-lilac);--tone-soft:#e0d7f5}
.rzt-map-branch[data-tone="mist"]{--tone:var(--rzt-mist);--tone-soft:#cde0f4}
.rzt-map-branch[data-tone="sage"]{--tone:var(--rzt-sage);--tone-soft:#cfe5d2}
.rzt-map-branch[data-tone="clay"]{--tone:var(--rzt-clay);--tone-soft:#f4d6c2}
/* Top branches put their title near the hub (below the tasks); left branches lean towards the hub. */
.rzt-map-branch:nth-child(1){grid-area:1/1;flex-direction:column-reverse;align-items:flex-end}
.rzt-map-branch:nth-child(2){grid-area:1/3;flex-direction:column-reverse;align-items:flex-start}
.rzt-map-branch:nth-child(3){grid-area:2/1;align-items:flex-end}
.rzt-map-branch:nth-child(4){grid-area:2/3;align-items:flex-start}
.rzt-map-branch>b{display:inline-flex;align-items:center;gap:9px;padding:10px 18px;border-radius:999px;background:var(--rzt-ink);color:#fff;font-size:var(--fs-ui);font-weight:650;letter-spacing:-.01em;box-shadow:0 12px 26px -16px rgb(20 10 30 / .7)}
.rzt-map-branch>b::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--tone-soft);box-shadow:0 0 0 3px color-mix(in srgb,var(--tone) 55%,transparent)}
.rzt-map-branch ul{display:flex;flex-wrap:wrap;gap:8px;max-width:420px;margin:0;padding:0;list-style:none}
.rzt-map-branch:nth-child(odd) ul{justify-content:flex-end}
.rzt-map-branch li{padding:7px 13px;border-radius:999px;background:var(--tone-soft);font-size:var(--fs-caption);font-weight:550;line-height:1.3;color:var(--rzt-ink)}
.rzt-map-facts{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 28px;margin:clamp(26px,3vw,38px) 0 0;font-size:var(--fs-ui);line-height:1.5;color:#57535c;text-align:center}
.rzt-map-facts b{margin-right:7px;font-size:var(--fs-micro);letter-spacing:.08em;text-transform:uppercase;color:var(--rzt-action-text)}
.rzt-map-note{margin:12px 4px 0;font-size:var(--fs-caption);color:#6a6570}
/* Phones and small tablets: the hub on top, then the four branches as cards, no lines. */
@media (max-width:860px){
  .rzt-map-lines{display:none}
  .rzt-map-hub{position:static;translate:none;width:84px;height:84px;margin:0 auto 18px}
  .rzt-map-branches{grid-template-columns:none;grid-template-rows:none;grid-auto-flow:column;grid-auto-columns:84%;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:4px;padding:2px 4px 10px;scrollbar-width:none}
  .rzt-map-branches::-webkit-scrollbar{display:none}
  .rzt-map-branch:nth-child(n){scroll-snap-align:start}
  .rzt-map-branch:nth-child(n){grid-area:auto;flex-direction:column;align-items:flex-start;padding:16px;border-radius:22px;background:rgb(255 255 255 / .8);box-shadow:inset 0 0 0 1px rgb(0 0 0 / .05)}
  .rzt-map-branch:nth-child(odd) ul{justify-content:flex-start}
  .rzt-map-branch li{font-size:var(--fs-caption)}
}
html:not(.rzt-js) .rzt-map-lines{display:none}

/* One quiet line about the photos at the bottom of /about/ (Richard's choice: no labels on the pictures themselves). */
.rzt-photo-note{margin-block:clamp(10px,2vw,24px) clamp(40px,5vw,70px);font-size:var(--fs-caption);color:#6a6570}

/* Colleagues' feedback: smaller cards under the LinkedIn quotes, and a wall of them on /about/. */
.rzt-quotes-sub{margin:clamp(26px,3vw,40px) 0 14px;font-size:var(--fs-caption);font-weight:600;color:#57535c}
.rzt-quotes-grid.is-small{grid-template-columns:repeat(3,minmax(0,1fr))}
.rzt-quote.is-small{gap:16px;padding:clamp(20px,2.4vw,28px);border-radius:24px}
.rzt-quote.is-small blockquote p{font-size:var(--fs-lead-l);line-height:1.42}
.rzt-quote.is-small figcaption{padding-top:12px}
.rzt-quotes-links{display:flex;flex-wrap:wrap;gap:12px 32px;margin:22px 0 0}
.rzt-quotes-wall{columns:3 280px;column-gap:16px}
.rzt-quotes-wall .rzt-quote{break-inside:avoid;margin:0 0 16px}
@media (max-width:900px){.rzt-quotes-grid.is-small{grid-template-columns:1fr}}

/* ---------- Career path on /about/ (the competitor review: show the hats as one dated path). ---------- */
.rzt-path{padding-block:clamp(40px,6vw,90px)}
.rzt-path-head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:6%;align-items:end;margin-bottom:clamp(26px,3.5vw,44px)}
.rzt-path-head h2{margin:0;font-size:clamp(38px,5vw,72px);line-height:1;letter-spacing:-.055em;font-weight:600}
.rzt-path-head p{margin:0;font-size:clamp(16px,1.3vw,18px);line-height:1.6;color:#57535c}
.rzt-path-list{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0;padding:0;list-style:none}
.rzt-path-list li{display:grid;grid-template-columns:auto 1fr;gap:14px;padding:20px 20px 18px;border-radius:22px;background:#fff;box-shadow:0 16px 36px -28px rgb(var(--t-shadow) / .55),inset 0 0 0 1px rgb(0 0 0 / .03)}
.rzt-path-year{font-size:var(--fs-ui);font-weight:700;letter-spacing:-.01em;color:var(--rzt-action-text);font-variant-numeric:tabular-nums}
.rzt-path-list b{display:block;font-size:17px;letter-spacing:-.02em;margin-bottom:4px}
.rzt-path-list p{margin:0 0 10px;font-size:var(--fs-ui);line-height:1.5;color:#57535c}
.rzt-path-list .rzt-pill{min-height:26px;padding:2px 11px;font-size:var(--fs-micro)}
@media (max-width:980px){.rzt-path-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.rzt-path-head{grid-template-columns:1fr;gap:12px}.rzt-path-list{grid-template-columns:1fr}}

/* ---------- /pricing/: "Usually called when…" (the competitor review: say who it is for, in the buyer's words). ---------- */
.rzt-triggers{padding-block:clamp(18px,3vw,36px) clamp(10px,2vw,20px)}
.rzt-triggers h2{margin:0 0 16px;font-size:var(--fs-title-s);letter-spacing:-.03em;font-weight:650}
.rzt-triggers ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none}
.rzt-triggers li{position:relative;padding:16px 18px 16px 42px;border-radius:18px;background:rgb(255 255 255 / .8);font-size:var(--fs-ui);line-height:1.45;color:var(--rzt-ink);box-shadow:inset 0 0 0 1px rgb(0 0 0 / .05)}
.rzt-triggers li::before{content:"→";position:absolute;left:17px;top:15px;color:var(--rzt-action);font-weight:700}
@media (max-width:900px){.rzt-triggers ul{grid-template-columns:1fr}}

/* ---------- Menu hover (after Humaan's measured menu: a soft ~0.15–0.25 s fade, one highlight that glides between items). ---------- */
.rzt-hover-glide{position:absolute;z-index:0;left:0;top:0;width:0;height:0;border-radius:12px;background:var(--t-soft);opacity:0;pointer-events:none;transition:left .26s cubic-bezier(.33,0,.2,1),top .26s cubic-bezier(.33,0,.2,1),width .26s cubic-bezier(.33,0,.2,1),height .26s cubic-bezier(.33,0,.2,1),opacity .18s ease}
.desktop-nav>.rzt-hover-glide{border-radius:999px}
.is-gliding .rzt-hover-glide.is-on{opacity:1}
body.rzt-fun .desktop-nav.is-gliding>a:not([aria-current]):hover,.rzt-mega-panel.is-gliding .rzt-mega-col a:not([aria-current]):hover{background:transparent}
body.rzt-fun .desktop-nav>a,body.rzt-fun .desktop-nav>.rzt-mega{position:relative;z-index:1}

/* Small labels never below 12px (QA pass, 10 October 2026). */
body.rzt-fun .rzt-footer-cols>div>p,body.rzt-fun .reading-link-label{font-size:var(--fs-micro)}
/* Small uppercase labels: never under 12px on any screen (some base rules went down to 9–11px on phones). */
body.rzt-fun .eyebrow,body.rzt-fun .reading-link-label,body.rzt-fun .work-coverage b,body.rzt-fun .work-role b,body.rzt-fun .career-context{font-size:var(--fs-micro)!important}

/* Page colour for hovers: the colour the page is painted right now, not the section's own theme. */
:root{--p-primary:var(--rzt-action);--p-soft:#f6d9d6}
html[data-theme="ivory"]{--p-primary:#b6243a;--p-soft:#efe6dc}html[data-theme="blush"]{--p-primary:#b6243a;--p-soft:#f6d9d6}html[data-theme="clay"]{--p-primary:#c4623f;--p-soft:#f4d6c2}html[data-theme="sage"]{--p-primary:#3e8651;--p-soft:#cfe5d2}html[data-theme="mist"]{--p-primary:#337ab0;--p-soft:#cde0f4}html[data-theme="lilac"]{--p-primary:#835cbe;--p-soft:#e0d7f5}

/* The face is a toy, the name is the link: show the pointer that fits each. */
body.rzt-fun .site-header .brand .brand-symbol{cursor:pointer}

/* The hidden ladybird (a flurry of clicks on the logo's face). */
.rzt-ladybird{position:fixed;z-index:61;width:30px;height:30px;pointer-events:none;filter:drop-shadow(0 3px 4px rgb(0 0 0 / .25))}
.rzt-ladybird svg{display:block;image-rendering:pixelated}
