/* Rice Logic Consulting · shared styles: tokens, base, header, menu, section index, buttons, shared components, footer, motion tokens. Loaded by the homepage, Work and case-study pages. */
html{background:#0A0A09}
.rl{--gold:#C9A45D}
body{margin:0;background:#0A0A09}
a{color:#F1EEE7}
a:hover{color:#C9A45D}
.rl{--bg:#0A0A09;--bg2:#0E0E0C;--bg3:#141412;--ink:#F1EEE7;--ink2:#D8D4CC;--mute:#A8A398;--dim:#8C877D;--line:rgba(241,238,231,.10);--line2:rgba(241,238,231,.20);--serif:'Instrument Serif',Georgia,'Times New Roman',serif;--sans:'Manrope',system-ui,sans-serif;--mono:'IBM Plex Mono',ui-monospace,Menlo,monospace;--pad:clamp(20px,5vw,96px);--sec:clamp(88px,10vw,168px);--ease:cubic-bezier(.2,.7,.1,1);position:relative;width:100%;min-width:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;overflow-x:clip;-webkit-font-smoothing:antialiased}
.rl *,.rl *::before,.rl *::after{box-sizing:border-box}
.rl ::selection{background:var(--gold);color:#0A0A09}
.rl a,.rl button{color:inherit;text-decoration:none}
.rl :focus-visible{outline:1px solid var(--gold);outline-offset:4px}
.rl h1,.rl h2,.rl h3,.rl p,.rl ol,.rl ul,.rl figure,.rl dl{margin:0;padding:0}
.rl ol,.rl ul{list-style:none}
.rl img{display:block;max-width:100%}
.wrap{padding-left:var(--pad);padding-right:var(--pad)}
@media (min-width:1180px){.wrap{padding-left:148px;padding-right:96px}}
.mono{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);line-height:1.5}
.g{color:var(--gold)}
em,.it{font-style:italic}

/* nav */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid transparent;transition:background .6s var(--ease),border-color .6s var(--ease),height .6s var(--ease),opacity .44s var(--e-enter)}
.nav.is-scrolled{height:64px;background:rgba(10,10,9,.8);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom-color:var(--line)}
.brand{display:flex;align-items:center;gap:16px;min-height:44px}
.brand img{height:46px;width:auto;transition:height .6s var(--ease)}
.nav.is-scrolled .brand img{height:40px}
.brand-sub{font-family:var(--mono);font-size:10px;letter-spacing:.2em;color:var(--dim);text-transform:uppercase;padding-left:16px;border-left:1px solid var(--line2);line-height:1.4}
.nav-links{display:flex;gap:36px}
.nav-links a{position:relative;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink2);min-height:44px;display:inline-flex;align-items:center;transition:color .3s,opacity var(--m-fast) var(--e-enter)}
.nav-links a:hover{color:var(--ink)}
.nav-links a sup{font-size:9px;color:var(--dim);margin-left:4px}
.nav-r{display:flex;align-items:center;gap:12px}
.nav-cta{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;border:1px solid var(--line2);padding:0 18px;height:44px;display:inline-flex;align-items:center;gap:10px;transition:border-color .4s,color .4s}
.nav-cta:hover{border-color:var(--gold);color:var(--gold)}
.menu-btn{all:unset;box-sizing:border-box;cursor:pointer;display:none;align-items:center;gap:12px;height:44px;padding:0 4px 0 12px;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink2)}
.menu-btn:focus-visible{outline:1px solid var(--gold);outline-offset:2px}
.burger{display:flex;flex-direction:column;gap:6px;width:22px}
.burger i{display:block;height:1px;background:var(--ink)}
.burger i:last-child{width:14px;align-self:flex-end;background:var(--gold)}
@media (max-width:1240px){.brand-sub{display:none}}
@media (max-width:900px){.nav-links{display:none}.menu-btn{display:inline-flex}.nav{height:64px}.brand img,.nav.is-scrolled .brand img{height:44px}}
@media (max-width:520px){.nav-cta{display:none}}

/* mobile menu */
.menu{display:none}
@media (max-width:900px){
 .menu{position:fixed;inset:0;z-index:70;background:#0A0A09;display:flex;flex-direction:column;justify-content:space-between;padding-bottom:28px;opacity:0;visibility:hidden;transition:opacity .5s var(--ease),visibility 0s .5s}
 .menu.is-open{opacity:1;visibility:visible;transition:opacity .5s var(--ease),visibility 0s 0s}
 .menu-top{height:64px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}
 .menu-top img{height:44px;width:auto}
 .menu-top .menu-btn{display:inline-flex}
 .menu-links{display:flex;flex-direction:column}
 .menu-links a{display:flex;align-items:baseline;gap:18px;padding:14px 0;border-bottom:1px solid var(--line);font-family:var(--serif);font-size:clamp(40px,10.5vw,64px);line-height:1.05;letter-spacing:-.015em;transform:translateY(12px);opacity:0;transition:opacity .7s var(--ease),transform .7s var(--ease)}
 .menu.is-open .menu-links a{opacity:1;transform:none}
 .menu.is-open .menu-links a:nth-child(2){transition-delay:.05s}.menu.is-open .menu-links a:nth-child(3){transition-delay:.1s}.menu.is-open .menu-links a:nth-child(4){transition-delay:.15s}.menu.is-open .menu-links a:nth-child(5){transition-delay:.2s}
 .menu-foot{display:flex;flex-direction:column;gap:18px}
 .menu-foot .btn{justify-content:space-between}
}

/* rail */
.rail{position:fixed;left:32px;top:50%;transform:translateY(-50%);z-index:40;display:flex;flex-direction:column;gap:2px;transition:opacity .44s var(--e-enter)}
.rail a{display:flex;align-items:center;gap:12px;height:22px;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);transition:opacity var(--m-fast) var(--e-enter)}
.rail .tick{width:10px;height:1px;background:var(--line2);transition:width .6s var(--ease),background .6s}
.rail .lab{opacity:0;transform:translateX(-6px);transition:opacity .5s,transform .5s var(--ease);white-space:nowrap}
.rail a:hover .lab{opacity:.8;transform:none}
.rail a.is-on .tick{width:26px;background:var(--gold)}
.rail a.is-on .lab{opacity:1;transform:none;color:var(--ink2)}
@media (max-width:1179px){.rail{display:none}}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:14px;height:54px;padding:0 26px;font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;transition:background .5s var(--ease),color .5s,border-color .5s,opacity .5s;cursor:pointer}
.btn svg{transition:transform .5s var(--ease);flex:none}
.btn:hover svg{transform:translateX(4px)}
.btn-solid{background:var(--ink);color:#0A0A09 !important}
.btn-solid:hover{background:var(--gold)}
.btn-line{border:1px solid var(--line2);color:var(--ink)}
.btn-line:hover{border-color:var(--gold);color:var(--gold)}
.btn[aria-disabled="true"]{opacity:.45;cursor:not-allowed}
.btn[aria-disabled="true"]:hover{background:var(--ink)}
@keyframes heroLineQ{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes fade{from{opacity:0}to{opacity:1}}

/* scroll reveal */
.anim .rv{opacity:0;transform:translateY(28px);transition:opacity 1.2s var(--ease),transform 1.2s var(--ease)}
.anim .rv.in{opacity:1;transform:none}
.anim .rv-d1{transition-delay:.12s}
.anim .rv-d2{transition-delay:.24s}
.anim .rv-d3{transition-delay:.36s}
.anim .rule-draw{transform:scaleX(0);transform-origin:left;transition:transform 1.6s var(--ease)}
.anim .rule-draw.in{transform:none}
.anim .mask{clip-path:inset(0 0 100% 0);transition:clip-path 1.6s var(--ease)}
.anim .mask.in{clip-path:inset(0 0 0 0)}

/* sections */
.sec{position:relative;padding-top:var(--sec);padding-bottom:var(--sec)}
.sec-head{display:grid;grid-template-columns:auto auto 1fr auto;gap:20px;align-items:center;margin-bottom:clamp(40px,5vw,80px)}
.sec-head .rule{height:1px;background:var(--line)}
@media (max-width:640px){.sec-head{grid-template-columns:auto 1fr;row-gap:10px}.sec-head .rule{display:none}.sec-head .sh-r{display:none}}
.h-xl{font-family:var(--serif);font-weight:400;font-size:clamp(42px,6.2vw,108px);line-height:.95;letter-spacing:-.02em}
.h-l{font-family:var(--serif);font-weight:400;font-size:clamp(36px,4.6vw,80px);line-height:1;letter-spacing:-.02em}
.body-l{font-size:clamp(16px,1.3vw,19px);line-height:1.7;color:var(--ink2);font-weight:400}

/* image frames (shared) */
.frame{position:relative;overflow:hidden;background:#0C0C0B}
.frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.18);will-change:transform}
.no-motion .frame img{transform:scale(1.02)}
.frame::after{content:"";position:absolute;inset:14px;border:1px solid rgba(241,238,231,.12);pointer-events:none;z-index:2}

/* drawing-sheet furniture: registration marks, scale bar, sheet reference */
.reg{position:absolute;inset:26px;z-index:3;pointer-events:none;background:
 linear-gradient(var(--ink),var(--ink)) left top/14px 1px no-repeat,linear-gradient(var(--ink),var(--ink)) left top/1px 14px no-repeat,
 linear-gradient(var(--ink),var(--ink)) right top/14px 1px no-repeat,linear-gradient(var(--ink),var(--ink)) right top/1px 14px no-repeat,
 linear-gradient(var(--ink),var(--ink)) left bottom/14px 1px no-repeat,linear-gradient(var(--ink),var(--ink)) left bottom/1px 14px no-repeat,
 linear-gradient(var(--ink),var(--ink)) right bottom/14px 1px no-repeat,linear-gradient(var(--ink),var(--ink)) right bottom/1px 14px no-repeat;opacity:.55}
.sheet{position:absolute;right:28px;bottom:26px;z-index:3;display:flex;align-items:flex-end;gap:14px;font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink2)}
.sheet .bar{display:block;width:96px;height:7px;border-left:1px solid rgba(241,238,231,.55);border-right:1px solid rgba(241,238,231,.55);background:linear-gradient(90deg,rgba(241,238,231,.55) 0 1px,transparent 1px) 0 100%/24px 4px repeat-x,linear-gradient(rgba(241,238,231,.55),rgba(241,238,231,.55)) 0 100%/100% 1px no-repeat}
@media (max-width:640px){.reg{inset:18px}.sheet{display:none}}
.src i{width:6px;height:6px;border-radius:50%;background:var(--gold);flex:none}
.cta-sub{font-size:clamp(18px,1.5vw,22px);color:var(--ink2);max-width:480px;line-height:1.5}

/* 10 footer */
.foot{padding-top:72px;padding-bottom:28px;border-top:1px solid var(--line)}
.foot-grid{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr));gap:32px;align-items:start}
.foot-brand{display:flex;flex-direction:column;gap:20px}
.foot-brand img{width:clamp(180px,17vw,250px);height:auto}
.foot-grid h4{margin:0 0 14px;font-family:var(--mono);font-weight:400;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--dim)}
.foot-grid li a,.foot-grid li span{font-size:14px;color:var(--ink2);display:inline-flex;min-height:32px;align-items:center}
.foot-grid li a:hover{color:var(--gold)}
.foot-bar{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:20px;margin-top:64px}
@media (max-width:900px){.foot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.foot-brand{grid-column:1 / -1}}

/* ---------- motion system (tokens mirror RL_MOTION in the script) ---------- */
.rl{--m-fast:.18s;--m-std:.44s;--m-cine:.76s;--e-settle:cubic-bezier(.16,1,.3,1);--e-enter:cubic-bezier(.22,1,.36,1);--e-exit:cubic-bezier(.64,0,.78,0);--e-weight:cubic-bezier(.65,0,.35,1)}
@keyframes rlFailsafe{to{opacity:0;visibility:hidden;pointer-events:none}}

/* PageTransition veil: under the rail (40) and header (50), over the content */
.rl-veil{position:fixed;inset:0;z-index:35;background:#0A0A09;opacity:0;pointer-events:none}
.rl-veil.is-dark{opacity:1}
.rl .rl-veil.is-dark{animation:rlFailsafe .4s linear 1.8s forwards !important}

/* node acknowledgement (one motif: a short gold connection completing) */
.rail-route{position:absolute;left:0;top:0;width:1px;height:0;background:var(--gold);opacity:0;pointer-events:none}
.rail.is-routing a:not(.is-target):not(.is-on){opacity:.35}
.rail a.is-target .tick{width:26px;background:var(--gold);transition-duration:var(--m-fast)}
.rail a.is-target .lab{opacity:1;transform:none;color:var(--ink)}
.nav-links a::after{content:"";position:absolute;left:0;right:0;bottom:10px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:0 50%;transition:transform var(--m-fast) var(--e-settle)}
.nav-links a.is-ack{color:var(--ink)}
.nav-links a.is-ack::after{transform:scaleX(1)}
.nav-links.is-routing a:not(.is-ack){opacity:.45}
.menu-links a.is-ack .mono{color:var(--gold)}
.rl [tabindex="-1"]:focus,.rl [tabindex="-1"]:focus-visible{outline:none}
.mx-svg text{font-family:var(--mono);font-size:18px;letter-spacing:.16em;fill:rgba(241,238,231,.52)}
.mx-svg .d-s{font-size:16px}
.mx-svg .d-xs{font-size:15px;letter-spacing:.14em}
.mx-svg .d-tg{fill:var(--gold)}
.mx-svg .d-tgk{fill:#0A0A09}
.mx-svg .d-sub{font-family:var(--sans);font-size:21px;letter-spacing:0;fill:rgba(241,238,231,.6)}
.mx-svg .d-lbl{font-family:var(--sans);font-size:22px;letter-spacing:0;font-weight:500;fill:#EDE9E1}
.mx-svg .d-lg{font-size:28px}
.mx-svg .d-code{font-size:17px;letter-spacing:.02em;fill:#D8D4CC}
.mx-svg .d-cs{font-size:16px}
.mx-svg .d-qt{font-size:17px;fill:rgba(241,238,231,.72);text-anchor:middle}
.mx-svg .d-mid{text-anchor:middle}
.mx-svg .d-en{text-anchor:end}
.mx-svg .d-dim{fill:none;stroke:rgba(241,238,231,.14)}
.mx-svg .d-ln{fill:none;stroke:rgba(241,238,231,.38);stroke-width:1.5}
.mx-svg .d-lnf{fill:rgba(241,238,231,.38)}
.mx-svg .d-gold{fill:none;stroke:var(--gold);stroke-width:2}
.mx-svg .d-goldf,.mx-svg .d-tag,.mx-svg .d-ptg,.mx-svg .d-barg{fill:var(--gold)}
.mx-svg .d-tangle{fill:none;stroke:rgba(241,238,231,.2);stroke-width:1.4}
.mx-svg .d-dash{stroke-dasharray:6 7}
.mx-svg .d-node-dim{fill:#121210;stroke:rgba(241,238,231,.28)}
.mx-svg .d-node,.mx-svg .d-card{fill:#121210;stroke:rgba(241,238,231,.36);stroke-width:1.2}
.mx-svg .d-node.d-on,.mx-svg .d-card.d-on{stroke:rgba(201,164,93,.85)}
.mx-svg .d-q{fill:#0C0C0B;stroke:rgba(241,238,231,.4)}
.mx-svg .d-lane{fill:rgba(241,238,231,.012);stroke:rgba(241,238,231,.1)}
.mx-svg .d-lane2{fill:rgba(241,238,231,.035)}
.mx-svg .d-dia{fill:#121210;stroke:var(--gold);stroke-width:1.6}
.mx-svg .d-note{fill:rgba(201,164,93,.07);stroke:rgba(201,164,93,.6);stroke-dasharray:4 4}
.mx-svg .d-ok{fill:#0C0C0B;stroke:var(--gold);stroke-width:1.3}
.mx-svg .d-okm{fill:none;stroke:var(--gold);stroke-width:2}
.mx-svg .d-bound{fill:rgba(241,238,231,.015);stroke:rgba(241,238,231,.34);stroke-dasharray:8 8}
.mx-svg .d-map{fill:#111110;stroke:rgba(241,238,231,.2)}
.mx-svg .d-pt{fill:#0C0C0B;stroke:rgba(241,238,231,.55)}
.mx-svg .d-chipbox{fill:none;stroke:rgba(241,238,231,.24)}
.mx-svg .d-barv{fill:rgba(241,238,231,.22)}
.mx-svg .d-row{fill:none;stroke:rgba(241,238,231,.22);stroke-width:3}
.dev{position:absolute;display:block}
.dev-chrome{display:block;width:100%;height:auto;aspect-ratio:1440 / 52}
.dev-chrome .cb-bg{fill:#1A1A18}
.dev-chrome .cb-dot{fill:rgba(241,238,231,.22)}
.dev-chrome .cb-url{fill:rgba(241,238,231,.07)}
.dev-desk .dev-screen{aspect-ratio:1440 / 900}
.dev-page{position:absolute;inset:0;width:100%;height:100%;display:block}
.dev-phone .dev-screen{position:absolute;left:4.9%;right:4.9%;top:2.3%;bottom:2.3%;border-radius:11.5% / 5.4%}

/* reconstruction palette inside the project 01 screens (a neutral regulator concept, not a real organization) */
.dev-page .q-paper{fill:#F4F5F3}
.dev-page .q-white{fill:#FFFFFF}
.dev-page .q-navy{fill:#13263B}
.dev-page .q-steel{fill:#3D6485}
.dev-page .q-accent{fill:#C8553A}
.dev-page .q-sky{fill:#E4ECF3}
.dev-page .q-skyf{fill:#D6E2EC}
.dev-page .q-zebra{fill:#FAFBFA}
.dev-page .q-chip{fill:#E4ECF3}
.dev-page .q-icobg{fill:#E4ECF3}
.dev-page .q-card{fill:#FFFFFF;stroke:#DCE1E6;stroke-width:1.5}
.dev-page .q-input{fill:#FFFFFF;stroke:#B9C4CE;stroke-width:1.5}
.dev-page .q-rule{fill:none;stroke:#D9DEE3;stroke-width:1.5}
.dev-page .q-rule-i{fill:none;stroke:rgba(255,255,255,.14);stroke-width:1.5}
.dev-page .q-field-i{fill:rgba(255,255,255,.08);stroke:rgba(255,255,255,.22);stroke-width:1.5}
.dev-page .q-line-w{fill:none;stroke:rgba(255,255,255,.75);stroke-width:1.5}
.dev-page .q-grid{fill:none;stroke:rgba(169,194,216,.1);stroke-width:1}
.dev-page .q-art{fill:none;stroke:#5F87A9;stroke-width:1.6}
.dev-page .q-art2{fill:none;stroke:#A9C2D8;stroke-width:2.2}
.dev-page .q-art-hi{fill:none;stroke:#C8553A;stroke-width:2.4}
.dev-page .q-node{fill:#13263B;stroke:#A9C2D8;stroke-width:1.6}
.dev-page .q-markbg{fill:#13263B}
.dev-page .q-markbg-i{fill:#FFFFFF}
.dev-page .q-mark{fill:#FFFFFF}
.dev-page .q-mark-i{fill:#13263B}
.dev-page .q-markl{fill:none;stroke:#FFFFFF;stroke-width:3;stroke-linecap:round}
.dev-page .q-markl-i{fill:none;stroke:#13263B;stroke-width:3;stroke-linecap:round}
.dev-page .q-ico{fill:none;stroke:#3D6485;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.dev-page .q-ico-n{fill:none;stroke:#13263B;stroke-width:2}
.dev-page .q-ico-i{fill:none;stroke:rgba(255,255,255,.7);stroke-width:2}
.dev-page .q-burger{fill:none;stroke:#13263B;stroke-width:2.6;stroke-linecap:round}
.dev-page .q-close{fill:none;stroke:#FFFFFF;stroke-width:2.4;stroke-linecap:round}
.dev-page .q-chev{fill:none;stroke:#3D6485;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.dev-page .q-chev-i{fill:none;stroke:rgba(255,255,255,.6);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.dev-page .q-ok{fill:#2E7D5B}
.dev-page .q-off{fill:#9AA3AC}
.dev-page .q-util{font-size:13px;font-weight:500;fill:rgba(255,255,255,.76)}
.dev-page .q-brand1{font-size:17px;font-weight:800;fill:#13263B;letter-spacing:-.01em}
.dev-page .q-brand2{font-size:10px;font-weight:700;fill:#3D6485;letter-spacing:.3em}
.dev-page .q-brand1-i{font-size:17px;font-weight:800;fill:#FFFFFF;letter-spacing:-.01em}
.dev-page .q-brand2-i{font-size:10px;font-weight:700;fill:#A9C2D8;letter-spacing:.3em}
.dev-page .q-nav{font-size:16px;font-weight:600;fill:#13263B}
.dev-page .q-btn{font-size:16px;font-weight:700;fill:#FFFFFF}
.dev-page .q-eyebrow{font-size:13px;font-weight:700;letter-spacing:.14em;fill:#A9C2D8}
.dev-page .q-h1{font-size:52px;font-weight:700;letter-spacing:-.02em;fill:#FFFFFF}
.dev-page .q-lead{font-size:18px;fill:rgba(255,255,255,.78)}
.dev-page .q-card-h{font-size:21px;font-weight:700;fill:#13263B}
.dev-page .q-card-s{font-size:15px;fill:#5A6674}
.dev-page .q-card-a{font-size:22px;font-weight:600;fill:#3D6485}
.dev-page .q-sec{font-size:26px;font-weight:700;fill:#13263B}
.dev-page .q-link{font-size:15px;font-weight:700;fill:#3D6485}
.dev-page .q-link-w{font-size:15px;font-weight:700;fill:#FFFFFF}
.dev-page .q-date{font-size:12px;font-weight:800;letter-spacing:.1em;fill:#3D6485}
.dev-page .q-chip-t{font-size:12px;font-weight:700;fill:#13263B}
.dev-page .q-news{font-size:18px;font-weight:700;fill:#13263B}
.dev-page .q-crumb{font-size:13px;fill:#5A6674}
.dev-page .q-title{font-size:44px;font-weight:700;letter-spacing:-.02em;fill:#13263B}
.dev-page .q-intro{font-size:17px;fill:#5A6674}
.dev-page .q-ph{font-size:16px;fill:#7B8794}
.dev-page .q-ph-i{font-size:16px;fill:rgba(255,255,255,.6)}
.dev-page .q-az{font-size:15px;font-weight:700;fill:#3D6485}
.dev-page .q-az-on{font-size:15px;font-weight:700;fill:#FFFFFF}
.dev-page .q-caption{font-size:13px;font-weight:600;fill:#5A6674}
.dev-page .q-th{font-size:12px;font-weight:800;letter-spacing:.1em;fill:#13263B}
.dev-page .q-td{font-size:16px;font-weight:600;fill:#13263B}
.dev-page .q-td2{font-size:15px;fill:#5A6674}
.dev-page .q-menu{font-size:22px;font-weight:600;fill:#FFFFFF}
.dev-page .q-mid{text-anchor:middle}
.dev-page .q-end{text-anchor:end}
.dev-page .z-p.q-brand1,.dev-page .z-p.q-brand1-i{font-size:13px}
.dev-page .z-p.q-brand2,.dev-page .z-p.q-brand2-i{font-size:7.5px;letter-spacing:.26em}
.dev-page .z-p.q-eyebrow{font-size:11px}
.dev-page .z-p.q-h1{font-size:30px}
.dev-page .z-p.q-lead{font-size:15px}
.dev-page .z-p.q-card-h{font-size:17px}
.dev-page .z-p.q-card-s{font-size:13px}
.dev-page .z-p.q-sec{font-size:20px}
.dev-page .z-p.q-news{font-size:16px}
.dev-page .z-p.q-link-w{font-size:15px}
.dev-page .z-p.q-crumb{font-size:12px}
.dev-page .z-p.q-title{font-size:28px}
.dev-page .z-p.q-intro{font-size:14px}
.dev-page .z-p.q-ph{font-size:15px}
.dev-page .z-p.q-caption{font-size:12px}
.dev-page .z-p.q-td{font-size:16px}
.dev-page .z-p.q-td2{font-size:13px}

/* reduced motion */
@media (prefers-reduced-motion:reduce){
 .rl *,.rl *::before,.rl *::after{animation:none !important;transition-duration:.01ms !important}
}

/* ---------- site shell: shared by every page (accessibility and navigation additions) ---------- */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:fixed;left:16px;top:12px;z-index:120;padding:14px 18px;background:var(--ink);color:#0A0A09 !important;font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;transform:translateY(-180%);transition:transform .2s var(--e-enter)}
.skip:focus{transform:none}
.rl [tabindex="-1"]:focus,.rl [tabindex="-1"]:focus-visible{outline:none}
/* header: five destinations; About is the last */
@media (max-width:1100px){.nav-links{gap:24px}}
.nav-links a[aria-current]{color:var(--ink)}
.nav-links a[aria-current]::after{transform:scaleX(1)}
/* Until site.js has wired the menu (class .rl-menu on the html element), "Menu" is a link to the footer navigation
   with the same look as the button, so the control works with JavaScript off, blocked or failed to load. */
.menu-fallback{display:none}
@media (max-width:900px){
 .menu-btn{display:none}
 .menu-fallback{display:inline-flex;align-items:center;gap:12px;height:44px;padding:0 4px 0 12px;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink2)}
 .rl-menu .menu-fallback{display:none}
 .rl-menu .menu-btn{display:inline-flex}
 /* six destinations: the menu scrolls on short screens instead of clipping */
 .menu{gap:24px;overflow-y:auto;overscroll-behavior:contain}
 .menu-top{flex:none}
 .menu-links a{padding:12px 0;font-size:clamp(34px,9.2vw,58px)}
 .menu.is-open .menu-links a:nth-child(6){transition-delay:.25s}
 .menu-links a[aria-current] .mono{color:var(--gold)}
}
html.menu-open,html.menu-open body{overflow:hidden}
/* section index: 24 px targets (WCAG 2.2, 2.5.8) */
.rail a{height:24px}
/* footer: headings are h2 in the page outline, styled as the small mono labels */
.foot-grid .foot-h{margin:0 0 14px;font-family:var(--mono);font-weight:400;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--dim)}
.foot-bar{align-items:center}
.foot-bar a{min-height:32px;display:inline-flex;align-items:center;gap:.7em}
.foot-bar a:hover{color:var(--gold)}
.foot-legal a{min-height:32px;text-decoration:underline;text-decoration-color:var(--line2);text-underline-offset:4px}
.foot-legal a:hover{text-decoration-color:var(--gold)}
/* first paint, before the page script takes over (classes set by the boot script at the top of .rl) */
.rl.boot-arrive .rl-veil{opacity:1;animation:rlFailsafe .4s linear 1.8s forwards}
/* WCAG 1.4.11: the section index ticks are the only visible sign of those links, so they reach 3:1 (3.4:1 here);
   the current and target ticks stay gold */
.rail .tick{background:rgba(241,238,231,.4)}

/* Mobile reading scale: original body, supporting text and controls × 1.08.
   Display headings and text inside SVG diagrams keep their own optical sizing. */
@media (max-width:767px){
 .rl{font-size:17.28px}
 .body-l{font-size:17.28px}
 .cta-sub{font-size:19.44px}
 .mono,.nav-cta,.menu-btn,.menu-fallback{font-size:11.88px}
 .btn,.skip{font-size:12.96px}
 .foot-grid .foot-h,.foot-grid h4{font-size:10.8px}
 .foot-grid li a,.foot-grid li span{font-size:15.12px}
 .foot-grid>*{min-width:0}
 .foot-contact{grid-column:1 / -1;grid-row:3}
 .foot-grid a[href^="mailto:"]{overflow-wrap:anywhere}
 .h-xl{line-height:1.02;text-wrap:balance}
 .h-l{line-height:1.06;text-wrap:balance}
 .menu-links a{line-height:1.1}
 .btn{height:auto;min-height:54px;padding-top:14px;padding-bottom:14px;line-height:1.5}
}
