/* LIFT quality pass (20 Oct 2026). Loaded last on every page.
   One small equal gutter (--edge) on the sides and between blocks; light brand tints on cards;
   one gentle text band per page; headings with their supporting line side by side. LIFT keeps its
   cream, cyan and coral personality, with coral as the single accent. */
:root{--edge:clamp(12px,1.6vw,24px);--t-cy:#E3F6FA;--t-co:#FDEBE1;--t-cr:#F5EEE3}
html body .w,html body .sp-hero .w,html body .sp-hero>.w,html body header .w,html body .w.sp-w,html body.sp .sp-hero .w{max-width:none!important;padding-left:var(--edge)!important;padding-right:var(--edge)!important}
nav .bar{max-width:none!important;margin-left:var(--edge)!important;margin-right:var(--edge)!important}
nav{top:var(--edge)!important}
.frame,.jn{max-width:none!important;margin-left:var(--edge)!important;margin-right:var(--edge)!important}
.frame{height:clamp(320px,52vw,680px)!important}
.pm{padding:0 var(--edge)}
.acts,.st,.disc,.gi,.im,.evs,.lsplit,.cg,.qp-tg,.qp-split,.dp-grid{gap:var(--edge)!important}
.st,.disc,.gi,.acts{margin-top:clamp(28px,4vw,48px)!important}
.sp-w>p,.sp-w>ul,.sp-w>ol,.sp-w>blockquote,.sp-w>form{max-width:none}
section{padding:clamp(64px,8vw,120px) 0}
/* headings with supporting line side by side */
.nar{max-width:none!important;display:flex;align-items:flex-end;justify-content:space-between;gap:var(--edge) 48px;text-align:left!important;margin:0!important}
.nar h2{max-width:16ch;margin:0}.nar p{margin:0 0 6px!important;max-width:420px!important;text-align:left}
.lh{display:flex;align-items:flex-end;justify-content:space-between;gap:16px 48px}
.lh h1{margin:0!important}.lh-p{max-width:420px;color:var(--mut,#6b6560);font-size:18px;line-height:1.5;margin:0 0 10px}
.sp-hero{padding:clamp(120px,14vw,168px) 0 clamp(28px,4vw,48px)!important;border-bottom:0!important}
@media(max-width:760px){.nar,.lh{flex-direction:column;align-items:flex-start}.nar p,.lh-p{max-width:none!important}}
/* tints instead of all-white cards */
.ac,.sc,.disc .tx,.gi .vo,.ev,.v7-split>div,.v7-panel>div:not(.v7-split){border:0!important}
.sc:nth-child(3n+1){background:var(--t-cy)!important}.sc:nth-child(3n+2){background:var(--t-co)!important}.sc:nth-child(3n){background:var(--t-cr)!important}
.sc{transition:transform .25s ease}.sc:hover{transform:translateY(-3px)}
.sc .d{background:#fff!important}
.disc .tx{background:var(--t-co)!important}
.gi .vo{background:var(--t-cy)!important}
.acts .ac,.acts .v7-split>div{background:var(--t-cr)!important}
.cg>.cd[style*="#FFFFFF"]:not(:first-child){background:var(--t-cr)!important}
.qt{background:var(--t-cy)!important;margin-top:var(--edge)!important}
.camp23 .c-facts>div{background:var(--t-cy)!important}
/* events */
.evs{display:grid;grid-template-columns:1fr 1fr;margin-top:var(--edge)}
.evs .ev{margin:0!important;align-items:flex-end}
.evs .ev:nth-child(1){background:var(--t-cy)!important}.evs .ev:nth-child(2){background:var(--t-co)!important}
.evd{display:inline-block;background:#fff;border-radius:999px;font:600 13px/1 Inter,sans-serif;padding:8px 12px;margin-bottom:14px}
@media(max-width:900px){.evs{grid-template-columns:1fr}}
/* split layouts on inner pages */
.lsplit{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:start}
.lcard{border-radius:24px;padding:clamp(20px,3vw,40px)}
.lt-cy{background:var(--t-cy)}.lt-co{background:var(--t-co)}
.lcard .sp-form{background:rgba(255,255,255,.55)!important;margin-top:16px!important}
.lside img{border-radius:18px;aspect-ratio:16/10;height:auto;margin-bottom:22px}
.lside h2,.lside h3{margin-top:0}.lside p{margin:0 0 14px}
.lside a{color:var(--cod,#C4531B);text-decoration:underline;text-underline-offset:3px}
.lticks{list-style:none;padding:0;margin:8px 0 0;display:grid;gap:10px}
.lticks li{padding-left:28px;position:relative}.lticks li:before{content:"";position:absolute;left:0;top:.45em;width:14px;height:14px;border-radius:50%;background:var(--co,#F68B54)}
select{width:100%;min-height:48px;border-radius:14px;border:1px solid var(--line,#ECE4D6);background:#fff;font:400 16px Inter,sans-serif;padding:0 14px;color:inherit}
@media(max-width:900px){.lsplit{grid-template-columns:1fr}.lside{order:2}}
/* the one moving text band: gentle, pauses on hover, off for reduced motion */
.rib.band .t{animation-duration:48s!important}
.rib.band:hover .t,.rib.band:focus-within .t{animation-play-state:paused}
.rib.lb{margin:0 0 clamp(8px,2vw,24px);transform:rotate(-1deg);background:var(--cy,#70DDED)}
.pm:hover .t{animation-play-state:paused}
@media (prefers-reduced-motion:reduce){.rib.band .t,.pm .t{animation:none!important;transform:none!important}}
/* Home link sits in the desktop header; avoid a second Home row in the phone menu */
#mpanel a.mp-home+a[href="index.html"]{display:none}
@media(min-width:901px) and (max-width:1100px){nav ul.dn{gap:16px!important}}
footer .g,footer .bt{max-width:none}
/* who-we-are: three equal cards on one grid, leaders four across with the last row centred */
@media(min-width:900px){.cg{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
.qp-tg{display:flex!important;flex-wrap:wrap;justify-content:center;gap:var(--edge)!important}
.qp-tg>.qp-tm{flex:0 0 calc((100% - var(--edge))/2);max-width:none!important;margin:0!important}
@media(min-width:768px){.qp-tg>.qp-tm{flex-basis:calc((100% - 2*var(--edge))/3)}}
@media(min-width:1100px){.qp-tg>.qp-tm{flex-basis:calc((100% - 3*var(--edge))/4)}}
@media(min-width:900px){.cg>.cd.qp-wide:last-child{column-count:2;column-gap:48px}.cg>.cd.qp-wide:last-child>h2{column-span:all}.cg>.cd.qp-wide:last-child .sp-act{break-inside:avoid}}
/* band base styles, self-contained so generated pages render it the same */
.rib.band{position:relative;z-index:2;background:var(--cy,#70DDED);padding:16px 0;overflow:hidden;height:auto!important;width:auto!important}
.rib.band .t{display:flex;gap:28px;width:max-content;animation:lband 48s linear infinite;font:600 18px/1 Inter,sans-serif;white-space:nowrap;color:#363636;background:none!important;height:auto!important}
.rib.band .t i{font-style:normal;opacity:.5}
@keyframes lband{to{transform:translateX(-50%)}}
@media(max-width:760px){.rib.band{padding:12px 0}.rib.band .t{font-size:16px;gap:20px}}
