@font-face{font-family:Inter;src:url('/assets/inter-latin.woff2') format('woff2');font-weight:300 700;font-display:swap}@font-face{font-family:Space;src:url('/assets/space-grotesk-latin.woff2') format('woff2');font-weight:500 700;font-display:swap}
@property --n{syntax:'<integer>';inherits:true;initial-value:0}
:root{color-scheme:light;--paper:#f7f7f2;--ink:#0b1220;--muted:#5f6670;--line:#dce0d8;--blue:#20288a;--navy:#050b1b;--sky:#a9b8ff;font:15px/1.6 Inter,system-ui,sans-serif;background:var(--paper);color:var(--ink)}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}figure,p,h1,h2,h3,dl,dd,ol,ul,address{margin:0}ol,ul{padding:0;list-style:none}address{font-style:normal}
a:focus-visible,summary:focus-visible{outline:3px solid #4f6bff;outline-offset:4px}
.wrap{width:min(1240px,100% - 112px);margin-inline:auto}.skip{position:absolute;left:20px;top:-100px;background:#fff;padding:12px;z-index:20}.skip:focus{top:12px}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
h1,h2,h3{font-family:Space,Inter,sans-serif;font-weight:500;letter-spacing:-.05em;line-height:1.05}h2{font-size:clamp(34px,4.4vw,60px);margin-top:18px;max-width:820px;padding-bottom:.08em}
.eyebrow{font-size:11px;letter-spacing:.16em;font-weight:600;display:flex;align-items:center;gap:10px;color:var(--blue)}.stats .eyebrow,.roads .eyebrow{color:var(--sky)}.lead{max-width:560px;margin-top:20px;font-size:16px;color:var(--muted)}.head{margin-bottom:50px}

/* Navigation: links left, logo centred, account buttons right. See-through over the hero, fills in and the logo settles smaller once the page scrolls (solid where scroll timelines are unsupported). */
.nav{position:fixed;z-index:10;top:max(14px,env(safe-area-inset-top));left:max(24px,(100% - 1288px)/2);right:max(24px,(100% - 1288px)/2);display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:20px;padding:8px 10px 8px 14px;border-radius:22px;background:#050b1bf0;border:1px solid #ffffff1a;box-shadow:0 12px 32px #0000004d;color:#fff}.brand{grid-column:2;display:block;width:104px}.brand img{width:100%;height:auto}
.nav-l{display:flex;gap:2px;font-size:13px}.nav-l a{position:relative;padding:7px 12px}.nav-l a:after{content:'';position:absolute;left:12px;right:12px;bottom:2px;height:2px;border-radius:1px;background:#fff;scale:0 1;transition:scale 240ms cubic-bezier(.2,.7,.2,1)}
.nav-r{grid-column:3;justify-self:end;display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600}.nav-r a{padding:11px 22px;border-radius:100px;transition:background 150ms,color 150ms}.login{border:1px solid #ffffff59}.login:hover{background:#ffffff1a}.register{background:#fff;color:var(--navy)}.register:hover{background:#dfe5ff}.tabbar{display:none}

/* Hero */
.hero-stage{position:relative;isolation:isolate;overflow:hidden;background:#060d20;color:#fff;min-height:850px}.photo-wall{position:absolute;z-index:-3;inset:-200px -390px -220px;transform:rotate(-9deg) scale(1.06);display:flex;flex-direction:column;justify-content:center;gap:17px;pointer-events:none}.photo-row{display:flex;gap:17px;flex:none;justify-content:center}.photo-row:nth-child(even){transform:translateX(-150px)}.photo-row img{flex:0 0 330px;width:330px;height:215px;object-fit:cover;border-radius:6px;border:1px solid #ffffff40;background:#182139}
.hero-stage:before{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#040a1be6 0%,#040a1b8c 44%,#040a1b33 75%),linear-gradient(0deg,#040a1b 0%,#040a1b25 45%,#040a1b60 100%)}
.hero{position:relative;display:grid;grid-template-columns:1.1fr 1fr;padding-block:170px 95px;min-height:850px;align-items:center}.hero-copy{position:relative;z-index:2}
h1{font-size:clamp(64px,7vw,100px);margin-block:0 25px;letter-spacing:-.065em;line-height:1}.wd{display:inline-block;overflow:hidden;vertical-align:top;padding:0 .06em .14em 0;margin-bottom:-.14em}.wd>span{display:inline-block}
.intro{font-size:18px;line-height:1.5;letter-spacing:-.02em}.hero-detail{max-width:360px;font-size:13px;color:#c6cbd4;margin-top:14px}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.button{display:inline-flex;align-items:center;gap:14px;padding:16px 28px;border-radius:100px;font-size:15px;font-weight:600;transition:background 150ms,transform 150ms}.button.primary{background:#fff;color:var(--navy)}.button.primary:hover{background:#dfe5ff}.button.ghost{color:#fff;border:1px solid #ffffff66}.button.ghost:hover{background:#ffffff1a}
.president{position:absolute;right:calc((1240px - 100vw)/2);bottom:0;width:620px;max-width:60vw;pointer-events:none}.president img{width:100%;height:auto;max-height:690px;object-fit:contain;object-position:bottom}.president figcaption{position:absolute;left:0;bottom:34%;font-size:20px;font-weight:700;line-height:1.25;text-shadow:0 2px 15px #0009}.president figcaption span{display:block;font-size:10px;letter-spacing:.16em;margin-top:6px}

/* Partners: one centred heading and a belt of logos. Without motion the logos wrap in a centred grid. */
.partners{background:#fff;padding-block:56px 64px;text-align:center;border-bottom:1px solid var(--line)}.partners h2{font-size:15px;letter-spacing:.18em;text-transform:uppercase;font-family:Inter,sans-serif;font-weight:600;color:var(--muted);margin:0 auto 34px}
.belt{display:flex;flex-wrap:wrap;justify-content:center}.belt-set{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:40px 64px;padding-inline:32px}.belt-set[aria-hidden]{display:none}.belt img{height:76px;width:auto}.belt img.wide{height:auto;max-width:170px;max-height:50px}

/* Statistics */
.stats{position:relative;overflow:clip;color:#fff;padding-block:120px 110px;background:radial-gradient(1100px 620px at 78% -10%,#24309066,transparent 65%),var(--navy)}.stats h2{margin-bottom:70px}
.rot{display:inline-grid;vertical-align:bottom;color:var(--sky)}.rot>span{grid-area:1/1}.rot>span+span{opacity:0}
.figures{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}.figures div{display:flex;flex-direction:column;border-top:1px solid #ffffff2e;padding-top:22px}.figures dt{order:2;margin-top:8px;font-size:13px;color:#b8c1d0}.figures dd{font-family:Space,Inter,sans-serif;font-weight:500;font-size:clamp(80px,11vw,168px);letter-spacing:-.07em;line-height:.95;color:#fff}.num.m:after{content:'M+'}


/* What we do: cards and a photo mosaic */
.what{padding-block:110px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.cards li{border:1px solid var(--line);border-radius:16px;background:#fff;padding:28px;transition:transform 200ms,box-shadow 200ms}.cards svg{width:44px;height:44px;fill:none;stroke:var(--blue);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.cards h3{font-size:24px;margin:40px 0 10px}.cards p{font-size:14px;color:var(--muted)}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:210px;grid-auto-flow:dense;gap:12px;margin-top:56px}.gallery figure{position:relative;overflow:hidden;border-radius:12px;background:#dfe3dc}.gallery .big{grid-column:span 2;grid-row:span 2}.gallery .tall{grid-row:span 2}.gallery .wide{grid-column:span 2}.gallery img{width:100%;height:100%;object-fit:cover;transition:transform 700ms cubic-bezier(.2,.7,.2,1)}.gallery figcaption{position:absolute;inset:auto 0 0;padding:28px 14px 12px;font-size:12px;color:#fff;background:linear-gradient(transparent,#050b1bcc)}

/* Roads: the islands, their highways and moving traffic */
.roads{background:var(--navy);color:#fff;padding-block:110px}.r-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}.r-copy{position:sticky;top:90px}.roads .lead{color:#b8c1d0}
.flows{counter-reset:f;margin-top:36px}.flows li{counter-increment:f;display:grid;grid-template-columns:44px 1fr;column-gap:8px;border-top:1px solid #ffffff22;padding-block:16px}.flows li:before{content:'0' counter(f);grid-row:span 2;font-size:12px;color:var(--sky);font-weight:600;padding-top:4px}.flows b{font-family:Space,Inter,sans-serif;font-weight:500;font-size:20px;letter-spacing:-.03em}.flows span{font-size:14px;color:#b8c1d0}
.legend{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:26px;font-size:12px;color:#b8c1d0}.legend li{display:flex;align-items:center;gap:8px}.legend i{display:block;width:22px;height:3px;border-radius:2px}.lg-hw{background:#c3ceff}.lg-rd{background:#7e93cf}.legend .lg-v{width:12px;height:6px;background:#f2f4f8}
.map img{width:auto;max-height:880px;margin-inline:auto}.map figcaption{text-align:right;font-size:11px;color:#6f7a96;margin-top:8px}

/* Timeline: left to right along a road; a jeepney drives it as the section scrolls past */
.journey{background:#fff;padding-block:110px;view-timeline:--journey}.track-wrap{padding-top:10px}.road{position:relative;height:46px;border-radius:23px;background:#1b2236;margin-bottom:34px}.road:before,.road:after{content:'';position:absolute;left:24px;right:24px;top:21px;height:4px;background:linear-gradient(90deg,#ffffff40 22px,transparent 0) 0 0/40px 100% repeat-x}.road:after{background-image:linear-gradient(90deg,#fff 22px,transparent 0)}
.drive{position:absolute;left:calc(100% - 92px);bottom:5px;width:80px;z-index:1}.jeepney{display:block;width:100%;height:auto;filter:drop-shadow(0 4px 4px #0006)}
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:22px}.steps li{position:relative;padding-top:18px;border-top:2px solid var(--blue)}.steps .soon{border-top-color:var(--line)}.steps time{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);font-weight:600}.steps .soon time{color:#8a92a0}.steps h3{font-size:23px;margin:8px 0 6px}.steps p{color:var(--muted);font-size:13px}.steps a{color:var(--blue);border-bottom:1px solid #20288a55}

/* Membership band */
.member{position:relative;isolation:isolate;overflow:hidden;color:#fff;padding-block:96px;background:radial-gradient(800px 420px at 88% 0,#3946c8,transparent 70%),var(--blue)}.m-grid{position:relative;display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center}.member h2{margin:0;font-size:clamp(44px,6vw,80px)}.member p{color:#d6dcff;font-size:17px;margin-top:14px;max-width:480px}.m-actions{display:flex;flex-wrap:wrap;gap:12px}.m-art{position:absolute;z-index:-1;right:max(-65px,(100vw - 1440px)/2);bottom:-7px;width:min(740px,65vw);height:auto;color:#c3ceff;opacity:.25;pointer-events:none}.member .button{backdrop-filter:blur(8px)}.member .button.ghost{background:#20288a88}.member a:focus-visible{outline-color:#fff}
@media(max-width:760px){.m-art{width:560px;max-width:none;right:-155px;bottom:-8px;opacity:.18}.member .m-grid{gap:26px}.member .m-actions{gap:12px}}
/* Contact, FAQ */
.contact{padding-block:110px 30px;display:grid;grid-template-columns:1fr 1.4fr;gap:70px}.info{display:grid;grid-template-columns:1fr 1fr;gap:28px 40px}.info div{border-top:1px solid var(--line);padding-top:14px}.info dt{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}.info dd{font-size:15px;line-height:1.55}.info a{border-bottom:1px solid #b9bfb5;transition:border-color 150ms}.info a:hover{border-color:var(--blue)}
.faq{padding-block:80px 110px;display:grid;grid-template-columns:1fr 1.4fr;gap:70px}.faq h2{font-size:clamp(30px,3.2vw,44px);margin:0}details{border-bottom:1px solid var(--line)}details:first-child{border-top:1px solid var(--line)}summary{list-style:none;padding-block:22px;font-size:15px;cursor:pointer;display:flex;justify-content:space-between;gap:20px}summary::-webkit-details-marker{display:none}summary span{font-size:20px;line-height:1;font-weight:300;transition:transform 160ms}details[open] summary span{transform:rotate(45deg)}details p{font-size:14px;color:var(--muted);padding-bottom:22px;max-width:480px}

/* Footer */
.footer{background:var(--navy);color:#fff;padding-top:72px}.f-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:40px;padding-bottom:56px}.f-brand img{width:110px;height:auto;margin-bottom:18px}.f-brand p{font-size:14px;color:#c6cbd4;max-width:260px}.f-brand .f-tag{margin-top:10px;font-family:Space,Inter,sans-serif;font-size:20px;letter-spacing:-.03em;color:#fff}.footer h3{font-family:Inter,sans-serif;font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:#8d97b3;margin-bottom:14px}.f-grid a,.f-grid div p{display:block;font-size:14px;color:#c6cbd4;margin-bottom:8px}.f-grid a{transition:color 150ms,translate 200ms}.f-grid a:hover{color:#fff}.f-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #ffffff1f;padding-block:22px 26px;font-size:12px;color:#8d97b3}.f-bottom a:hover{color:#fff}

/* Responsive */
@media(min-width:1352px){.president{right:-185px;width:800px}}@media(max-width:1351px){.president{right:-32px;width:580px}}
@media(max-width:1000px){.wrap{width:calc(100% - 64px)}.nav{left:16px;right:16px}.nav-l a{padding-inline:8px}.nav-l a:after{left:8px;right:8px}.president{right:-90px;max-width:65vw}.president figcaption{left:10%;font-size:16px}.contact,.faq{gap:40px}.cards{grid-template-columns:1fr 1fr}.r-grid{gap:36px}.f-grid{grid-template-columns:1fr 1fr}.track-wrap{overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:14px}.track{min-width:980px}.steps li{scroll-snap-align:start}}
@media(max-width:900px){.nav-l{display:none}.tabbar{display:flex;position:fixed;inset:auto max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));z-index:9;background:#050b1bf5;border:1px solid #ffffff26;border-radius:100px;padding:5px}.tabbar a{flex:1;text-align:center;color:#fff;font-size:11px;padding:10px 2px;border-radius:100px}.tabbar a{transition:background 150ms,scale 150ms}.tabbar a:active{background:#ffffff22;scale:.94}.f-bottom{padding-bottom:92px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.nav{top:max(10px,env(safe-area-inset-top));left:10px;right:10px;padding:6px 6px 6px 10px;gap:8px;border-radius:18px}.brand{width:66px}.nav .login{display:none}.nav-r a{padding:9px 16px;font-size:13px}.member{padding-block:64px}.m-grid{grid-template-columns:1fr;gap:26px}
.hero-stage{min-height:970px}.hero{display:block;padding-block:115px 440px;min-height:970px}h1{font-size:clamp(58px,14vw,84px);margin-block:20px}.hero-detail{max-width:310px}.intro{font-size:16px}.hero-cta{margin-top:24px}.button{padding:14px 22px;font-size:14px}.photo-wall{inset:-100px -550px -140px;gap:12px;transform:rotate(-10deg)}.photo-row{gap:12px}.photo-row img{flex-basis:270px;width:270px;height:195px}.president{right:-25px;width:430px;max-width:100vw}.president img{max-height:440px}.president figcaption{left:15px;bottom:26%;font-size:15px;max-width:160px}
.partners{padding-block:40px 44px}.belt-set{gap:28px 40px}.belt img{height:56px}.belt img.wide{max-width:128px;max-height:38px}
.stats,.what,.roads,.journey{padding-block:64px 72px}.stats h2{margin-bottom:40px}.figures{grid-template-columns:1fr;gap:26px}.figures dd{font-size:clamp(84px,28vw,130px)}
.head{margin-bottom:30px}.cards{grid-template-columns:1fr}.cards h3{margin-top:26px}.gallery{grid-template-columns:1fr 1fr;grid-auto-rows:150px;gap:8px;margin-top:36px}.gallery figcaption{font-size:11px;padding:22px 10px 8px}
.r-grid{grid-template-columns:1fr}.r-copy{position:static}.map img{max-height:640px}
.contact,.faq{grid-template-columns:1fr}.contact{padding-block:64px 10px}.info{grid-template-columns:1fr;gap:20px}.faq{padding-block:56px 64px;gap:24px}.footer{padding-top:52px}.f-grid{gap:30px;padding-bottom:36px}.f-brand{grid-column:1/-1}.f-bottom{flex-direction:column}
}

/* Motion: CSS only, off for reduced-motion and slow-update displays. The resting state is the full, visible page. */
@keyframes rise{from{opacity:0;translate:0 24px}}@keyframes word-up{from{translate:0 110%}}@keyframes text-in{from{clip-path:inset(0 0 100% 0);translate:0 .35em}to{clip-path:inset(0 0 0 0);translate:0 0}}@keyframes rot{0%{opacity:0;translate:0 .4em}6%,22%{opacity:1;translate:0 0}28%,100%{opacity:0;translate:0 -.4em}}@keyframes drift-l{to{translate:-130px 0}}@keyframes drift-r{to{translate:130px 0}}@keyframes count5{to{--n:5}}@keyframes count25{to{--n:25}}@keyframes count31{to{--n:31}}@keyframes fill{from{clip-path:inset(0 100% 0 0)}}@keyframes draw{from{stroke-dashoffset:1}}@keyframes belt{to{translate:-100% 0}}@keyframes brand-in{to{width:76px}}@keyframes nav-in{from{background-color:#050b1b00;border-color:#ffffff00;box-shadow:none}}@keyframes reveal{from{clip-path:inset(14% 10% 14% 10% round 12px);opacity:.3}}@keyframes drive{from{left:14px}}@keyframes lit{from{right:calc(100% - 24px)}}@keyframes map-in{from{opacity:0;scale:.94}}
@media(max-width:480px){.f-grid{grid-template-columns:1fr}.f-grid a{overflow-wrap:anywhere}}
@media(max-width:380px){.brand{width:58px}.nav-r a{padding-inline:12px}.tabbar a{font-size:10.5px}.figures dd{font-size:clamp(72px,26vw,110px)}h1{font-size:15.5vw}}
.button span{display:inline-block;transition:translate 200ms}.belt img{transition:scale 250ms}.steps h3{transition:color 200ms}.gallery figcaption{transition:padding 300ms}summary{transition:color 150ms}summary:hover{color:var(--blue)}
@media(hover:hover){.button:hover{transform:translateY(-2px)}.button:hover span{translate:3px 0}.cards li:hover{transform:translateY(-6px);box-shadow:0 16px 34px #20288a1a}.gallery figure:hover img{transform:scale(1.06)}.gallery figure:hover figcaption{padding-bottom:16px}.steps li:hover h3{color:var(--blue)}.f-grid a:hover{translate:3px 0}.nav-l a:hover:after{scale:1 1}}
@media(prefers-reduced-motion:no-preference) and (update:fast){
html{scroll-behavior:smooth;scroll-padding-top:70px}
@view-transition{navigation:auto}.brand,.gate-logo{view-transition-name:ltop-logo}::view-transition-old(root),::view-transition-new(root){animation-duration:260ms}::view-transition-group(ltop-logo){animation-duration:450ms;animation-timing-function:cubic-bezier(.2,.7,.2,1)}
:root{interpolate-size:allow-keywords}details::details-content{block-size:0;overflow-y:clip;transition:block-size 320ms cubic-bezier(.2,.7,.2,1),content-visibility 320ms allow-discrete}details[open]::details-content{block-size:auto}
.photo-row:nth-child(odd){animation:drift-l 38s ease-in-out infinite alternate}.photo-row:nth-child(even){animation:drift-r 44s ease-in-out infinite alternate}
.hero-copy>:not(h1){animation:rise 700ms cubic-bezier(.2,.7,.2,1) both}.hero-copy>.intro{animation-delay:480ms}.hero-copy>.hero-detail{animation-delay:560ms}.hero-copy>.hero-cta{animation-delay:640ms}
.wd>span{animation:word-up 900ms cubic-bezier(.2,.7,.2,1) both}.wd:nth-of-type(1)>span{animation-delay:120ms}.wd:nth-of-type(2)>span{animation-delay:240ms}.wd:nth-of-type(3)>span{animation-delay:360ms}
.rot>span{animation:rot 8s infinite both}.rot>span:nth-child(2){animation-delay:2s}.rot>span:nth-child(3){animation-delay:4s}.rot>span:nth-child(4){animation-delay:6s}
.belt{flex-wrap:nowrap;justify-content:flex-start;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}.belt-set,.belt-set[aria-hidden]{display:flex;flex:none;flex-wrap:nowrap;padding-inline:0 64px;animation:belt 130s linear infinite}
@supports(animation-timeline:view()){
.nav{animation:nav-in linear both;animation-timeline:scroll(root);animation-range:0 260px}@media(min-width:901px){.brand{animation:brand-in linear both;animation-timeline:scroll(root);animation-range:0 260px}}
.head h2,.contact h2,.faq h2,.stats h2,.r-copy h2,.member h2{animation:text-in linear backwards;animation-timeline:view();animation-range:entry 10% entry 80%}
.num{font-size:0}.num:before{counter-reset:n var(--n);content:counter(n)}.num:before,.num.m:after{font-size:clamp(80px,11vw,168px)}
.figures div{animation:rise linear both,count5 linear both;animation-timeline:view();animation-range:entry 0% entry 70%,entry 10% cover 35%}.figures div:nth-child(2){animation-name:rise,count25}.figures div:nth-child(3){animation-name:rise,count31}

.cards li,.info div,.flows li,.member p,.m-actions{animation:rise linear both;animation-timeline:view();animation-range:entry 0% entry 75%}.cards path{stroke-dasharray:1;animation:draw linear both;animation-timeline:view();animation-range:entry 30% cover 45%}
.gallery figure{animation:reveal linear both;animation-timeline:view();animation-range:entry 0% entry 85%}.map img{animation:map-in linear both;animation-timeline:view();animation-range:entry 0% entry 40%}
.drive{animation:drive linear both;animation-timeline:--journey;animation-range:cover 25% cover 70%}.road:after{animation:lit linear both;animation-timeline:--journey;animation-range:cover 25% cover 70%}.steps li{animation:rise linear both;animation-timeline:--journey;animation-range:cover 10% cover 30%}.steps li:nth-child(2){animation-range:cover 14% cover 36%}.steps li:nth-child(3){animation-range:cover 18% cover 42%}.steps li:nth-child(4){animation-range:cover 22% cover 48%}.steps li:nth-child(5){animation-range:cover 26% cover 54%}
.faq>div,.f-grid>*{animation:rise linear both;animation-timeline:view();animation-range:entry 0% entry 80%}}}
@media(max-width:760px) and (prefers-reduced-motion:no-preference) and (update:fast){@supports(animation-timeline:view()){.num:before,.num.m:after{font-size:clamp(84px,28vw,130px)}}}
@media(max-width:760px){.photo-row{animation:none!important}}
@media(prefers-reduced-motion:reduce),(update:slow){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important}}
/* Login and Register pages (placeholders until member accounts exist) */
.gate{min-height:100vh;display:grid;place-items:center;padding:40px 20px;color:#fff;background:radial-gradient(900px 560px at 50% -10%,#24309066,transparent 65%),var(--navy)}.gate-card{width:min(460px,100%);text-align:center}.gate-logo{display:block;width:150px;margin:0 auto 36px}.gate-logo img{width:100%;height:auto}.gate h1{font-size:clamp(40px,8vw,56px);margin-bottom:16px}.gate-card>p{color:#c6cbd4;font-size:15px}.gate-card .gate-note{font-size:13px;color:#8d97b3;margin-top:12px}
.gate-contact{text-align:left;margin-top:28px;border-top:1px solid #ffffff22}.gate-contact div{display:grid;grid-template-columns:70px 1fr;gap:12px;padding-block:12px;border-bottom:1px solid #ffffff22;font-size:14px}.gate-contact dt{color:#8d97b3;font-size:12px;padding-top:2px}.gate-contact a{border-bottom:1px solid #ffffff55}
.gate-actions{display:flex;justify-content:center;gap:10px;margin-top:30px;font-size:14px;font-weight:500}.gate-actions a{padding:11px 22px;border-radius:100px;transition:background 150ms}.gate-switch{margin-top:26px;font-size:13px;color:#8d97b3}.gate-switch a{color:var(--sky)}
@media(prefers-reduced-motion:no-preference) and (update:fast){.gate-card>*{animation:rise 600ms cubic-bezier(.2,.7,.2,1) both}.gate-card>:nth-child(2){animation-delay:80ms}.gate-card>:nth-child(3){animation-delay:140ms}.gate-card>:nth-child(n+4){animation-delay:200ms}}


/* One continuous community section: editorial copy, then an open photo mosaic. */
.what .head{margin-bottom:48px}.what h2{max-width:1000px;font-size:clamp(38px,4.5vw,64px);line-height:1.08}.what h2 span{color:var(--blue)}.what .cards{gap:36px}.what .cards li{border:0;border-top:1px solid #bfc8c0;border-radius:0;padding:24px 0 0;background:none;box-shadow:none;transform:none}.what .cards h3{margin-top:22px;font-size:24px}.what .cards p{max-width:340px}.what .cards svg{width:34px;height:34px}.what .gallery{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:240px;gap:16px;margin-top:52px}.what .gallery figure{border-radius:8px;min-width:0}.what .gallery .big{grid-column:span 2;grid-row:span 2}.what .gallery figure:nth-child(8){grid-column:span 2}.gallery figure>a{display:block;position:relative;width:100%;height:100%;overflow:hidden}.gallery figure>a:focus-visible{outline:3px solid var(--blue);outline-offset:-4px}.what .gallery img{object-position:center;transition:transform 800ms cubic-bezier(.2,.7,.2,1),filter 600ms}.what .gallery .big img{object-fit:contain;background:#10182a}.what .gallery figcaption{padding:38px 18px 16px;display:flex;align-items:end;justify-content:space-between;gap:12px;font-size:12px;line-height:1.5;transform:none}.gallery figcaption span{font-size:20px}
@media(hover:hover) and (pointer:fine){.what .cards li:hover{transform:none;box-shadow:none}.what .gallery figure:hover img{transform:scale(1.035);filter:brightness(1.04)}.what .gallery .big:hover img{transform:none}}
@media(max-width:1000px){.what .gallery{grid-auto-rows:200px;gap:12px}.what .cards{gap:24px}}
@media(max-width:760px){.what .head{margin-bottom:32px}.what .cards{gap:26px}.what .cards li{display:grid;grid-template-columns:34px 1fr;column-gap:18px;padding-top:20px}.what .cards svg{grid-row:span 2}.what .cards h3{margin:0 0 8px;font-size:22px}.what .cards p{font-size:13px}.what .gallery{grid-template-columns:1fr 1fr;grid-auto-rows:175px;gap:10px;margin-top:36px}.what .gallery .big{grid-column:1/-1;grid-row:span 1;aspect-ratio:16/10;min-height:210px;height:auto}.what .gallery{grid-template-rows:auto}.what .gallery figure:nth-child(8){grid-column:auto}.what .gallery figcaption{font-size:11px;padding:30px 10px 10px}.gallery figcaption span{font-size:16px}}
@media(prefers-reduced-motion:no-preference) and (update:fast){@supports(animation-timeline:view()){.m-art{animation:member-art linear both;animation-timeline:view();animation-range:entry 0% cover 45%}.what .gallery figure{animation:community-reveal linear both;animation-timeline:view();animation-range:entry 0% entry 75%}}}
@keyframes member-art{from{translate:45px 12px;opacity:.08}to{translate:0 0;opacity:.25}}
@keyframes community-reveal{from{opacity:.25;translate:0 28px;clip-path:inset(8% 0 0 0 round 8px)}to{opacity:1;translate:0 0;clip-path:inset(0 round 8px)}}

@media(min-width:761px){.what .cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.what .cards{grid-template-columns:1fr}}

/* A single illustrated membership composition; no new controls or content. */
.member{padding-block:84px 92px;min-height:440px;background:radial-gradient(ellipse at 85% 15%,#3a50b8 0,transparent 55%),linear-gradient(110deg,#17246f,#20288a);isolation:isolate}.member .m-grid{grid-template-columns:1fr;gap:28px;align-items:start}.member .m-grid>div:first-child{max-width:560px}.member h2{font-size:clamp(48px,5.4vw,76px);letter-spacing:-.055em}.member p{max-width:435px;font-size:16px;line-height:1.7}.member .m-actions{justify-content:flex-start}.member .m-art{z-index:-1;width:650px;max-width:55vw;right:max(10px,calc((100vw - 1320px)/2));bottom:-10px;opacity:1;animation:none;color:inherit}.member .button{min-height:56px}.member .button.primary{box-shadow:0 5px 24px #050b1b20}.member .button.ghost{background:transparent}
.what .gallery{grid-auto-rows:clamp(160px,16vw,225px);gap:12px}.what .gallery .big img{object-fit:cover;object-position:center 65%}.what .gallery figure{border-radius:5px}.what .gallery figcaption{background:linear-gradient(transparent,#050b1bd9);font-size:12px}.what .head{margin-bottom:38px}.what .cards svg{width:30px;height:30px}.what .cards h3{margin-top:18px}.what .gallery figure>a:after{content:'';position:absolute;inset:0;border:1px solid #0b12200d;border-radius:inherit;pointer-events:none}
@media(min-width:1100px){.what .head h2{font-size:clamp(48px,4.6vw,68px);letter-spacing:-.055em}.member .m-grid>div:first-child{max-width:530px}}
@media(max-width:1000px) and (min-width:761px){.member .m-art{right:-100px;max-width:65vw;opacity:.85}.member .m-grid>div:first-child{max-width:470px}.member p{max-width:360px}}
@media(max-width:760px){.member{padding-block:54px 245px;min-height:0}.member .m-grid{gap:24px}.member .m-art{width:460px;max-width:none;right:calc(50% - 240px);bottom:-4px}.member h2{font-size:48px}.member p{font-size:15px;max-width:340px}.member .button{min-height:50px}.what .gallery{grid-auto-rows:180px;gap:10px}.what .gallery .big{aspect-ratio:1400/789;min-height:0}.what .gallery .big img{object-fit:contain}.what .cards h3{margin-top:0}.what .gallery figcaption{font-size:11px}}
@media(prefers-reduced-motion:no-preference) and (update:fast){@supports(animation-timeline:view()){.member .fleet-bus,.member .fleet-modern,.member .fleet-jeep{animation:fleet-arrive linear both;animation-timeline:view();animation-range:entry 0% entry 90%}.member .fleet-modern{animation-range:entry 10% entry 95%}.member .fleet-jeep{animation-range:entry 20% entry 100%}}.member .fleet-lane{animation:fleet-road 16s linear infinite}}
@keyframes fleet-arrive{from{translate:45px 12px;opacity:.3}to{translate:0 0;opacity:1}}@keyframes fleet-road{to{stroke-dashoffset:-132}}

/* Photo-led community archive. Natural image ratios preserve every group. */
.what{padding-block:92px}.what .head{margin-bottom:42px}.what .gallery{display:block;columns:3;column-gap:16px;margin-top:0}.what .gallery figure{display:block;break-inside:avoid;margin:0 0 16px;overflow:hidden;background:#fff;border-radius:6px;border:1px solid #dce0d8;animation:none}.what .gallery figure:first-child{column-span:all;margin-bottom:24px}.what .gallery figure>a{height:auto;display:block}.what .gallery img,.what .gallery .big img{width:100%;height:auto;max-height:none;object-fit:contain;object-position:center;background:#edf0eb;transform:none}.what .gallery figcaption{position:static;inset:auto;display:flex;align-items:center;justify-content:space-between;background:#fff;color:#515a66;padding:12px 14px;font-size:11px;line-height:1.45;transform:none}.what .gallery figcaption span{color:var(--blue);font-size:16px;flex:none}.what .gallery figure:first-child figcaption{padding:14px 18px;font-size:12px}.what .gallery figure>a:after{display:none}
@media(hover:hover) and (pointer:fine){.what .gallery figure:hover img,.what .gallery .big:hover img{transform:none;filter:brightness(1.04)}.what .gallery figure:hover figcaption{color:var(--blue)}}
@media(max-width:1000px){.what .gallery{columns:2;column-gap:14px}.what .gallery figure{margin-bottom:14px}}
@media(max-width:760px){.what{padding-block:64px}.what .head{margin-bottom:28px}.what .gallery{columns:2;column-gap:10px;margin-top:0}.what .gallery figure{margin-bottom:10px;border-radius:4px}.what .gallery .big{height:auto;min-height:0;aspect-ratio:auto}.what .gallery figure:first-child{margin-bottom:14px}.what .gallery figcaption{padding:9px;font-size:10px;gap:6px}.what .gallery figure:first-child figcaption{padding:10px;font-size:11px}.what .gallery figcaption span{font-size:13px}}
@media(prefers-reduced-motion:no-preference) and (update:fast){@supports(animation-timeline:view()){.what .gallery figure{animation:photo-wall-in linear both;animation-timeline:view();animation-range:entry 0% entry 70%}}}
@keyframes photo-wall-in{from{opacity:.4;translate:0 18px}to{opacity:1;translate:0 0}}

/* Pure visual photo belts. Both loops travel right to left and repeat seamlessly. */
.what{overflow:hidden}.what .conveyor{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;columns:auto;margin:0;width:100%;padding-inline:max(20px,calc((100% - 1240px)/2))}.what .photo-loop,.what .photo-set{display:contents}.what .photo-set[aria-hidden]{display:none}.what .conveyor figure,.what .conveyor figure:first-child{margin:0;column-span:none;border:0;border-radius:6px;background:#e9ede7;animation:none;overflow:hidden;aspect-ratio:auto}.what .conveyor img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain;transform:none;filter:none}
@media(max-width:760px){.what .conveyor{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.what .conveyor figure:first-child{margin:0}}
@media(prefers-reduced-motion:no-preference) and (update:fast){
.what .conveyor{display:flex;flex-direction:column;gap:14px;padding:0;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}
.what .photo-loop{display:flex;flex:none;width:max-content;animation:community-belt 190s linear infinite;will-change:transform}
.what .photo-loop:nth-child(2){animation-duration:210s}
.what .photo-set,.what .photo-set[aria-hidden]{display:flex;flex:none;gap:14px;padding-right:14px;align-items:center}
.what .conveyor figure,.what .conveyor figure:first-child{flex:none;width:auto;height:250px;margin:0;border-radius:6px;background:transparent}
.what .conveyor img{width:auto;height:250px;max-width:none;object-fit:contain}

@media(max-width:760px){.what .conveyor{gap:10px;mask-image:none}.what .photo-set,.what .photo-set[aria-hidden]{gap:10px;padding-right:10px}.what .conveyor figure,.what .conveyor figure:first-child,.what .conveyor img{height:180px}.what .photo-loop{animation-duration:160s}.what .photo-loop:nth-child(2){animation-duration:180s}}
}
@keyframes community-belt{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* Space around logos allows the centre emphasis to grow without clipping. */
.belt{padding-block:20px}.belt-set{position:relative}.belt img{transform-origin:center;transition:scale 100ms linear}
.what .conveyor figure:hover img,.what .conveyor .big:hover img{filter:none;transform:none}.belt:hover .belt-set,.what .conveyor:hover .photo-loop{animation-play-state:running}
/* Varied sizes and offsets replace the rigid two-row contact-sheet rhythm. */
@media(prefers-reduced-motion:no-preference) and (update:fast){
.what .conveyor{gap:4px;mask-image:linear-gradient(90deg,transparent,#000 2%,#000 98%,transparent)}
.what .photo-loop{height:310px;animation-duration:240s}.what .photo-loop:nth-child(2){animation-duration:265s;animation-delay:-105s}
.what .photo-set,.what .photo-set[aria-hidden]{height:310px;gap:18px;padding-right:18px;align-items:center}
.what .conveyor figure,.what .conveyor figure:first-child{--photo-height:220px;height:var(--photo-height);width:auto;border-radius:8px;align-self:center}
.what .conveyor figure.shot-s{--photo-height:160px}.what .conveyor figure.shot-m{--photo-height:210px}.what .conveyor figure.shot-l{--photo-height:250px}.what .conveyor figure.shot-xl{--photo-height:285px}
.what .conveyor figure.shot-up{align-self:flex-start;margin-top:12px}.what .conveyor figure.shot-down{align-self:flex-end;margin-bottom:12px}
.what .conveyor figure img{height:var(--photo-height);width:auto;max-width:none}
@media(max-width:760px){.what .photo-loop,.what .photo-set,.what .photo-set[aria-hidden]{height:222px}.what .photo-set,.what .photo-set[aria-hidden]{gap:12px;padding-right:12px}.what .conveyor figure.shot-s{--photo-height:115px}.what .conveyor figure.shot-m{--photo-height:150px}.what .conveyor figure.shot-l{--photo-height:180px}.what .conveyor figure.shot-xl{--photo-height:205px}.what .conveyor figure.shot-up{margin-top:7px}.what .conveyor figure.shot-down{margin-bottom:7px}.what .photo-loop{animation-duration:200s}.what .photo-loop:nth-child(2){animation-duration:225s;animation-delay:-85s}}
}

/* Membership follows the owner's supplied cover artwork and white canvas. */
.member{background:#fff;color:#123c86;min-height:510px;padding-block:100px;border-block:1px solid #e4e9ef}
.member .m-grid{gap:28px}.member h2{color:#123c86}.member p{color:#526781;max-width:410px}
.member-cover{position:absolute;z-index:-1;inset:0;overflow:hidden;pointer-events:none}
.member-cover img{position:absolute;bottom:0;right:0;height:100%;width:auto;max-width:none}
.member .button.primary,.member .button.primary:hover{background:#1257b2;color:#fff;box-shadow:none;transform:none}
.member .button.ghost,.member .button.ghost:hover{border-color:#a2b4cc;background:#ffffffd9;color:#123c86;transform:none}
.member .button{backdrop-filter:none}.member a:focus-visible{outline-color:#1257b2}
@media(min-width:1600px){.member-cover img{right:max(0px,calc((100vw - 1920px)/2))}}
@media(max-width:1100px) and (min-width:761px){.member{min-height:480px;padding-block:76px}.member .m-grid>div:first-child{max-width:440px}.member-cover img{height:88%}.member p{max-width:340px}.member h2{font-size:62px}}
@media(max-width:760px){.member{padding-block:52px 260px;min-height:0}.member .m-grid{gap:24px}.member h2{font-size:46px}.member p{max-width:330px;font-size:15px}.member-cover img{height:auto;width:150%;right:0;bottom:0}.member .button{min-height:50px}}
@media(min-width:761px) and (max-width:1100px){.member{padding-block:64px calc(38.5vw + 36px);min-height:0}.member-cover img{width:100%;height:auto}.member .m-grid>div:first-child{max-width:560px}.member p{max-width:430px}}
