/* Financial context, within the existing Harbourlight brand and page structure. */
.hero-finance{height:auto;min-height:650px;max-height:none;background:radial-gradient(ellipse at 85% 42%,#10404d66,transparent 53%),#061d25}
.hero-finance .hero-content{display:grid;grid-template-columns:1fr 1.12fr;gap:25px;align-items:center;height:auto;min-height:560px;padding-block:34px 85px}
.hero-finance .hero-copy{position:relative;z-index:2;padding-block:22px}
.hero-finance .eyebrow{font-size:9px;letter-spacing:.14em;margin-bottom:26px}
.hero-finance h1{font-size:clamp(43px,4.35vw,65px);letter-spacing:-.045em;line-height:1.13;max-width:none}
.hero-finance .hero-intro{max-width:420px;font-size:14px;line-height:1.9;margin:25px 0 28px;color:#b8ced5}
.hero-finance .hero-buttons{gap:26px}
.hero-scope{font-size:10px;line-height:1.7;color:#7da4b0;margin:28px 0 0;letter-spacing:.02em}
.hero-finance .hero-bottom{height:59px}
.hero-finance .hero-atmosphere{right:-5%;top:8%;height:80%;width:60%;z-index:-1}
.finance-scene{position:relative;width:100%;aspect-ratio:1.12;margin:0;isolation:isolate}
.finance-scene .hero-image{inset:-3% -9% 0 -12%;height:auto;background-size:auto 100%;background-position:93% center;opacity:.74;z-index:-3;mask-image:radial-gradient(ellipse at 58% 49%,#000 24%,#000b 55%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse at 58% 49%,#000 24%,#000b 55%,transparent 75%);animation:ring-drift 28s ease-in-out infinite alternate;transform-origin:60% 50%}
.scene-halo{position:absolute;inset:10%;background:radial-gradient(ellipse,#84c1d118,transparent 66%);z-index:-2}
.finance-connections{position:absolute;inset:0;width:100%;height:100%;z-index:-1}
.flow-stream{animation:treasury-flow 18s linear infinite}
.finance-core{position:absolute;left:37%;top:37%;width:39%;text-align:center;display:flex;flex-direction:column;gap:12px;transform:rotate(-1deg)}
.finance-core>span:first-child{font-size:7px;letter-spacing:.17em;color:#9ec1cc}
.finance-core>strong{font:32px/1.12 var(--serif);font-weight:400;color:#d3e9ef;letter-spacing:-.03em;text-shadow:0 2px 24px #031a26}
.finance-core>span:last-child{font-size:6px;letter-spacing:.09em;color:#91b2bd}
.finance-node{position:absolute;padding:19px 21px 16px;background:linear-gradient(135deg,#385c6775,#0b2e3ae6 68%);border:1px solid #b6e0eb32;border-top-color:#b6e0eb66;border-radius:8px;backdrop-filter:blur(12px);box-shadow:0 18px 42px #020f1b55,inset 0 1px #c0e3ea0a;transition:transform .5s var(--ease),border-color .5s var(--ease);animation:panel-drift 13s ease-in-out infinite alternate}
.finance-node:hover{border-color:#b6e0eb70}
.node-kicker{display:block;font-size:7px;line-height:1.6;letter-spacing:.13em;color:#9bc4d1}
.finance-node h2{font:15px/1.5 var(--sans);letter-spacing:0;color:#e1edf0;margin-top:6px}
.finance-node p{font-size:8px;line-height:1.65;color:#9ab9c5;margin:8px 0 0;white-space:nowrap}
.node-liquidity{left:0;top:7%;width:224px;transform:rotate(-3deg)}
.node-liquidity>svg{width:100%;height:47px;display:block;margin-top:13px}
.node-risk{right:-1%;top:33%;width:190px;animation-delay:-4s}
.risk-matrix{display:grid;grid-template-columns:repeat(6,1fr);gap:5px;margin-top:14px;margin-bottom:11px}
.risk-matrix i{height:14px;border-radius:2px;background:#a3d4e34d}
.risk-matrix i:nth-child(3n){background:#b3d6e327}
.risk-matrix i:nth-child(5n){background:#c3e5ed80}
.node-crossborder{left:13%;bottom:9%;width:320px;display:flex;align-items:center;justify-content:space-between;gap:15px;animation-delay:-8s}
.node-crossborder h2{font-size:13px}
.node-crossborder>svg{width:66px;flex-shrink:0}
.finance-scene figcaption{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;gap:14px;color:#7599a7;font-size:7px;line-height:1.7}
.finance-scene figcaption>span:first-child{letter-spacing:.12em;color:#9dbdc7}
.hero.motion-paused .flow-stream,.hero.motion-paused .finance-node{animation-play-state:paused}
@keyframes treasury-flow{to{stroke-dashoffset:-536}}
@keyframes panel-drift{from{translate:0 0}to{translate:0 -6px}}
.service-icon{flex:0 0 37px;width:37px;height:37px;display:flex;align-items:center;justify-content:center;background:#c8dde24d;border-radius:8px;color:#447c8c}
.service-icon svg{width:25px;height:25px;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.service-title small{display:block;font:10px/1.6 var(--sans);letter-spacing:0;margin-top:9px;color:#708a93}
.service[open] .service-icon{background:#bdd8df80;color:#285d6e}
.service summary{gap:17px}
.service-list{border-top-color:#afc6cd}
.services .service-body{padding-left:54px}
.service-title{font-size:22px}
.service summary:hover .service-icon{background:#bfdbe2;transition:background .3s}
.service-body p{color:#566f79}
.service-bottom>span{line-height:1.9}
.study-overline{font-size:10px;letter-spacing:.09em}
@media(min-width:1500px){.hero-finance .hero-content{min-height:650px}.finance-scene{max-height:565px}.hero-finance h1{font-size:66px}.finance-node{padding:22px 24px}.node-liquidity{width:245px}.node-risk{width:215px}.node-crossborder{width:345px}.finance-node h2{font-size:16px}.finance-node p{font-size:9px}.node-kicker{font-size:8px}.finance-core>strong{font-size:36px}.finance-core>span:first-child{font-size:8px}.finance-core>span:last-child{font-size:7px}.finance-scene figcaption{font-size:8px}}
@media(max-width:1180px){.hero-finance{min-height:650px}.hero-finance .hero-content{grid-template-columns:1fr 1.08fr;gap:14px;min-height:560px;padding-block:45px 85px}.hero-finance h1{font-size:48px}.hero-finance .eyebrow{font-size:8px}.hero-finance .hero-intro{font-size:13px;max-width:350px}.finance-scene{aspect-ratio:1.02}.node-liquidity{width:195px;padding:16px;top:5%}.node-risk{width:166px;padding:15px;right:-3%;top:38%}.node-crossborder{width:287px;left:4%;padding:17px;bottom:9%}.finance-core{left:33%;top:36%;width:45%}.finance-core>strong{font-size:28px}.finance-core>span:last-child{font-size:5px}.finance-scene figcaption{font-size:6px}.finance-scene figcaption>span:first-child{max-width:90px}.finance-node p{font-size:7px}.node-crossborder h2{font-size:12px}.service-title{font-size:21px}.service-title small{font-size:9px}}
@media(max-width:940px) and (min-width:721px){.hero-finance .hero-content{grid-template-columns:.96fr 1.04fr;min-height:540px;gap:5px}.hero-finance h1{font-size:42px}.hero-finance .hero-intro{font-size:12px;max-width:300px}.hero-finance .hero-buttons{gap:17px}.hero-finance .button{padding-inline:17px;font-size:11px}.hero-finance .hero-text-link{font-size:11px}.hero-scope{max-width:270px;font-size:9px}.node-liquidity{width:170px;top:0}.node-risk{width:145px;right:-5%;top:39%;padding:13px}.node-crossborder{width:254px;left:0;bottom:6%;padding:14px}.node-crossborder>svg{width:47px}.finance-node h2{font-size:13px}.finance-node p{font-size:6px}.node-crossborder h2{font-size:11px}.node-kicker{font-size:6px}.finance-core{top:35%;left:29%;gap:9px}.finance-core>strong{font-size:25px}.finance-core>span:first-child{font-size:6px}.finance-core>span:last-child{display:none}.finance-scene figcaption{bottom:-12px}.service summary{gap:12px}.service-icon{flex-basis:30px;width:30px;height:34px;background:none}.service-icon svg{width:24px;height:24px}.service-title{font-size:19px}.services .service-body{padding-left:42px}}
@media(max-width:720px){.hero-finance{min-height:0;padding-bottom:57px}.hero-finance .hero-topline{font-size:6px}.hero-finance .hero-content{display:flex;flex-direction:column;gap:12px;min-height:0;padding-block:39px 27px}.hero-finance .hero-copy{width:100%;padding:0}.hero-finance .eyebrow{font-size:7px;letter-spacing:.13em;margin-bottom:21px}.hero-finance h1{font-size:clamp(38px,9.5vw,54px);line-height:1.1}.hero-finance .hero-intro{font-size:13px;max-width:400px;margin:23px 0 25px}.hero-finance .hero-buttons{gap:24px}.hero-finance .button{min-height:46px;font-size:11px;padding-inline:20px}.hero-finance .hero-text-link{font-size:11px}.hero-scope{font-size:9px;margin-top:22px}.finance-scene{aspect-ratio:1.12;max-width:510px;margin:13px auto 0}.finance-scene .hero-image{inset:-8% -12% -3% -15%;background-position:93% center;opacity:.8;mask-image:radial-gradient(ellipse at 57% 49%,#000 24%,#000b 55%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse at 57% 49%,#000 24%,#000b 55%,transparent 75%)}.node-liquidity{width:46%;padding:13px;top:4%;left:0}.node-liquidity>svg{height:35px;margin-top:8px}.node-risk{width:40%;right:-2%;top:35%;padding:13px}.finance-node h2{font-size:12px;margin-top:4px}.node-kicker{font-size:6px;letter-spacing:.1em}.finance-node p{font-size:6px;margin-top:7px}.risk-matrix{gap:4px;margin-top:10px;margin-bottom:8px}.risk-matrix i{height:10px}.node-crossborder{width:74%;left:2%;bottom:7%;padding:14px;gap:10px}.node-crossborder h2{font-size:11px}.node-crossborder>svg{width:50px}.finance-core{left:29%;top:38%;width:44%;gap:9px}.finance-core>strong{font-size:26px}.finance-core>span:first-child{font-size:5px}.finance-core>span:last-child{display:none}.finance-scene figcaption{font-size:5.5px;bottom:-6px;gap:10px}.finance-scene figcaption>span:first-child{max-width:none}.hero-finance .hero-bottom{height:57px}.principles-inner>div{font-size:9px;padding-inline:7px}.principles-inner>div:first-child{padding-left:0}.principles-inner>div:last-child{padding-right:0}.service-icon{flex-basis:34px;width:34px;height:34px}.service-icon svg{width:24px;height:24px}.service summary{gap:13px}.service-title{font-size:21px}.service-title small{font-size:9px;margin-top:8px;line-height:1.7}.services .service-body{padding-left:0}.service-body p{font-size:13px}.service-mini-visual{margin-top:4px}.service-toggle{align-self:center}}
@media(max-width:360px){.hero-finance .hero-content{padding-top:32px}.hero-finance h1{font-size:35px}.hero-finance .hero-intro{font-size:12px}.hero-finance .eyebrow{font-size:6px;letter-spacing:.1em}.hero-finance .hero-buttons{gap:20px}.hero-finance .button{padding-inline:15px;font-size:10px}.hero-finance .hero-text-link{font-size:10px}.hero-scope{font-size:8px}.node-liquidity{padding:11px}.node-risk{padding:10px;right:-1%}.finance-node h2{font-size:11px}.finance-node p{font-size:5.5px}.node-kicker{font-size:5px}.node-crossborder{padding:11px}.node-crossborder h2{font-size:10px}.node-crossborder>svg{width:42px}.finance-core>strong{font-size:23px}.finance-core>span:first-child{font-size:4.5px}.service-title{font-size:19px}.service-title small{font-size:8px}.service-icon{flex-basis:29px;width:29px}.service-icon svg{width:22px;height:22px}.service summary{gap:10px}.principles-inner>div{font-size:8px}.finance-scene figcaption{font-size:5px;letter-spacing:0}}
@media(prefers-reduced-motion:reduce){.flow-stream,.finance-node{animation:none!important;translate:none}.finance-scene .hero-image{animation:none!important;transform:none!important}}
/* Keep financial information readable instead of shrinking it with the artwork. */
.finance-node p{font-size:9px;white-space:normal;line-height:1.6}
.node-kicker{font-size:8px;letter-spacing:.09em}
.finance-scene figcaption{font-size:9px;align-items:flex-start}
.finance-scene figcaption>span:first-child{font-size:8px;max-width:none}
@media(min-width:721px) and (max-width:940px){.finance-node p{font-size:8px}.node-kicker{font-size:7px}.finance-scene figcaption{font-size:8px}.finance-scene figcaption>span:first-child{display:none}}
@media(max-width:720px){.finance-node .node-kicker,.finance-node p,.finance-core>span{display:none}.finance-node h2{font-size:13px;line-height:1.45;margin-top:0}.node-liquidity{padding:16px 13px}.node-risk{padding:16px 13px;top:35%}.node-crossborder{width:81%;padding:16px;bottom:8%}.node-crossborder h2{font-size:13px;max-width:160px}.node-crossborder>svg{width:58px}.finance-core{left:16%;top:39%;width:52%}.finance-core>strong{font-size:27px}.finance-scene figcaption{font-size:9px;bottom:-5px}.finance-scene figcaption>span:first-child{display:none}}
@media(max-width:360px){.finance-node h2{font-size:12px}.node-crossborder h2{font-size:12px}.node-crossborder{padding:13px}.node-crossborder>svg{width:46px}.finance-core>strong{font-size:24px}.finance-scene figcaption{font-size:8px}}
@media(max-width:360px){.node-risk{width:43%;padding:10px;top:29%}.node-risk h2{font-size:11px;white-space:nowrap}.node-risk .risk-matrix i{height:9px}.node-crossborder{bottom:5%}}
