:root{--ink:#061634;--blue:#075df5;--cyan:#06d8f0;--ice:#f3f8ff;--muted:#66718a;--line:#dce5f1}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Manrope,Arial,sans-serif;color:var(--ink);background:#fff;overflow-x:hidden}
.wrap{width:min(1180px,calc(100% - 64px));margin:auto}
.grid-bg{position:absolute;top:0;z-index:-1;width:100%;height:760px;background-image:linear-gradient(#e9f0f9 1px,transparent 1px),linear-gradient(90deg,#e9f0f9 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(#000 0%,transparent 88%)}
.nav{height:92px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:20;width:100%;padding:0 max(32px,calc((100vw - 1180px)/2));background:#fffffff2;backdrop-filter:blur(14px);box-shadow:0 1px 0 #dce5f1}
.brand img{display:block;width:180px;height:auto}
.nav nav{display:flex;align-items:center;gap:28px}
.nav a{font-size:13px;font-weight:700;color:var(--ink);text-decoration:none}
.nav-cta{padding:12px 17px;border:1px solid var(--ink);border-radius:2px;margin-left:8px}
.nav-cta i{font-style:normal;margin-left:12px}
.menu-button{display:none}
.hero{min-height:620px;position:relative;padding-top:95px}
.hero-copy{max-width:640px}
.eyebrow{font:500 11px/1 'DM Mono',monospace;letter-spacing:1.4px;color:#365172;text-transform:uppercase;display:flex;align-items:center;gap:9px}
.eyebrow span{height:8px;width:8px;border-radius:50%;background:var(--cyan);box-shadow:0 0 0 4px #dcfbff}
h1,h2,h3,p{margin-top:0}
h1{font-size:clamp(52px,6vw,84px);letter-spacing:-.075em;line-height:.99;margin:21px 0 25px;font-weight:800}
em{font-style:normal;background:linear-gradient(100deg,#0765f9,#00cbe9);background-clip:text;color:transparent}
.lead{font-size:16px;line-height:1.75;color:var(--muted);max-width:510px}
.hero-actions{display:flex;align-items:center;gap:27px;margin-top:35px}
.button{font:700 13px Manrope,sans-serif;display:inline-flex;align-items:center;gap:32px;text-decoration:none;border:0;border-radius:2px;padding:16px 18px;cursor:pointer}
.button b{font-size:18px}
.primary{background:var(--blue);color:white;box-shadow:0 13px 28px #075df52a}
.text-link{font-size:13px;font-weight:800;text-decoration:none;color:var(--ink);border-bottom:1px solid var(--ink);padding:6px 0}
.text-link b{margin-left:9px}
.hero-art{position:absolute;width:480px;height:480px;right:-34px;top:76px}
.orbit{position:absolute;border:1px solid #bcd4fb;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-30deg)}
.orbit-a{width:440px;height:160px}
.orbit-b{width:380px;height:260px}
.orbit-c{width:300px;height:400px}
.core{position:absolute;left:50%;top:50%;width:150px;height:150px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle at 35% 30%,#1ce1f6,#0756e7 55%,#061d63);box-shadow:0 0 45px #08cce886;display:grid;place-content:center;color:#fff}
.core:before{content:"";position:absolute;inset:8px;border:1px solid #b2ffff;border-radius:50%}
.core span{font:800 39px Manrope;letter-spacing:-5px}
.core small{font:11px 'DM Mono';text-align:center}
.node{position:absolute;padding:10px 14px;background:#fff;border:1px solid #d9e6f6;box-shadow:0 10px 25px #08215316;display:flex;flex-direction:column}
.node b{font-size:16px}
.node span{font:9px 'DM Mono';margin-top:2px;color:#61708c}
.node-one{right:10px;top:53px}
.node-two{bottom:52px;left:13px}
.node-three{right:30px;bottom:75px}
.art-line{position:absolute;height:1px;background:#a8c5f6;transform-origin:left}
.line-a{top:136px;left:115px;width:180px;transform:rotate(-19deg)}
.line-b{left:175px;bottom:120px;width:168px;transform:rotate(20deg)}
.hero-footer{position:absolute;bottom:35px;left:0;right:0;border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;align-items:center}
.hero-footer p,footer p{font:500 10px 'DM Mono';letter-spacing:1px;margin:0;color:#526681}
.hero-footer p b{color:var(--cyan);margin:0 9px}
.hero-footer a{font:600 10px 'DM Mono';color:var(--ink);text-decoration:none}
.hero-footer a span{margin-left:7px}
.section{padding:120px 0}
.solutions{border-top:1px solid var(--line)}
.section-heading{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:26px;align-items:start}
.section-heading .eyebrow{margin-top:16px}
.section-heading h2,.method h2,.contact h2{font-size:clamp(38px,4.3vw,60px);line-height:1.03;letter-spacing:-.065em;margin:0;font-weight:800}
.section-heading>p:last-child{font-size:14px;line-height:1.7;color:var(--muted);margin-top:15px}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:72px}
.service-card{min-height:355px;border:1px solid var(--line);padding:21px;display:flex;flex-direction:column;justify-content:space-between;transition:.25s;background:#fff}
.service-card:hover{border-color:var(--blue);transform:translateY(-6px);box-shadow:0 20px 30px #102e6914}
.service-card.accent{background:var(--ink);color:white;border-color:var(--ink)}
.card-top{display:flex;justify-content:space-between;font:11px 'DM Mono';color:#7083a3}
.accent .card-top{color:#a9c3ec}
.card-top i{font-style:normal}
.icon{font:400 30px 'DM Mono';color:var(--cyan);margin-bottom:35px}
.service-card h3{font-size:20px;line-height:1.16;letter-spacing:-.045em;margin-bottom:13px}
.service-card p{font-size:12px;line-height:1.65;color:var(--muted)}
.accent p{color:#c1d2ed}
.service-card a{font:700 11px Manrope;text-decoration:none;color:inherit}
.service-card a b{color:var(--cyan);margin-left:7px}
.method{background:var(--ink);color:white}
.method-inner{display:grid;grid-template-columns:1fr 1fr;gap:100px}
.method .eyebrow{color:#aec3e0}
.method .eyebrow span{box-shadow:none}
.method-copy>p:not(.eyebrow){color:#bfcae0;max-width:390px;line-height:1.75;font-size:14px;margin:27px 0}
.light{background:white;color:var(--ink);margin-top:6px}
.steps{list-style:none;margin:0;padding:0;border-top:1px solid #2c4164}
.steps li{display:flex;gap:25px;padding:24px 0;border-bottom:1px solid #2c4164}
.steps span{font:11px 'DM Mono';color:var(--cyan);padding-top:5px}
.steps h3{font-size:19px;letter-spacing:-.04em;margin-bottom:5px}
.steps p{color:#aabbd6;font-size:13px;line-height:1.55;margin:0}
.sectors{padding-bottom:100px}
.sector-list{margin-top:64px;border-top:1px solid var(--line)}
.sector-list a{display:grid;grid-template-columns:90px 1fr auto;align-items:center;padding:23px 5px;border-bottom:1px solid var(--line);font-size:clamp(21px,2.5vw,34px);font-weight:700;letter-spacing:-.05em;text-decoration:none;color:var(--ink);transition:.2s}
.sector-list a:hover{padding-left:14px;color:var(--blue)}
.sector-list span{font:11px 'DM Mono';color:#7688a3;letter-spacing:0}
.sector-list b{font-size:21px;font-weight:400;color:var(--cyan)}
.statement{border-top:1px solid var(--line);padding:80px 12% 85px;text-align:center}
.statement-mark{font:80px Georgia,serif;line-height:.5;color:var(--cyan)}
blockquote{font-size:clamp(25px,3.4vw,43px);line-height:1.18;letter-spacing:-.055em;font-weight:600;margin:25px 0 28px}
.statement p{font:10px 'DM Mono';letter-spacing:1.3px;color:#67809f}
.contact{background:var(--ice)}
.contact-inner{display:grid;grid-template-columns:1fr 1fr;gap:130px}
.contact h2{margin:16px 0 23px}
.contact-inner>div>p:not(.eyebrow){font-size:14px;line-height:1.7;color:var(--muted);max-width:430px}
.contact-details{margin-top:35px;display:flex;flex-direction:column;gap:8px}
.contact-details a{font-size:15px;font-weight:800;text-decoration:none;color:var(--ink)}
form{background:white;padding:32px;border:1px solid var(--line)}
label{font:600 11px 'DM Mono';letter-spacing:.5px;display:block;margin-bottom:19px;color:#526681}
input,textarea{font:500 14px Manrope;border:0;border-bottom:1px solid var(--line);padding:12px 0 10px;width:100%;outline:0;resize:vertical;color:var(--ink)}
input:focus,textarea:focus{border-color:var(--blue)}
form .button{margin-top:5px}
.form-note{font-size:10px;color:#8190a7;margin:15px 0 0}
footer{min-height:135px;display:flex;align-items:center;justify-content:space-between;gap:25px}
footer img{width:155px;height:auto}
footer div{margin-right:auto}
footer small{font-size:10px;color:#8190a7;display:block;margin-top:7px}
footer>a{font:10px 'DM Mono';color:var(--ink);text-decoration:none}
@media(max-width:850px){.nav nav{display:none}
.nav nav.open{display:flex;position:absolute;top:76px;left:20px;right:20px;padding:24px;background:white;border:1px solid var(--line);z-index:5;flex-direction:column;align-items:stretch}
.nav-cta{margin:5px 0 0}
.menu-button{display:block;border:0;background:transparent;width:28px}
.menu-button span{display:block;height:2px;background:var(--ink);margin:6px}
.hero{padding-top:70px;min-height:720px}
.hero-art{opacity:.55;right:-130px;top:250px;transform:scale(.72)}
.hero-footer{bottom:20px}
.hero-footer p{max-width:230px;line-height:1.8}
.section{padding:80px 0}
.section-heading{grid-template-columns:1fr;gap:8px}
.section-heading .eyebrow{margin-top:0}
.section-heading>p:last-child{max-width:500px}
.service-grid{grid-template-columns:repeat(2,1fr);margin-top:42px}
.method-inner,.contact-inner{grid-template-columns:1fr;gap:55px}
.sector-list{margin-top:40px}
.contact-inner{gap:42px}
}
@media(max-width:520px){.wrap{width:min(100% - 40px,1180px)}
.nav{height:76px;padding:0 20px}
.brand img{width:146px}
.hero{padding-top:55px;min-height:660px}
.hero-art{right:-170px;top:225px}
.hero-actions{gap:17px}
.button{padding:14px 15px;gap:18px}
.service-grid{grid-template-columns:1fr}
.service-card{min-height:280px}
.statement{padding-left:0;padding-right:0}
footer{padding:30px 0;align-items:flex-start;flex-wrap:wrap}
footer div{order:3;flex-basis:100%}
footer>a{margin-left:auto}
}
.hotel-ai{padding:110px 0;display:grid;grid-template-columns:.8fr 1.45fr;gap:95px}.hotel-ai-heading h2{font-size:clamp(38px,4.2vw,58px);line-height:1.03;letter-spacing:-.065em;margin:17px 0 0}.hotel-ai-copy>p:first-child{font-size:15px;line-height:1.75;color:var(--muted);max-width:650px}.hotel-ai-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:35px}.hotel-ai-grid article{border-top:2px solid var(--blue);padding:18px 0}.hotel-ai-grid span{font:11px 'DM Mono';color:var(--cyan)}.hotel-ai-grid h3{font-size:17px;line-height:1.15;letter-spacing:-.04em;margin:22px 0 9px}.hotel-ai-grid p{font-size:12px;line-height:1.65;color:var(--muted);margin:0}.hotel-ai-note{margin:26px 0 0!important;font:600 11px 'DM Mono';letter-spacing:.4px;color:var(--ink)!important}@media(max-width:850px){.hotel-ai{grid-template-columns:1fr;gap:30px;padding:80px 0}}@media(max-width:560px){.hotel-ai{padding:65px 0}.hotel-ai-grid{grid-template-columns:1fr;gap:6px}.hotel-ai-grid article{display:grid;grid-template-columns:50px 1fr;column-gap:8px}.hotel-ai-grid h3{margin:0;align-self:center}.hotel-ai-grid p{grid-column:2;margin-top:5px}}
.ai-examples{margin-top:72px;padding-top:24px;border-top:1px solid var(--line)}.ai-examples>div{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:24px 0}.ai-examples article{background:white;padding:23px;border:1px solid #e4ebf4}.ai-examples b{font-size:16px;letter-spacing:-.035em}.ai-examples p{font-size:12px;line-height:1.65;color:var(--muted);margin:10px 0 0}.ai-examples small{display:block;color:#63728c;font-size:11px;line-height:1.6}.ai-examples .eyebrow{margin:0}@media(max-width:700px){.ai-examples{margin-top:45px}.ai-examples>div{grid-template-columns:1fr;gap:10px}}
.ai-section{background:#f3f8ff;padding:112px 0}.ai-inner{display:grid;grid-template-columns:1fr 1.15fr;gap:110px;align-items:center}.ai-copy h2{font-size:clamp(38px,4.3vw,60px);line-height:1.03;letter-spacing:-.065em;margin:17px 0 22px;font-weight:800}.ai-copy>p:not(.eyebrow){max-width:465px;color:var(--muted);font-size:14px;line-height:1.75;margin-bottom:30px}.ai-points{border-top:1px solid var(--line)}.ai-points article{display:grid;grid-template-columns:60px 1fr;column-gap:18px;padding:23px 0;border-bottom:1px solid var(--line)}.ai-points span{font:11px 'DM Mono';color:var(--blue);padding-top:5px}.ai-points h3{font-size:20px;letter-spacing:-.04em;margin:0 0 6px}.ai-points p{grid-column:2;color:var(--muted);font-size:13px;line-height:1.6;margin:0}.ai-slide:after{content:"AI";position:absolute;right:10%;top:50%;transform:translateY(-50%);font:800 clamp(160px,28vw,400px)/.7 Manrope;color:#fff1;letter-spacing:-.12em;pointer-events:none}@media(max-width:850px){.ai-section{padding:80px 0}.ai-inner{grid-template-columns:1fr;gap:44px}}@media(max-width:520px){.ai-section{padding:65px 0}.ai-points article{grid-template-columns:45px 1fr}}
.hero-slider{height:calc(100vh - 92px);min-height:610px;max-height:820px;position:relative;background:var(--ink);color:white;overflow:hidden}.slides,.slide{height:100%}.slide{position:absolute;inset:0;display:grid;align-items:center;opacity:0;visibility:hidden;transition:opacity .8s ease,visibility .8s}.slide.active{opacity:1;visibility:visible}.slide:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#03142eef 0%,#051a39d9 37%,#0616345c 66%,#061634c7 100%),linear-gradient(0deg,#061634a8,transparent 50%),var(--image) center/cover}.slide-content{position:relative;padding-bottom:45px}.slide-content h1{max-width:700px}.slide-content>p:not(.eyebrow){font-size:16px;line-height:1.75;color:#d4e1f4;max-width:510px;margin-bottom:33px}.slide .eyebrow{color:#c7dcf8}.slide .eyebrow span{box-shadow:0 0 0 4px #0de1ef30}.slider-controls{position:absolute;z-index:2;left:0;right:0;bottom:34px;display:flex;align-items:center;gap:20px}.slide-count{font:11px 'DM Mono';display:flex;gap:7px;align-items:center}.slide-count b{color:var(--cyan)}.slide-count span{color:#b6c9e4}.progress{width:130px;height:1px;background:#a7bddb80;position:relative}.progress i{display:block;width:33.333%;height:2px;background:var(--cyan);transition:transform .5s}.slider-buttons{margin-left:auto;display:flex;gap:8px}.slider-buttons button{background:transparent;border:1px solid #b9cce9;color:white;width:37px;height:37px;font-size:18px;cursor:pointer;transition:.2s}.slider-buttons button:hover{background:white;color:var(--ink)}@media(max-width:850px){.hero-slider{height:650px;min-height:0}.slide-content{padding-bottom:30px}.slider-controls{bottom:22px}}@media(max-width:520px){.hero-slider{height:590px}.slide-content h1{font-size:48px}.slider-controls{gap:12px}.progress{width:72px}}
