/* A quiet orbital composition, with moving liquid confined to each control. */
.approach-cycle{width:min(100%,800px);height:600px;margin-top:55px}
.cycle-ring{inset:10% 12%;border:0;box-shadow:none;background:radial-gradient(ellipse at center,transparent 69%,#a0adc326 69.3%,transparent 69.7%)}
.cycle-stage{isolation:isolate;overflow:hidden;border:0;border-radius:50%;width:150px;height:76px;padding:12px 20px;min-width:0;background:#11151e;color:#f5f3ee;font-size:25px;box-shadow:none;transition:transform .5s,color .4s,background .4s}
.cycle-stage::before,.cycle-stage::after{content:"";position:absolute;z-index:-1;pointer-events:none;inset:-45%;border-radius:43% 57% 61% 39%;background:radial-gradient(ellipse at 35% 40%,#b7c9e35c,transparent 48%),radial-gradient(ellipse at 70% 60%,#2343d680,transparent 55%);filter:blur(10px);opacity:.48;animation:liquidDrift 11s ease-in-out infinite alternate}
.cycle-stage::after{background:conic-gradient(from 35deg,transparent 20%,#e7edf447 42%,transparent 63%,#3c5fbe73 85%,transparent);animation:liquidDrift 15s ease-in-out infinite alternate-reverse;opacity:.35;filter:blur(15px)}
.cycle-stage:nth-of-type(2n)::before{animation-delay:-4s}.cycle-stage:nth-of-type(3n)::after{animation-delay:-7s}
.cycle-stage:hover::before,.cycle-stage:focus-visible::before,.cycle-stage[aria-pressed="true"]::before{opacity:.9}
.cycle-stage[aria-pressed="true"]{background:#141b2b;color:white;border:0}
.cycle-stage[data-stage="0"]{top:10%}.cycle-stage[data-stage="1"]{left:84%;top:30%}.cycle-stage[data-stage="2"]{left:84%;top:70%}.cycle-stage[data-stage="3"]{top:90%}.cycle-stage[data-stage="4"]{left:16%;top:70%}.cycle-stage[data-stage="5"]{left:16%;top:30%}
.cycle-centre{width:43%}.cycle-centre h3{font-size:48px;color:#f5f3ee}.cycle-centre p{font-size:16px;line-height:1.7;color:#bfc4cc}
@keyframes liquidDrift{0%{transform:translate(-7%,-5%) rotate(-25deg) scale(.88)}50%{transform:translate(8%,4%) rotate(60deg) scale(1.14)}100%{transform:translate(-4%,9%) rotate(150deg) scale(.96)}}
/* The accepted curtain: edges meet, name appears, colour moves through the name, edges reopen. */
.curtain::after{display:none!important}
.curtain .l,.curtain .r{background:#0c0c0c;transition:transform .6s cubic-bezier(.76,0,.24,1);width:50.1%}
.curtain .r{background:#101014}
.curtain.closed{pointer-events:auto}
.curtain .cn{font-family:var(--display);font-size:clamp(32px,6vw,92px);letter-spacing:.025em;font-weight:500;margin:0;line-height:1.1;mix-blend-mode:normal;background:linear-gradient(105deg,#f5f3ee 12%,#718cff 33%,#0d1531 48%,#2343d6 60%,#f5f3ee 80%);background-size:260% 100%;background-clip:text;-webkit-background-clip:text;color:transparent!important;-webkit-text-fill-color:transparent;opacity:0;transition:opacity .16s ease;white-space:nowrap}
.curtain.closed .cn{opacity:1;transition-delay:.55s;animation:nameColourFlow 1.5s .55s ease-in-out both}
@keyframes nameColourFlow{from{background-position:0% center}to{background-position:100% center}}
/* Level, borderless venture selectors; selection is indicated by the name only. */
.venture-selector .venture-gallery{align-items:start}
.venture-selector .venture-card:nth-child(n){padding:0;margin:0;border:0}
.venture-selector .venture-media,.venture-selector .venture-card[aria-pressed="true"] .venture-media,.venture-selector .venture-card:hover .venture-media{border:0;box-shadow:none;outline:0}
.venture-selector .venture-card[aria-pressed="true"] h3{color:inherit;font-weight:600}
.venture-selector .venture-card h3{min-height:2.7em}
/* Keep native keyboard focus visible without decorative selection edging. */
.venture-card:focus-visible{outline:2px solid currentColor;outline-offset:7px}
/* Compact enquiry choices on one desktop row; stack only where labels require it. */
.types{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;border:0;margin-top:36px}
.type{aspect-ratio:auto;min-height:148px;padding:22px 20px;border:0;border-radius:8px;background:#edeae4;justify-content:flex-start;text-align:left;box-shadow:none}
.type h3{font-size:clamp(22px,2.2vw,31px);line-height:1.1;margin:0 0 12px}
.type p{font-size:13px;line-height:1.5;margin:0}
.type:hover{transform:translateY(-3px);background:#e1e0de}
.type[aria-pressed="true"]{background:#0d1531;color:#f5f3ee;border:0}
.route-list a{transform-origin:left center;transition:transform .3s ease,color .3s ease,padding .3s ease}
.route-list a b{transition:font-weight .3s ease;color:inherit}
.route-list a:hover,.route-list a:focus-visible{color:var(--cobalt);transform:scale(1.035);padding-left:5px}
.route-list a:hover b,.route-list a:focus-visible b{font-weight:700}
@media(max-width:700px){.types{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.type{min-height:138px;padding:20px 16px}.type h3{font-size:25px}.approach-cycle{height:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 16px}.cycle-ring{display:none}.cycle-stage{position:relative!important;top:auto!important;left:auto!important;transform:none;width:100%;height:72px;min-height:72px;border-radius:45%}.cycle-centre{position:static;transform:none;width:auto;grid-column:1/-1;padding:25px 10px}.cycle-centre h3{font-size:38px}}
@media(max-width:370px){.type h3{font-size:21px}.type{padding:17px 12px}.types{gap:10px}}
@media(prefers-reduced-motion:reduce){.cycle-stage::before,.cycle-stage::after{animation:none}.curtain .cn{animation:none}.route-list a:hover,.route-list a:focus-visible{transform:none}}
