/* Forecrest: content grows from the selected body of the mobile. */
body{--tone:95,223,201;--tone-ink:#aaf4de;--panel-height:400px}
.ambient{background:radial-gradient(ellipse at 70% 42%,rgba(var(--tone),.10),transparent 62%),radial-gradient(ellipse at 20% 90%,#6654a212,transparent 60%)}
.hero h1 em{background-image:linear-gradient(110deg,#e6fff7,#4a948d 24%,#d4e9fb 46%,#d7a6ca 70%,#bfb5f6 90%)}
.brand-symbol{background:linear-gradient(130deg,#e4fff7,#559c9a 45%,#e2f8ff 68%,#a798cf)}
.button{gap:15px;min-width:220px;justify-content:center;background:linear-gradient(115deg,#d5fff1,#82b5b0 40%,#cae6f0 75%,#b8b4dc)}
.hero-foot{padding-left:0}.hero-bottom a{padding:9px 0}.footer>div>a{font-size:10px}.contact h2{max-width:100%}
.step-tabs button>span:first-child{flex:0 0 42px;margin:0}.step-tabs button{justify-content:start}.step-tabs button[aria-selected="true"]{color:var(--tone-ink)}
.process-board{border-color:rgba(var(--tone),.28);background:linear-gradient(130deg,rgba(var(--tone),.08),#10121ae8 60%,#36304433)}
.person-initial{background:linear-gradient(145deg,#65b5a7,#192d39 45%,#a193c3);border-color:#a8f0d762}
[data-scroll-reveal]{transform-origin:50% 65%;will-change:transform,opacity}
.services>.section-heading{position:relative;z-index:2;justify-content:center;text-align:center;display:block;padding-bottom:65px}
.services>.section-heading>p{margin:26px 0 0;color:#b8bfca}
.services>.section-heading>p br{display:none}
.services>.section-heading h2 em{color:#afd4d0}
.carousel-track{position:relative}
.carousel-stage{position:relative;isolation:isolate}
.carousel-topline{display:none}
.carousel-orbit{display:none}
.module-cards{position:relative}
.service-card{min-height:0;padding:50px 6%;height:auto;background:#111820;border-top:1px solid #ffffff24}
.service-card:after{display:none}
.service-card h3,.service-card p,.service-card .card-top,.service-card .card-bottom{max-width:none}
.service-card h3{font-size:45px}.service-card p{max-width:480px}
.module-pickers,.carousel-bottom{display:none}
.service-card[data-service="0"]{--module-tone:75,224,190;--module-light:#acfbe6}
.service-card[data-service="1"]{--module-tone:244,136,159;--module-light:#ffbdc6}
.service-card[data-service="2"]{--module-tone:163,132,250;--module-light:#d4baff}
.card-bottom a{font:10px/1.4 'Helvetica Neue',Helvetica,Arial,sans-serif;border-radius:4px;padding:10px 15px;width:auto;height:auto;white-space:nowrap}
.carousel-ready .carousel-track{height:480svh}
.carousel-ready .carousel-stage{position:sticky;top:0;height:100svh;min-height:540px;overflow:hidden}
.carousel-ready .carousel-topline{position:absolute;display:flex;justify-content:space-between;align-items:center;left:5.5%;right:5.5%;top:35px;color:#8c99a6;z-index:4;font:9px/1.5 'SFMono-Regular',Consolas,monospace;letter-spacing:1.6px}
.carousel-ready .carousel-count{color:var(--tone-ink)}
.carousel-ready .module-cards{position:absolute;inset:0;pointer-events:none;perspective:1100px}
.carousel-ready .service-card{position:absolute;left:0;top:0;width:min(600px,calc(100vw - 64px));height:var(--panel-height);border:1px solid rgba(var(--module-tone),.5);border-radius:28px;background:linear-gradient(120deg,rgba(var(--module-tone),.12),#080d14f5 47%,rgba(var(--module-tone),.07)),#0b1018ed;box-shadow:inset 0 1px 0 #ffffff50,inset 0 0 32px rgba(var(--module-tone),.05),0 22px 80px #0007;backdrop-filter:blur(20px);padding:42px 46px;will-change:transform,opacity;transform-origin:50% 50%;opacity:0;pointer-events:none;overflow:hidden}
.carousel-ready .service-card[data-open="true"]{pointer-events:auto}
.carousel-ready .service-card:before{content:'';position:absolute;left:15%;right:15%;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--module-light),transparent);opacity:.8}
.carousel-ready .module-content{height:100%;display:flex;flex-direction:column;transform-origin:center;will-change:transform,opacity;position:relative}
.carousel-ready .card-top{margin:0 0 25px;max-width:none;font-size:8px;letter-spacing:1.3px;color:var(--module-light)}
.carousel-ready .service-card h3{font-size:clamp(35px,3.6vw,51px);line-height:1.05;letter-spacing:-.06em;max-width:none;font-weight:450}
.carousel-ready .service-card p{font-size:14px;line-height:1.7;color:#bcc7d3;margin:22px 0;max-width:450px}
.carousel-ready .card-bottom{margin-top:auto;padding-top:16px;max-width:none;gap:20px;font-size:7px;color:var(--module-light);border-color:rgba(var(--module-tone),.25);letter-spacing:.65px}
.carousel-ready .card-bottom a{background:rgba(var(--module-tone),.12);border:1px solid rgba(var(--module-tone),.35);color:#e2f4f1;font-size:9px;padding:10px 13px;line-height:1.3}
.carousel-ready .card-bottom a:hover{background:rgba(var(--module-tone),.25);border-color:var(--module-light)}
.carousel-ready .module-pickers{display:block;position:absolute;inset:0;pointer-events:none;z-index:3}
.module-picker{position:absolute;top:0;left:0;width:150px;display:flex;align-items:center;justify-content:center;gap:8px;padding:13px 11px;background:#111823e8;border:1px solid #ffffff35;border-radius:22px;color:#d8e3ed;pointer-events:auto;will-change:transform,opacity;box-shadow:inset 0 1px #ffffff30,0 10px 30px #0005}
.module-picker .picker-number{font:8px/1.2 'SFMono-Regular',Consolas,monospace;opacity:.65}
.module-picker .picker-label{font-size:11px}
.module-picker .picker-open{display:none}
.module-picker:hover{border-color:var(--tone-ink);background:#1a2835;box-shadow:0 0 25px rgba(var(--tone),.15)}
.module-picker[data-pick-service="0"]{color:#aaf6dd;border-color:#84d4bd80}
.module-picker[data-pick-service="1"]{color:#ffc0ca;border-color:#ec98a080}
.module-picker[data-pick-service="2"]{color:#d7bfff;border-color:#bba1fc80}
.carousel-ready .carousel-bottom{position:absolute;left:5.5%;right:5.5%;bottom:29px;z-index:5;display:flex;flex-direction:column;align-items:center;gap:14px}
.carousel-instruction{font:9px/1.5 'SFMono-Regular',Consolas,monospace;color:#96a4b4;letter-spacing:.6px}
.carousel-ready .service-nav{position:relative;top:auto;margin:0;display:flex;align-items:stretch;gap:0;padding:5px;background:#0e141ccc;border:1px solid rgba(var(--tone),.24);border-radius:4px;backdrop-filter:blur(20px);width:auto;max-width:100%}
.carousel-ready .service-nav a{position:relative;overflow:hidden;padding:12px 22px;min-width:135px;font-size:9px;letter-spacing:.3px;text-align:center;color:#a7b3c3;background:transparent;box-shadow:none;border:0;border-radius:2px}
.carousel-ready .service-nav a[aria-current="true"]{color:var(--tone-ink);background:rgba(var(--tone),.09)}
.carousel-ready .service-nav a[aria-current="true"] span{color:var(--tone-ink);opacity:.6}
.carousel-ready .service-nav a i{position:absolute;bottom:0;left:0;height:2px;background:var(--tone-ink);width:100%;transform:scaleX(var(--read-progress,0));transform-origin:left;opacity:.8}
.carousel-ready .service-nav a:not([aria-current="true"]) i{opacity:0}
.carousel-exit{font-size:9px;color:#8796a8;border-bottom:1px solid #ffffff25;padding:2px 0}
.carousel-exit:hover{color:#d5e2ed}
.carousel-ready .carousel-orbit{display:block;position:absolute;left:50%;top:47%;width:min(88vw,1100px);height:300px;transform:translate(-50%,-50%) rotate(-12deg);pointer-events:none;opacity:.22}
.carousel-orbit i{position:absolute;inset:0;border:1px solid rgba(var(--tone),.3);border-radius:50%}
.carousel-orbit i:nth-child(2){transform:rotate(22deg);inset:20px -35px}
.carousel-ready .scene-caption{transition:opacity .15s}
body.in-carousel .scene-caption,body.in-carousel .orbit-label{opacity:0!important}
body.in-carousel .motion-toggle{right:22px;bottom:24px}
body.in-carousel .ambient{background:radial-gradient(ellipse at 50% 44%,rgba(var(--tone),.12),transparent 61%)}
@media(max-width:1000px){.carousel-ready .service-card h3{font-size:43px}.carousel-ready .service-card p{max-width:none}.carousel-ready .card-bottom{max-width:none}.carousel-ready .service-nav a{padding:12px 17px;min-width:120px}}
@media(max-width:700px){
 body{--panel-height:418px}
 .hero .button{min-width:210px}.hero-foot{margin-top:25px}.footer>div>a{font-size:8px}
 .services>.section-heading{padding:70px 6% 40px}.services>.section-heading>p{font-size:11px;max-width:240px;margin:22px auto 0;line-height:1.7}
 .carousel-ready .carousel-track{height:510svh}
 .carousel-ready .carousel-stage{min-height:590px}
 .carousel-ready .carousel-topline{top:27px;left:6%;right:6%;font-size:7px;letter-spacing:1px}
 .carousel-ready .service-card{width:calc(100vw - 58px);padding:32px 27px;border-radius:23px}
 .carousel-ready .card-top{font-size:6px;letter-spacing:.7px;margin-bottom:25px}
 .carousel-ready .service-card h3{font-size:clamp(29px,8.1vw,39px);letter-spacing:-.065em;line-height:1.08}
 .carousel-ready .service-card p{font-size:12px;line-height:1.7;margin:24px 0 16px;max-width:none}
 .carousel-ready .card-bottom{font-size:5.5px;letter-spacing:.3px;gap:8px;padding-top:14px}
 .carousel-ready .card-bottom>span{max-width:125px}.carousel-ready .card-bottom a{font-size:8px;padding:9px 10px;max-width:110px;white-space:normal;text-align:center}
 .carousel-ready .carousel-bottom{left:6%;right:6%;bottom:75px;gap:13px}
 .carousel-instruction{font-size:7px;letter-spacing:.3px}
 .carousel-ready .service-nav{padding:4px;width:100%;justify-content:center}
 .carousel-ready .service-nav a{font-size:8px;padding:12px 8px;min-width:0;flex:1}.carousel-ready .service-nav a span{font-size:7px;margin-right:5px}
 .carousel-exit{font-size:8px;padding-top:1px}
 .module-picker{width:110px;padding:9px 8px;gap:6px}.module-picker .picker-label{font-size:8px}.module-picker .picker-number{font-size:6px}
 .carousel-ready .carousel-orbit{width:100vw;height:190px;top:44%;opacity:.3}
 body.in-carousel .motion-toggle{bottom:17px;right:17px}
 .carousel-ready .service-card{max-height:calc(100svh - 230px);overflow-y:auto}
 .service-card h3{font-size:34px}.service-card .card-bottom{max-width:none}
}
@media(max-height:640px) and (min-width:701px){body{--panel-height:330px}.carousel-ready .service-card{padding:27px 35px}.carousel-ready .card-top{margin-bottom:16px}.carousel-ready .service-card h3{font-size:36px}.carousel-ready .service-card p{font-size:12px;margin:18px 0}.carousel-ready .carousel-bottom{bottom:15px;gap:8px}.carousel-ready .carousel-topline{top:22px}}
@media(prefers-reduced-motion:reduce){[data-scroll-reveal]{transform:none!important;opacity:1!important}}

.carousel-ready .module-cards{z-index:4}

.module-picker::before{content:'';position:absolute;left:0;right:0;bottom:100%;height:145px;border-radius:50%}
@media(max-width:700px){.module-picker{min-height:44px}.module-picker::before{height:58px}}
.step-tabs button>span:first-child{font-size:10px}
