.solution-page { --solution-purple: var(--deyee-purple, #826daf); overflow: hidden; background: #fff; color: #17131f; }
.solution-page *, .solution-page *::before, .solution-page *::after { box-sizing: border-box; }
.solution-page h1, .solution-page h2, .solution-page h3, .solution-page p { margin-top: 0; }
.solution-page .solution-kicker { margin: 0 0 24px; color: #121212; font-size: 16px; font-weight: 700; line-height: 1.35; letter-spacing: 0; text-transform: uppercase; }
.solution-button { display: inline-flex; min-height: 46px; align-items: center; justify-content: center; padding: 0 24px; border: 1px solid #d8d2e2; border-radius: 999px; color: #17131f; font-size: 14px; font-weight: 500; }
.solution-button--solid { border-color: var(--solution-purple); background: var(--solution-purple); color: #fff; box-shadow: 0 12px 28px color-mix(in srgb, var(--solution-purple) 18%, transparent); }
.solution-section { padding: 120px 0; }
.solution-heading { max-width: 850px; margin-bottom: 58px; }
.solution-heading--split { display: grid; max-width: none; grid-template-columns: 1.1fr .9fr; gap: 100px; align-items: end; }
.solution-heading h2, .solution-category h2, .solution-global h2, .solution-contact h2 { margin-bottom: 18px; color: var(--solution-purple); font-size: 50px; font-weight: 700; line-height: 1.28; letter-spacing: -.02em; }
.solution-heading > p:last-child, .solution-heading--split > p, .solution-category__copy > p, .solution-global__card p, .solution-contact__card p { color: #756f7d; font-size: 17px; line-height: 1.7; }
.solution-introduction { position:relative; padding:120px 0; background:#fff; }
.solution-introduction__grid { position:relative; display:grid; grid-template-columns:minmax(460px,.86fr) 1.14fr; align-items:center; gap:56px; }
.solution-introduction__copy { position: relative; z-index: 2; max-width: 690px; padding: 76px 0; }
.solution-introduction__copy .deyee-dual-heading__eyebrow { margin-bottom: 32px; color:#2f2935; font-size:14px; font-weight:600; letter-spacing:.22em; text-transform:uppercase; }
.solution-introduction__copy .deyee-dual-heading__eyebrow::before { display:none; }
.solution-introduction__copy .deyee-dual-heading__title { max-width:680px; margin:0 0 24px; color:var(--solution-purple); font-size:clamp(46px,4.25vw,68px); font-weight:600; line-height:1.06; letter-spacing:-.045em; }
.solution-introduction__copy .deyee-dual-heading__text { max-width:610px; }
.solution-introduction__copy .deyee-dual-heading__text p { margin:0; color:#625b70; font-size:17px; line-height:1.6; }
.solution-introduction__benefits { display:grid; max-width:650px; grid-template-columns:repeat(3,1fr); gap:0; margin:34px 0 36px; padding:0; list-style:none; }
.solution-introduction__benefits li { min-height:82px; padding:0 28px; border-left:1px solid rgba(130,109,175,.24); color:#554b6a; font-size:15px; line-height:1.35; }
.solution-introduction__benefits li:first-child { padding-left:0; border-left:0; }
.solution-introduction__benefits span { display:grid; width:38px; height:38px; margin-bottom:10px; place-items:center; border-radius:50%; background:rgba(130,109,175,.1); color:var(--solution-purple); font-size:11px; font-weight:600; }
.solution-introduction__visual { position:relative; height:600px; overflow:hidden; border-radius:30px; background:#f4f2fb; box-shadow:0 24px 60px rgba(62,45,99,.12); }
.solution-introduction__visual::before { display:none; }
.solution-introduction__visual img { display:block; width:100%; height:100%; object-fit:cover; object-position:70% center; }
.solution-approach { position:relative; min-height:840px; overflow:hidden; background:#f9f9f9; }
.solution-approach::before { display:none; }
.solution-approach .deyee-container { position:relative; z-index:1; max-width:1440px; }
.solution-heading--approach { max-width:1200px; margin:0 auto 64px; text-align:center; }
.solution-heading--approach .solution-kicker { display:flex; align-items:center; justify-content:center; gap:26px; color:var(--solution-purple); }
.solution-heading--approach .solution-kicker::before,.solution-heading--approach .solution-kicker::after { width:54px; height:1px; background:currentColor; content:""; }
.solution-heading--approach h2 { margin-bottom:22px; color:#826daf; font-size:clamp(44px,4vw,62px); font-weight:650; line-height:1.08; letter-spacing:-.045em; text-transform:capitalize; }
.solution-heading--approach h2 span,.solution-heading--approach h2 em { display:block; color:inherit; }
.solution-heading--approach h2 em { color:inherit; font-style:normal; }
.solution-heading--approach>p { max-width:760px; margin:0 auto; color:#6e6783; font-size:17px; line-height:1.6; }
.solution-question-grid { position:relative; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:22px; margin-bottom:68px; padding-top:52px; }
.solution-question-grid::before { position:absolute; top:10px; right:3%; left:3%; height:230px; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 230' preserveAspectRatio='none'%3E%3Cpath fill='%23a98bf2' d='M0 115Q500-115 1000 115Q500-109 0 115Z'/%3E%3C/svg%3E") center/100% 100% no-repeat; content:""; }
.solution-question-grid article { position:relative; min-height:270px; padding:48px 26px 30px; border:1px solid rgba(130,109,175,.09); border-radius:28px; background:rgba(255,255,255,.7); box-shadow:0 20px 55px rgba(75,55,116,.07); text-align:center; backdrop-filter:blur(8px); }
.solution-question-grid article:nth-child(1),.solution-question-grid article:nth-child(5) { transform:translateY(68px); }
.solution-question-grid article:nth-child(2),.solution-question-grid article:nth-child(4) { transform:translateY(26px); }
.solution-question-grid__number { position:absolute; top:-70px; left:50%; transform:translateX(-50%); color:#8b65e8; font-size:18px; font-weight:650; }
.solution-question-grid article:nth-child(1) .solution-question-grid__number,
.solution-question-grid article:nth-child(5) .solution-question-grid__number { top:-41px; }
.solution-question-grid article:nth-child(2) .solution-question-grid__number,
.solution-question-grid article:nth-child(4) .solution-question-grid__number { top:-91px; }
.solution-question-grid article:nth-child(3) .solution-question-grid__number { top:-87px; }
.solution-question-grid__number::after { display:block; width:12px; height:12px; margin:12px auto 0; border-radius:50%; background:#8b65e8; box-shadow:0 0 12px rgba(139,101,232,.7); content:""; }
.solution-question-grid i { display:grid; width:92px; height:92px; margin:0 auto 24px; place-items:center; border-radius:50%; background:linear-gradient(145deg,rgba(139,101,232,.13),rgba(255,255,255,.86)); color:#8158e2; font-style:normal; }
.solution-question-grid svg { width:48px; height:48px; fill:none; stroke:currentColor; stroke-width:3; stroke-linecap:round; stroke-linejoin:round; }
.solution-question-grid h3 { margin:0 0 12px; color:#171442; font-size:20px; font-weight:650; }
.solution-question-grid p { margin:0; color:#756e89; font-size:15px; line-height:1.55; }
.solution-categories { background:#fff; }
.solution-categories .solution-heading { max-width:1200px; margin-right:auto; margin-left:auto; text-align:center; }
.solution-categories .solution-heading h2 { text-transform:capitalize; }
.solution-categories .solution-heading>p:last-child { max-width:900px; margin-right:auto; margin-left:auto; }
.solution-category-list { display:grid; gap:90px; }
.solution-category { display:grid; height:650px; grid-template-columns:1.12fr .88fr; overflow:hidden; background:radial-gradient(circle at 80% 15%,rgba(139,101,232,.09),transparent 40%),#fff; box-shadow:0 28px 80px rgba(55,40,75,.08); }
.solution-category:nth-child(even) .solution-category__media { order: 2; }
.solution-category__media { position:relative; height:650px; overflow:hidden; border-radius:0 48% 48% 0 / 0 100% 100% 0; background:#edeaf2; }
.solution-category:nth-child(even) .solution-category__media { border-radius:48% 0 0 48% / 100% 0 0 100%; }
.solution-category__media img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform .6s ease; }
.solution-category:hover .solution-category__media img { transform: scale(1.025); }
.solution-category__media > span { display:grid; height:100%; place-items:center; color:#918a99; }
.solution-category__copy { display:flex; flex-direction:column; justify-content:center; padding:clamp(48px,5vw,78px); }
.solution-category__meta { display:flex; align-items:center; gap:20px; margin-bottom:34px; }
.solution-category__meta span { display:grid; width:58px; height:58px; place-items:center; border-radius:50%; background:rgba(139,101,232,.11); color:#171442; font-size:16px; font-weight:650; }
.solution-category__meta p { display:flex; align-items:center; gap:18px; margin:0; color:#171442; font-size:14px; font-weight:650; letter-spacing:.12em; text-transform:uppercase; }
.solution-category__meta p::after { width:54px; height:1px; background:rgba(130,109,175,.5); content:""; }
.solution-category h2 { margin-bottom:24px; font-size:clamp(42px,4vw,60px); line-height:1.06; letter-spacing:-.045em; }
.solution-category h2 a { color:#171442; }
.solution-category h2 em { color:#8667cf; font-style:normal; }
.solution-category__copy>p:not(.solution-category__ideal) { color:#6e6783; font-size:17px; line-height:1.65; }
.solution-category__ideal { margin:26px 0 0; padding-top:26px; border-top:1px solid #e8e3ef; color:#171442; font-size:14px; font-weight:650; letter-spacing:.1em; text-transform:uppercase; }
.solution-category__benefits { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:18px 0 30px; padding:0 0 26px; border-bottom:1px solid #e8e3ef; list-style:none; }
.solution-category__benefits li { position:relative; padding-top:48px; color:#5f5770; font-size:13px; line-height:1.45; text-align:center; }
.solution-category__benefits li::before { position:absolute; top:0; left:50%; display:grid; width:38px; height:38px; transform:translateX(-50%); place-items:center; border-radius:50%; background:rgba(139,101,232,.1); color:#8158e2; content:"✓"; font-size:16px; font-weight:700; }
.solution-category .solution-button { align-self:flex-start; gap:18px; min-height:54px; padding-inline:30px; }
.solution-category--resort-detail { min-height:0; height:auto; grid-template-columns:45% 55%; align-items:stretch; border-radius:20px; background:radial-gradient(circle at 72% 18%,rgba(139,101,232,.08),transparent 42%),#fff; }
.solution-category--resort-detail:nth-child(even) { grid-template-columns:55% 45%; }
.solution-category--resort-detail .solution-category__media { min-height:0; height:auto; border-radius:20px; }
.solution-category--resort-detail:nth-child(even) .solution-category__media { border-radius:20px; }
.solution-category--resort-detail .solution-category__media img { position:absolute; inset:0; object-position:center; }
.solution-category--resort-detail .solution-category__copy { justify-content:center; padding:48px 56px; }
.solution-category--resort-detail .solution-category__meta { margin-bottom:20px; }
.solution-category--resort-detail h2 { margin-bottom:18px; color:#171442; font-size:38px; font-weight:500; line-height:1.15; }
.solution-category--resort-detail h2 a,.solution-category--resort-detail h2 span,.solution-category--resort-detail h2 em { color:inherit; font-weight:inherit; }
.solution-category--resort-detail .solution-category__copy>p { margin:0 0 8px; font-size:16px; line-height:1.6; }
.solution-category--resort-detail .solution-category__copy>.solution-category__subtitle { margin-top:-8px; color:#805be0; font-weight:500; }
.solution-category__applications { margin-top:24px; padding:24px 0 26px; border-top:1px solid #e3ddec; border-bottom:1px solid #e3ddec; }
.solution-category__applications h3 { margin:0 0 22px; color:#171442; font-size:22px; line-height:1.3; letter-spacing:0; text-transform:none; }
.solution-category__applications ul { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; margin:0; padding:0; list-style:none; }
.solution-category__applications li { position:relative; min-height:0; padding:6px 12px 6px 15px; color:#675f75; font-size:15px; line-height:1.4; text-align:left; }
.solution-category__applications li::before { position:absolute; top:13px; left:2px; width:6px; height:6px; border-radius:50%; background:#805be0; content:""; }
.solution-category--resort-detail .solution-category__detail-note { position:relative; margin:24px 0 0!important; padding:20px 24px 20px 84px; border-radius:16px; background:#f2edfd; color:#55466f; }
.solution-category--resort-detail .solution-category__detail-note::before { position:absolute; top:50%; left:24px; transform:translateY(-50%); color:#805be0; content:"✦"; font-size:28px; }
.solution-category--resort-detail .solution-category__detail-note::after { position:absolute; top:18px; bottom:18px; left:62px; width:1px; background:rgba(128,91,224,.45); content:""; }
.solution-text-link { align-self: flex-start; color: var(--solution-purple); font-size: 14px; font-weight: 600; }
.solution-text-link span { margin-left: 8px; }
.solution-technology { position:relative; overflow:hidden; background:radial-gradient(circle at 100% 0,rgba(139,101,232,.1),transparent 34%),#fbfaff; color:#17131f; }
.solution-technology::after { position:absolute; top:-410px; right:-240px; width:760px; height:760px; border:70px solid rgba(139,101,232,.045); border-radius:50%; content:""; pointer-events:none; }
.solution-heading--technology { display:grid; max-width:none; grid-template-columns:1.05fr .95fr; gap:90px; align-items:end; margin-bottom:54px; }
.solution-heading--technology .solution-kicker { display:flex; align-items:center; gap:18px; color:#6f6882; font-size:13px; letter-spacing:.16em; }
.solution-heading--technology .solution-kicker::before { width:32px; height:1px; background:currentColor; content:""; }
.solution-heading--technology h2 { margin:0; color:#171442; font-size:clamp(46px,4.2vw,64px); font-weight:650; line-height:1.05; letter-spacing:-.045em; }
.solution-heading--technology h2 span,.solution-heading--technology h2 em { display:block; }
.solution-heading--technology h2 em { color:#8667cf; font-style:normal; }
.solution-heading--technology>p { max-width:620px; margin:0 0 10px; color:#756e89; font-size:17px; line-height:1.65; }
.solution-tech-grid { position:relative; z-index:1; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.solution-tech-grid article { position:relative; min-height:390px; overflow:hidden; padding:32px; border:1px solid rgba(130,109,175,.2); border-radius:20px; background:rgba(255,255,255,.62); box-shadow:0 18px 44px rgba(70,52,105,.045); }
.solution-tech-grid article::after { position:absolute; right:-34%; bottom:-42%; z-index:0; width:118%; height:108%; border-radius:50%; background:rgba(139,101,232,.045); filter:blur(24px); content:""; }
.solution-tech-grid article>span { position:relative; z-index:3; display:block; color:#8b65e8; font-size:17px; font-weight:650; }
.solution-tech-grid article>span::after { display:block; width:24px; height:1px; margin-top:12px; background:currentColor; content:""; }
.solution-tech-grid h3 { position:relative; z-index:2; max-width:235px; margin:8px 0 12px; color:#171442; font-size:22px; font-weight:650; line-height:1.2; }
.solution-tech-grid p { position:relative; z-index:2; max-width:230px; margin:0; color:#756e89; font-size:14px; line-height:1.55; }
.solution-tech-grid article>a { position:absolute; z-index:3; bottom:28px; left:30px; display:grid; width:44px; height:44px; place-items:center; border:1px solid rgba(130,109,175,.42); border-radius:50%; color:#5f4a99; font-size:20px; }
.solution-tech-grid figure { position:absolute; top:52%; right:0; bottom:0; left:0; z-index:1; margin:0; -webkit-mask-image:linear-gradient(to bottom,transparent 0,rgba(0,0,0,.15) 18%,#000 52%,#000 100%); mask-image:linear-gradient(to bottom,transparent 0,rgba(0,0,0,.15) 18%,#000 52%,#000 100%); }
.solution-tech-grid img { width:100%; height:100%; object-fit:cover; object-position:center bottom; opacity:.62; filter:blur(.6px) saturate(.7) brightness(1.08); mix-blend-mode:multiply; }
.solution-delivery { position:relative; overflow:hidden; padding:88px 0 96px; background:#fff; }
.solution-delivery__grid { position:relative; z-index:1; display:grid; grid-template-columns:1fr; gap:52px; }
.solution-delivery__story { position:relative; min-width:0; }
.solution-delivery .solution-heading { position:relative; z-index:3; display:grid; max-width:none; grid-template-columns:1.2fr .8fr; grid-template-rows:auto auto auto; gap:10px 64px; margin:0; padding:0; }
.solution-delivery .solution-kicker { display:flex; grid-column:1; grid-row:1; align-items:center; color:#080808; font-size:16px; font-weight:500; letter-spacing:0; }
.solution-delivery .solution-kicker::before { display:none; }
.solution-delivery h2 { grid-column:1; grid-row:2/4; margin:10px 0 0; color:#826daf; font-size:50px; font-weight:700; line-height:1.28; letter-spacing:-.02em; text-transform:capitalize; }
.solution-delivery h2 span,.solution-delivery h2 em { display:block; }
.solution-delivery h2 span,.solution-delivery h2 em { color:inherit !important; font-style:normal; }
.solution-delivery .solution-heading>p:not(.solution-kicker) { grid-column:2; grid-row:1/3; align-self:end; max-width:560px; margin:0; color:#4f4962; font-size:15px; line-height:1.55; }
.solution-delivery__steps { position:relative; z-index:3; min-width:0; }
.solution-process { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin:0; padding:0; list-style:none; }
.solution-process li { position:relative; display:grid; min-height:158px; grid-template-columns:64px 1fr; grid-template-rows:64px auto auto; align-content:start; padding:18px 24px; overflow:hidden; border:1px solid #e6e1f0; border-radius:16px; background:rgba(255,255,255,.78); box-shadow:0 10px 28px rgba(72,55,112,.025); }
.solution-process i { display:grid; width:56px; height:56px; grid-column:1; grid-row:1; place-items:center; border-radius:50%; background:#f0ebfc; color:#7453dd; font-style:normal; }
.solution-process svg { width:31px; height:31px; fill:none; stroke:currentColor; stroke-width:2.35; stroke-linecap:round; stroke-linejoin:round; }
.solution-process li>span { grid-column:2; grid-row:1; justify-self:end; color:#8b65e8; font-size:17px; font-weight:650; line-height:1; }
.solution-process strong { grid-column:1/3; grid-row:2; margin-top:4px; color:#171442; font-size:17px; font-weight:650; line-height:1.3; }
.solution-process small { grid-column:1/3; grid-row:3; margin-top:2px; color:#837c91; font-size:14px; line-height:1.35; }
.solution-global { padding:120px 0; background:#f9f9f9; }
.solution-global__card { display:grid; min-height:720px; grid-template-columns:.95fr 1.05fr; overflow:hidden; border-radius:20px; background:#fff; box-shadow:0 28px 80px rgba(55,40,75,.08); }
.solution-global__copy { position:relative; z-index:2; display:flex; flex-direction:column; justify-content:center; padding:clamp(48px,5.2vw,82px); }
.solution-global .solution-kicker { display:flex; align-items:center; gap:18px; color:#6f6882; font-size:13px; letter-spacing:.22em; }
.solution-global .solution-kicker::before { width:38px; height:1px; background:currentColor; content:""; }
.solution-global__card h2 { margin:0 0 22px; color:#171442; font-size:clamp(42px,3.5vw,58px); font-weight:650; line-height:1.08; letter-spacing:-.045em; }
.solution-global__card h2 span,.solution-global__card h2 em { display:block; }
.solution-global__card h2 em { color:#8667cf; font-style:normal; }
.solution-global__copy>p { margin:0 0 16px; color:#756e89; font-size:16px; line-height:1.6; }
.solution-global__copy ul { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin:20px 0 30px; padding:0; list-style:none; }
.solution-global__copy li { color:#171442; font-size:14px; line-height:1.35; text-align:center; }
.solution-global__copy i { display:grid; width:58px; height:58px; margin:0 auto 12px; place-items:center; border-radius:50%; background:rgba(139,101,232,.1); color:#8262ca; font-family:Georgia,serif; font-size:32px; font-style:normal; }
.solution-global__copy strong { font-weight:600; }
.solution-global .solution-button { position:relative; align-self:flex-start; min-width:173px; height:40px; min-height:40px; padding:0 28px; overflow:visible; border:0; background:#8b73b6; color:#fff; box-shadow:none; font-size:16px; font-weight:500; line-height:1; white-space:nowrap; transition:transform .22s ease,box-shadow .22s ease; }
.solution-global .solution-button::after { position:absolute; top:-5px; right:-5px; box-sizing:border-box; width:19px; height:19px; border:4px solid #fff; border-radius:50%; background:#8b73b6; content:""; }
.solution-global .solution-button:hover,.solution-global .solution-button:focus-visible { background:#8b73b6; color:#fff; box-shadow:0 0 0 4px rgba(139,115,182,.2); transform:translateY(-4px); }
.solution-global .solution-button:active { transform:translateY(-1px); }
.solution-global .solution-button:focus-visible { outline:2px solid #7c61a5; outline-offset:4px; }
.solution-global__copy dl { display:flex; gap:0; margin:48px 0 0; }
.solution-global__copy dl div { min-width:150px; padding:0 34px; border-left:1px solid rgba(130,109,175,.24); }
.solution-global__copy dl div:first-child { padding-left:0; border-left:0; }
.solution-global__copy dt { color:#8667cf; font-size:28px; font-weight:650; }
.solution-global__copy dd { margin:4px 0 0; color:#8a8395; font-size:12px; }
.solution-global__visual { position:relative; min-height:720px; margin:0; overflow:hidden; border-radius:20px; }
.solution-global__visual img { width:100%; height:100%; transform:scaleX(-1); object-fit:cover; object-position:42% center; }
.solution-global__visual figcaption { position:absolute; top:22%; left:48%; color:#756e89; font-size:13px; line-height:1.8; letter-spacing:.22em; text-transform:uppercase; }
.solution-contact { padding:120px 0; background:#fff; }
.solution-contact__card { display:grid; min-height:680px; grid-template-columns:1.05fr .95fr; gap:0; align-items:stretch; overflow:hidden; padding:0; border:1px solid rgba(130,109,175,.12); border-radius:20px; background:#fff; color:#17131f; box-shadow:0 28px 80px rgba(55,40,75,.08); }
.solution-contact__copy { position:relative; z-index:2; display:flex; flex-direction:column; justify-content:center; padding:clamp(52px,6vw,88px); }
.solution-contact .solution-kicker { display:flex; align-items:center; gap:18px; color:#6f6882; font-size:13px; letter-spacing:.18em; }
.solution-contact .solution-kicker::before { width:38px; height:1px; background:currentColor; content:""; }
.solution-contact__card h2 { margin:0 0 24px; color:#171442; font-size:clamp(46px,4vw,62px); font-weight:650; line-height:1.05; letter-spacing:-.045em; }
.solution-contact__card h2 span,.solution-contact__card h2 em { display:block; }
.solution-contact__card h2 em { color:#8667cf; font-style:normal; }
.solution-contact__card .solution-contact__copy>p { max-width:620px; margin-bottom:30px; color:#756e89; font-size:17px; line-height:1.65; }
.solution-contact__copy ul { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin:0 0 34px; padding:0; list-style:none; }
.solution-contact__copy li { color:#171442; font-size:14px; line-height:1.35; text-align:center; }
.solution-contact__copy i { display:grid; width:58px; height:58px; margin:0 auto 12px; place-items:center; border-radius:50%; background:rgba(139,101,232,.1); color:#8262ca; font-style:normal; }
.solution-contact__copy svg { width:32px; height:32px; fill:none; stroke:currentColor; stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round; }
.solution-contact__copy strong { font-weight:600; }
.solution-contact .solution-button { position:relative; align-self:flex-start; min-width:173px; height:40px; min-height:40px; padding:0 28px; overflow:visible; border:0; background:#8b73b6; color:#fff; box-shadow:none; font-size:16px; font-weight:500; line-height:1; white-space:nowrap; }
.solution-contact .solution-button::after { position:absolute; top:-5px; right:-5px; box-sizing:border-box; width:19px; height:19px; border:4px solid #fff; border-radius:50%; background:#8b73b6; content:""; }
.solution-contact__footer { display:block; }
.solution-contact__footer>p { margin:0!important; color:#8b8497!important; font-size:12px!important; line-height:1.45!important; text-align:left; }
.solution-contact__footer>p strong,.solution-contact__footer>p span { display:block; }
.solution-contact__footer>p strong { margin-bottom:6px; color:#171442; font-size:16px; }
.solution-contact__visual { position:relative; min-height:680px; margin:0; overflow:hidden; border-radius:20px; }
.solution-contact__visual::before { position:absolute; inset:0; z-index:1; background:linear-gradient(90deg,rgba(255,255,255,.08),transparent 28%); content:""; }
.solution-contact__visual img { width:100%; height:100%; object-fit:cover; object-position:61% center; }
.solution-introduction__copy .deyee-dual-heading__eyebrow,
.solution-approach .solution-kicker,
.solution-categories .solution-kicker,
.solution-technology .solution-kicker,
.solution-delivery .solution-kicker,
.solution-global .solution-kicker,
.solution-contact .solution-kicker { display:block; color:#121212!important; font-size:16px; font-weight:700; letter-spacing:0!important; }
.solution-approach .solution-kicker::before,.solution-approach .solution-kicker::after,
.solution-technology .solution-kicker::before,.solution-delivery .solution-kicker::before,
.solution-global .solution-kicker::before,.solution-contact .solution-kicker::before { display:none; }
.solution-heading--approach h2,.solution-heading--technology h2,.solution-delivery h2,.solution-global__card h2,.solution-contact__card h2 { color:var(--solution-purple); }
.solution-introduction__copy .deyee-dual-heading__title,
.solution-heading--approach h2,.solution-categories .solution-heading h2,
.solution-heading--technology h2,.solution-delivery h2,
.solution-global__card h2,.solution-contact__card h2 { font-size:50px; font-weight:700; line-height:1.28; letter-spacing:-.02em; text-transform:capitalize; }
.solution-heading--technology h2 span,.solution-heading--technology h2 em,
.solution-delivery h2 span,.solution-delivery h2 em,
.solution-global__card h2 span,.solution-global__card h2 em,
.solution-contact__card h2 span,.solution-contact__card h2 em { color:inherit; }
.solution-introduction__copy .deyee-dual-heading__text p,
.solution-page .solution-heading--approach>p,.solution-categories .solution-heading>p:last-child,.solution-page .solution-heading--technology>p,
.solution-delivery .solution-heading>p:not(.solution-kicker),.solution-global__copy>p:not(.solution-kicker),
.solution-contact__card .solution-contact__copy>p:not(.solution-kicker) { color:#2f2935; font-size:17px!important; line-height:1.65; }
.solution-technology .solution-kicker { display:block; color:#121212!important; font-size:16px; font-weight:700; letter-spacing:0!important; }
.solution-technology .solution-kicker::before { display:none; }
.solution-heading--technology h2 { color:#826daf; font-size:50px; font-weight:700; line-height:1.28; letter-spacing:-.02em; text-transform:capitalize; }
.solution-heading--technology h2 span,.solution-heading--technology h2 em { color:inherit; }
.solution-statement { position:relative; min-height:650px; overflow:hidden; padding:76px 0 90px; background:radial-gradient(circle at 50% 45%,rgba(139,101,232,.07),transparent 46%),#fff; text-align:center; }
.solution-statement::before { position:absolute; top:120px; left:50%; transform:translateX(-50%); color:rgba(139,101,232,.055); font-family:Georgia,'Times New Roman',serif; font-size:clamp(260px,34vw,620px); font-weight:400; line-height:.72; letter-spacing:-.02em; content:"DEYEE"; white-space:nowrap; pointer-events:none; }
.solution-statement>.deyee-container { position:relative; z-index:1; }
.solution-statement .solution-kicker { display:flex; align-items:center; justify-content:center; gap:18px; margin-bottom:62px; color:#7359b0; font-size:14px; font-weight:600; letter-spacing:.28em; }
.solution-statement blockquote { max-width:1100px; margin:0 auto 58px; color:#7659b5; font-family:Georgia,'Times New Roman',serif; font-style:italic; letter-spacing:-.035em; }
.solution-statement blockquote strong,.solution-statement blockquote span { display:block; font-weight:400; }
.solution-statement blockquote strong { margin-bottom:22px; font-size:clamp(44px,4.3vw,60px); line-height:1.08; }
.solution-page .solution-statement blockquote>span { font-size:25px!important; line-height:1.18; }
.solution-statement>.deyee-container>p:last-child { display:flex; align-items:center; justify-content:center; gap:34px; color:#866fc0; font-size:13px; letter-spacing:.2em; text-transform:uppercase; }
.solution-statement>.deyee-container>p:last-child::before,.solution-statement>.deyee-container>p:last-child::after { width:52px; height:1px; background:#9a83ce; content:""; }
@media (max-width:1366px) and (min-width:1025px) {
  .solution-approach,.solution-categories,.solution-technology { padding:96px 0; }
  .solution-category__copy { min-height:0; padding:38px 42px; }
  .solution-category__meta { margin-bottom:20px; }
  .solution-category h2 { margin-bottom:16px; font-size:42px; }
  .solution-category--resort-detail h2 { font-size:38px; }
  .solution-category__copy>p:not(.solution-category__ideal) { font-size:15px; line-height:1.55; }
  .solution-category__ideal { margin-top:18px; padding-top:18px; }
  .solution-category__benefits { margin:12px 0 20px; padding-bottom:18px; }
  .solution-category__benefits li { padding-top:42px; font-size:12px; }
  .solution-global,.solution-contact { padding:64px 0; }
  .solution-global__card,.solution-global__visual,.solution-contact__card,.solution-contact__visual { min-height:680px; }
  .solution-global__copy,.solution-contact__copy { padding:42px 48px; }
  .solution-global__card h2,.solution-contact__card h2 { font-size:50px; }
  .solution-global__copy>p,.solution-contact__card .solution-contact__copy>p { margin-bottom:14px; font-size:15px; line-height:1.5; }
  .solution-global__copy ul,.solution-contact__copy ul { margin:14px 0 24px; }
  .solution-global__copy i,.solution-contact__copy i { width:50px; height:50px; }
  .solution-global__copy dl { margin-top:28px; }
  .solution-global__copy dl div { min-width:128px; padding:0 20px; }
  .solution-contact__footer>p { display:block; }
}
@media (max-width: 1024px) {
  .solution-introduction__grid, .solution-heading--split, .solution-delivery__grid, .solution-global__card, .solution-contact__card { grid-template-columns: 1fr; gap: 45px; }
  .solution-introduction__copy { max-width:680px; padding:0; }
  .solution-introduction__visual { height:520px; }
  .solution-question-grid { grid-template-columns: repeat(2, 1fr); }
  .solution-approach { min-height:auto; }
  .solution-question-grid { gap:22px; margin-bottom:0; padding-top:0; }
  .solution-question-grid::before { display:none; }
  .solution-question-grid article,.solution-question-grid article:nth-child(n) { transform:none; }
  .solution-question-grid__number { position:static; display:block; transform:none; margin-bottom:16px; }
  .solution-question-grid__number::after { display:none; }
  .solution-category, .solution-category--resort-detail:nth-child(even) { min-height:0; height:auto; grid-template-columns:minmax(0,1fr); }
  .solution-category__copy { min-width:0; }
  .solution-category:nth-child(even) .solution-category__media { order: 0; }
  .solution-category__media,.solution-category:nth-child(even) .solution-category__media { min-height:460px; height:460px; border-radius:0; }
  .solution-category--resort-detail .solution-category__media { min-height:460px; height:460px; border-radius:20px; }
  .solution-contact__card { min-height:0; }
  .solution-contact__visual { min-height:480px; border-radius:20px; }
  .solution-contact__footer { align-items:flex-start; flex-direction:column; }
  .solution-contact__footer>p { text-align:left; }
  .solution-global__card { min-height:0; gap:0; }
  .solution-global__visual { min-height:520px; border-radius:20px; }
  .solution-tech-grid { grid-template-columns: repeat(2, 1fr); }
  .solution-heading--technology { grid-template-columns:1fr; gap:28px; }
  .solution-delivery .solution-heading { position:static; grid-template-columns:1fr; }
  .solution-delivery .solution-kicker,.solution-delivery h2,.solution-delivery .solution-heading>p:not(.solution-kicker) { grid-column:1; grid-row:auto; }
  .solution-delivery__grid { min-height:0; }
  .solution-delivery__story { min-height:0; }
  .solution-process { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 767px) {
  .solution-section { padding: 72px 0; }
  .solution-delivery { padding:72px 0; }
  .solution-heading { margin-bottom: 38px; }
  .solution-page .solution-kicker { margin-bottom: 16px; font-size: 13px; }
  .solution-heading h2, .solution-category h2, .solution-global h2, .solution-contact h2 { font-size: 34px; line-height: 1.22; }
  .solution-introduction__copy { padding-top:0; }
  .solution-introduction__copy .deyee-dual-heading__eyebrow { margin-bottom:24px; font-size:12px; }
  .solution-introduction__copy .deyee-dual-heading__title { font-size:34px; }
  .solution-introduction__benefits { grid-template-columns:1fr; gap:16px; margin:28px 0; }
  .solution-introduction__benefits li { min-height:0; padding:0; border:0; }
  .solution-introduction__benefits span { display:inline-grid; margin:0 12px 0 0; vertical-align:middle; }
  .solution-introduction__visual { height:420px; border-radius:22px; }
  .solution-introduction__visual img { min-height:0; object-position:66% center; }
  .solution-question-grid, .solution-tech-grid { grid-template-columns: 1fr; }
  .solution-heading--approach { margin-bottom:42px; }
  .solution-heading--approach h2 { font-size:34px; }
  .solution-question-grid article { min-height:0; padding:30px 24px; }
  .solution-question-grid i { width:74px; height:74px; }
  .solution-question-grid svg { width:40px; height:40px; }
  .solution-question-grid h3 { margin-top:0; }
  .solution-category { border-radius: 22px; }
  .solution-category__media,.solution-category:nth-child(even) .solution-category__media { min-height:320px; height:320px; }
  .solution-category--resort-detail .solution-category__media { min-height:320px; height:320px; }
  .solution-category__copy { padding: 34px 24px 40px; }
  .solution-category--resort-detail .solution-category__copy { padding:34px 24px 40px; }
  .solution-category__applications ul { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 10px; }
  .solution-category__meta { margin-bottom:24px; }
  .solution-category h2 { font-size:38px; }
  .solution-category__benefits { grid-template-columns:1fr; gap:14px; }
  .solution-category__benefits li { min-height:38px; padding:10px 0 0 52px; text-align:left; }
  .solution-category__benefits li::before { top:0; left:0; transform:none; }
  .solution-tech-grid article { min-height:420px; }
  .solution-tech-grid figure { width:78%; }
  .solution-contact__card { padding:0; }
  .solution-contact__copy { padding:48px 24px; }
  .solution-contact__copy ul { grid-template-columns:1fr; }
  .solution-contact__copy li { display:flex; align-items:center; gap:14px; text-align:left; }
  .solution-contact__copy i { flex:0 0 auto; margin:0; }
  .solution-contact__visual { min-height:360px; }
  .solution-global__copy { padding:48px 24px; }
  .solution-global__copy ul { grid-template-columns:1fr; }
  .solution-global__copy li { display:flex; align-items:center; gap:14px; text-align:left; }
  .solution-global__copy i { flex:0 0 auto; margin:0; }
  .solution-global__copy dl { flex-wrap:wrap; gap:24px; margin-top:36px; }
  .solution-global__copy dl div { min-width:0; padding:0 18px; }
  .solution-global__visual { min-height:360px; }
  .solution-delivery__story { min-height:0; }
  .solution-delivery .solution-heading { padding-top:0; }
  .solution-process { grid-template-columns:1fr; }
  .solution-statement blockquote { font-size: 34px; line-height: 1.22; }
  .solution-statement { min-height:560px; padding:64px 0 76px; }
  .solution-statement::before { top:190px; }
  .solution-statement .solution-kicker { margin-bottom:54px; font-size:12px; }
  .solution-statement blockquote br { display:none; }
  .solution-statement blockquote strong { font-size:38px; }
  .solution-page .solution-statement blockquote>span { font-size:25px !important; }
  .solution-statement>.deyee-container>p:last-child { gap:14px; font-size:10px; line-height:1.6; }
  .solution-statement>.deyee-container>p:last-child::before,.solution-statement>.deyee-container>p:last-child::after { width:20px; flex:0 0 20px; }
}
