@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#0c1118;--panel:#121a23;--line:#29323b;--muted:#a7b0ba;--blue:#82a7ff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--bg);color:#f5f7f6;font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid var(--blue);outline-offset:6px}.skip{position:absolute;top:-100px}.skip:focus{top:10px;background:var(--bg);padding:12px;z-index:10}header,footer{max-width:1440px;margin:auto;padding:30px 6%;display:flex;align-items:center;justify-content:space-between}header{border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;font-family:'Space Grotesk',sans-serif;font-size:26px;line-height:1.05;font-weight:700;letter-spacing:1px}.brand-sub{display:block;font-size:10px;letter-spacing:2px;margin-top:6px}.mark{font-size:42px;color:var(--blue);font-style:italic;line-height:1}nav{display:flex;gap:34px;font-size:14px;color:#bdc4cb}nav a:hover,.text-link:hover{color:var(--blue)}.nav-cta{font-size:14px;border:1px solid #354d85;padding:10px 19px;border-radius:5px}.nav-cta span{margin-left:25px;color:var(--blue)}main{max-width:1440px;margin:auto}.hero{display:grid;grid-template-columns:1.13fr 1fr;gap:20px;padding:90px 6% 70px;align-items:center}.eyebrow{font-size:12px;font-weight:600;letter-spacing:2px;color:var(--blue);margin:0 0 24px}h1,h2,h3{font-family:'Space Grotesk',sans-serif;line-height:1.05;font-weight:500;margin:0}h1{font-size:clamp(48px,5.3vw,78px);letter-spacing:-4px}em{color:var(--blue);font-style:normal}.intro{max-width:490px;color:var(--muted);font-size:18px;line-height:1.7;margin:28px 0 32px}.actions{display:flex;align-items:center;gap:25px}.button{background:var(--blue);color:#ffffff;font-weight:600;font-size:14px;padding:17px 22px;border-radius:4px;display:inline-flex;gap:26px;align-items:center;transition:transform .2s,background .2s}.button:hover{background:#1743df;transform:translateY(-2px)}.text-link{font-size:14px}.text-link span{margin-left:10px}.hero-foot{display:flex;gap:20px;margin-top:57px;font-size:12px;color:var(--muted)}.hero-foot span+span{border-left:1px solid var(--line);padding-left:20px}.system-art{height:470px;position:relative;overflow:hidden;background:radial-gradient(ellipse at center,#244ca866,transparent 65%)}.grid{position:absolute;inset:0;background-image:linear-gradient(#91b2ff0b 1px,transparent 1px),linear-gradient(90deg,#91b2ff0b 1px,transparent 1px);background-size:32px 32px;mask-image:radial-gradient(ellipse,black,transparent 72%)}.orbit{position:absolute;left:50%;top:50%;border:1px solid #729cff40;border-radius:50%;transform:translate(-50%,-50%) rotate(-28deg)}.one{width:350px;height:350px}.two{width:440px;height:220px;border-color:#729cff70}.three{width:220px;height:430px;border-color:#9bb9ff25}.core{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);height:150px;width:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:30px;background:linear-gradient(140deg,#294985,#101d38 70%);border:1px solid #729cff70;box-shadow:0 0 80px #417bff12,inset 0 0 22px #8ab5ff10}.core-mark{font-size:86px;line-height:.95;font-style:italic;font-weight:700;color:var(--blue)}.core small{font-size:12px;letter-spacing:6px;margin:10px 0 0 6px}.node{position:absolute;background:#14213b;border:1px solid #36558f;padding:11px 15px;font-family:'Space Grotesk',sans-serif;font-size:11px;letter-spacing:1px;box-shadow:0 10px 30px #0005;border-radius:4px}.node b{color:var(--blue);margin-left:12px}.strategy{top:62px;left:38px}.ai{top:182px;right:0}.auto{bottom:62px;left:58px}.art-caption{position:absolute;bottom:0;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:10px;letter-spacing:2px;color:#91a0bc}.coordinate{position:absolute;right:0;top:5px;font-size:11px;color:#879abf}.axis{position:absolute;background:#729cff1c}.horizontal{height:1px;top:50%;width:100%}.vertical{width:1px;left:50%;height:100%}.section{padding:80px 6%;border-top:1px solid var(--line)}.section-head{display:grid;grid-template-columns:1fr 1.5fr;column-gap:70px;align-items:end}.section-head .eyebrow{grid-column:1/-1}h2{font-size:clamp(35px,3.4vw,48px);letter-spacing:-1.8px}.section-head>p:last-child{color:var(--muted);max-width:480px;margin:0;justify-self:end}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:48px;border:1px solid var(--line);border-radius:6px;overflow:hidden}.service-grid article{padding:30px;background:linear-gradient(145deg,#19222c,#111820)}.service-grid article+article{border-left:1px solid var(--line)}.service-top{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:12px;margin-bottom:46px}.icon{color:var(--blue);font-size:33px;line-height:1}.service-grid h3{font-size:25px}.service-grid p{color:var(--muted);font-size:16px;margin:20px 0 32px}.tags{font-size:10px;letter-spacing:1px;color:#a9bdea;border-top:1px solid var(--line);padding-top:20px}.approach{display:grid;grid-template-columns:1fr 1fr;gap:70px}.section-intro{max-width:420px;color:var(--muted);margin-top:26px}.steps article{display:flex;gap:25px;padding:25px 0;border-bottom:1px solid var(--line)}.steps article:first-child{padding-top:0}.steps article>span{font-size:12px;color:var(--blue);padding-top:5px}.steps h3{font-size:23px}.steps p{color:var(--muted);margin:10px 0 0;font-size:15px}.about{display:grid;grid-template-columns:1fr 2fr;gap:65px;background:#101820}.about>div{max-width:700px}.about p:not(.eyebrow){color:var(--muted);font-size:18px;margin-top:27px}.about .principles{color:var(--blue)!important;font-size:14px!important}.contact{background:var(--blue);color:#ffffff;border:0;margin:65px 6%;padding:55px 5%;border-radius:6px}.contact .eyebrow{color:#dce6ff}.contact h2{font-size:clamp(42px,5vw,70px);letter-spacing:-3px}.contact em{color:#c7d8ff}.contact-bottom{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:20px}.contact-bottom p{color:#e0e9ff}.button.dark{background:#101c38;color:var(--blue);min-width:160px;justify-content:space-between}.button.dark:hover{background:#1c3058}.email{font-size:14px;text-decoration:underline;text-underline-offset:4px}footer{border-top:1px solid var(--line);padding-top:35px;padding-bottom:35px}footer p,footer>span{font-size:12px;color:var(--muted)}footer .brand{font-size:21px}footer .mark{font-size:35px}footer .brand-sub{font-size:8px}@media(min-width:1500px){.hero{padding-top:110px;padding-bottom:90px}}@media(max-width:950px){header{padding:22px 5%}nav{gap:18px}.hero{padding:60px 5%;grid-template-columns:1fr 1fr}h1{letter-spacing:-2.5px}.actions{align-items:flex-start;flex-direction:column;gap:18px}.system-art{height:390px;transform:scale(.95)}.one{width:280px;height:280px}.two{width:350px}.three{height:350px}.node{font-size:9px;padding:9px}.strategy{left:0}.auto{left:10px}.hero-foot{flex-wrap:wrap;gap:10px;margin-top:35px}.hero-foot span+span{padding-left:10px}.section{padding:60px 5%}.service-grid article{padding:24px}.service-grid h3{font-size:22px}.tags{font-size:9px}.approach{gap:35px}.contact{padding:40px 5%}.about{gap:30px}}@media(max-width:680px){nav{display:none}.brand{font-size:23px}.nav-cta{padding:9px 12px}.nav-cta span{margin-left:12px}.hero{display:flex;flex-direction:column;padding-top:48px;gap:20px;align-items:stretch}h1{font-size:53px;letter-spacing:-3px}.intro{font-size:17px}.actions{flex-direction:row;align-items:center;gap:18px;flex-wrap:wrap}.button{padding:15px 18px}.hero-foot{font-size:11px}.system-art{height:350px;max-width:450px;width:100%;align-self:center;margin-top:0}.strategy{left:12px;top:40px}.auto{bottom:42px;left:30px}.ai{top:150px;right:8px}.art-caption{bottom:0;font-size:9px}.section-head,.approach,.about{grid-template-columns:1fr;gap:25px}.section-head>p:last-child{justify-self:start}.service-grid{grid-template-columns:1fr;margin-top:32px}.service-grid article+article{border-left:0;border-top:1px solid var(--line)}.service-top{margin-bottom:25px}.service-grid p{margin-bottom:22px}.tags{font-size:10px}.service-grid h3{font-size:26px}.about .eyebrow{margin-bottom:0}.contact{margin:35px 5%;padding:35px 7%}.contact h2{font-size:46px;letter-spacing:-2px}.contact-bottom{align-items:flex-start;flex-direction:column;gap:10px;margin-bottom:20px}footer{flex-wrap:wrap;gap:20px;padding:30px 5%}footer p{display:none}footer>span{font-size:11px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.button{background:linear-gradient(135deg,#2b61ff,#1743df);color:#fff}.contact{background:#2457ff}.contact .email{color:#fff}.button.dark{background:#101c38;color:#fff}.button:hover{background:#1743df}.contact .button:focus-visible,.contact .email:focus-visible{outline-color:#fff}

.booking{display:grid;grid-template-columns:1fr 1fr;gap:65px;padding:70px 6%}.booking-intro>.eyebrow{margin-top:42px}.booking h1{font-size:clamp(40px,4vw,60px);letter-spacing:-2px}.booking-form{padding:32px;background:var(--panel);border:1px solid var(--line);border-radius:8px}.booking-form h2{font-size:32px}.booking-note{font-size:14px;color:var(--muted)}.booking-details{padding:25px 0;border-block:1px solid var(--line);margin:30px 0}.booking-details h3{font-size:22px}.booking-details p{color:var(--muted)}.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:28px 0}.fields label{display:flex;flex-direction:column;gap:7px;font-size:14px}.fields .full{grid-column:1/-1}.fields input,.fields textarea{background:#0c1118;color:#f5f7f6;border:1px solid #48515d;border-radius:5px;padding:12px;font:inherit;width:100%;min-width:0}.fields input:focus,.fields textarea:focus{outline:2px solid #82a7ff;outline-offset:2px}.fields small,.fields span{color:var(--muted);font-size:12px}.booking button{border:0;cursor:pointer;font-family:inherit}.booking button:disabled{opacity:.6;cursor:wait}.honey{position:absolute;left:-10000px}#booking-status{font-size:15px}.booking-form.success{border-color:#82a7ff}@media(max-width:800px){.booking{grid-template-columns:1fr;gap:25px;padding:40px 5%}.booking-form{padding:25px}.booking-intro .intro{max-width:none}}@media(max-width:420px){.fields{grid-template-columns:1fr}.fields label{grid-column:1}.booking-form{padding:20px}}

.fields select{background:#0c1118;color:#f5f7f6;border:1px solid #48515d;border-radius:5px;padding:12px;font:inherit;width:100%}.fields select:focus{outline:2px solid #82a7ff}.booking-result{padding:20px;border:1px solid #82a7ff;border-radius:6px;white-space:pre-line}

/* Supplied logo, recolored for the site palette. */
header .brand,footer .brand{display:block;width:245px;height:78px;flex-shrink:0;overflow:hidden}.brand-logo{display:block;width:100%;height:100%;object-fit:cover;object-position:center;mix-blend-mode:lighten}header{padding-top:18px;padding-bottom:18px}footer .brand{width:210px;height:67px}@media(max-width:680px){header .brand{width:180px;height:58px}header{gap:12px}.nav-cta{font-size:12px;max-width:145px}.nav-cta span{margin-left:4px}footer .brand{width:180px;height:58px}}@media(max-width:380px){header .brand{width:150px;height:49px}}

/* Brand monogram from the supplied logo, displayed above its name. */
.core{width:170px;height:175px;background:#0c1118;border-color:#729cff70;gap:8px}.core-logo-a{display:block;width:101px;height:94px;flex-shrink:0;background-image:url("/logo-blue.png");background-repeat:no-repeat;background-size:355px 177.5px;background-position:-17px -43px}.core small{font-family:"Space Grotesk",sans-serif;font-size:16px;font-weight:500;letter-spacing:.2px;margin:0;color:#a7c6ff;line-height:1.25;text-align:center}header .brand{margin-right:auto}header nav{margin:0 36px}footer .brand{margin-right:20px}@media(max-width:950px){header nav{margin:0 20px}}

/* Booking background: original navy mixed with 20% white. */
body.booking-page{background:#373b41;--muted:#d0d5dd;--line:#64707d}.booking-page .booking-form{background:#3b424b}.booking-page header,.booking-page footer{border-color:#64707d}.booking-note a,.privacy-page a:not(.text-link){text-decoration:underline;text-underline-offset:3px}.privacy-link{font-size:14px;color:#b9ceff}.privacy-page{max-width:900px;padding:65px 6%;margin:auto}.privacy-page .eyebrow{margin-top:38px}.privacy-page h1{font-size:clamp(40px,5vw,64px);letter-spacing:-2px}.privacy-page h2{font-size:26px;letter-spacing:-.5px;margin:36px 0 16px}.privacy-page p,.privacy-page li{color:#c7d0dc;line-height:1.8}.privacy-page .privacy-date{font-size:14px;color:#a7b0ba}footer{gap:18px;flex-wrap:wrap}

