/* Service navigation extends the existing coastal homepage. */
body{position:relative}
header{background:linear-gradient(#07080ff5,#07080fcc 70%,transparent)}
.header-contact{pointer-events:auto;display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:44px;padding:0 18px;border:1px solid var(--emerald);border-radius:4px;background:#07080f;color:var(--white,#fff);font-size:14px;font-weight:500;text-decoration:none;white-space:nowrap;transition:background .2s,border-color .2s}
.header-contact span{color:var(--blue);font-size:18px}
.header-contact:hover{background:#0b2030;border-color:var(--blue)}
.header-contact:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
@media(max-width:560px){header{padding:14px 16px;gap:12px}.header-contact{padding:0 12px;gap:8px;font-size:14px}}
#one{min-height:650px}
#explore,#calls{scroll-margin-top:80px}
.cue{pointer-events:auto;text-decoration:none;color:#8b9bab;padding:14px;bottom:.25rem}
#explore{position:relative;z-index:4;padding:44px max(5%,20px) 40px;background:radial-gradient(ellipse at 50% 0%,#0c3041 0%,#09121e 46%,#080c14 90%);border-top:1px solid #00dcff30}
.explore-heading{max-width:1200px;margin:0 auto 24px;display:flex;justify-content:space-between;gap:16px;align-items:center}
.explore-heading h2{font-size:10px;letter-spacing:2.5px;color:var(--blue);font-weight:500}
.explore-heading>span{font-size:12px;color:#9babbc}
.service-links{max-width:1200px;margin:auto;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.service-link{position:relative;display:flex;flex-direction:column;align-items:flex-start;padding:22px 16px 18px;min-height:173px;color:#f6f8fc;text-decoration:none;border:1px solid #263640;border-radius:14px;background:linear-gradient(145deg,#102330,#0b131d 85%);transition:transform .22s,border-color .22s,box-shadow .3s}
.service-link:before{content:'';position:absolute;top:0;left:20%;right:20%;height:1px;background:linear-gradient(90deg,transparent,#00dcff80,transparent)}
.service-icon{color:var(--blue);display:block;height:24px;margin-bottom:23px}
.service-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.service-link:first-child .service-icon{color:var(--sand)}
.service-arrow{position:absolute;right:14px;top:16px;color:#698291;font-size:18px}
.service-link strong{font-size:14px;font-weight:500;line-height:1.4}
.service-link small{font-size:11px;color:#a4b3c2;line-height:1.6;margin-top:7px}
.service-link.featured{border-color:#24707b;background:linear-gradient(145deg,#10303c,#0b1823)}
.service-link:hover,.service-link:focus-visible,.service-link.energized{transform:translateY(-4px);border-color:var(--blue);background:linear-gradient(145deg,#154355,#0c2230 85%);box-shadow:0 0 32px #00dcff35}
.service-link.energized .service-icon{color:white;filter:drop-shadow(0 0 7px var(--blue))}
#calls{padding-top:4.5rem;background:linear-gradient(#080c14,#07080f 20%)}
#ki-signal{position:absolute;top:0;left:0;width:100%;pointer-events:none;z-index:5}
.industry-hit{position:absolute;z-index:3;width:108px;height:94px;transform:translate(-50%,-25px);border:0;border-radius:12px;background:transparent;cursor:pointer;color:#ced9e5;font-family:Inter,sans-serif}
.industry-label{position:absolute;top:56px;left:0;right:0;display:block;font-size:12px;font-weight:500;line-height:1.3;letter-spacing:.25px;text-align:center;text-shadow:0 1px 5px #07080f}
.industry-label>span{display:block}
.industry-hit:hover,.industry-hit:focus-visible,.industry-hit.node-lit{color:#fff}
.industry-hit.node-lit .industry-label{text-shadow:0 0 12px #00dcff90,0 1px 4px #07080f}
.industry-hit.node-dim{opacity:.4}
.industry-hit:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.industry-intake{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:14px 0 18px;padding:14px 16px;background:linear-gradient(100deg,#0e2833,#0a141f);border:1px solid #00dcff35;border-radius:8px}
.industry-intake>span{font-size:12px;color:#b3c1cf;line-height:1.5}
.industry-intake>a{display:inline-flex;align-items:center;gap:16px;flex-shrink:0;min-height:44px;padding:12px 17px;border-radius:6px;background:var(--blue);color:#061119;text-decoration:none;font-size:11px;font-weight:700;letter-spacing:.8px;transition:box-shadow .2s,transform .2s}
.industry-intake>a:hover{transform:translateY(-2px);box-shadow:0 0 20px #00dcff40}
@media(max-width:560px){#one{min-height:820px!important}.industry-hit{width:100px;height:88px;transform:translate(-50%,-23px)}.industry-label{top:51px;font-size:11px}.industry-intake{align-items:stretch;flex-direction:column;gap:10px}.industry-intake>a{justify-content:space-between}}
#service-dialog{position:fixed;inset:0;margin:auto;width:min(660px,calc(100% - 32px));max-height:85svh;overflow:auto;padding:36px;background:#0b1420;color:var(--ink);border:1px solid #24606c;border-radius:16px;box-shadow:0 20px 100px #0009}
#service-dialog::backdrop{background:#030711cc;backdrop-filter:blur(7px)}
.service-close{display:block;margin:0 0 24px auto;color:#b2c2cf;background:none;border:0;cursor:pointer;min-height:44px;font:500 11px Inter,sans-serif;letter-spacing:1px}
#service-title{font-size:clamp(26px,5vw,36px);letter-spacing:-1px;line-height:1.15;margin-bottom:18px}
#service-content .service-kicker{font-size:10px;letter-spacing:2px;color:var(--blue);margin-bottom:14px}
#service-content p,#service-content li{font-size:14px;line-height:1.85;color:#b3c1cf;margin:0 0 16px}
#service-content ul{padding-left:20px}
.service-cta{display:inline-block;margin-top:14px;padding:16px 18px;border:1px solid #00dcff75;border-radius:7px;color:var(--blue);text-decoration:none;font-size:11px;letter-spacing:1px}
.detail .d-close{min-height:44px;min-width:70px}
.restaurant-examples{grid-column:1/-1;margin:12px 0 20px;padding:20px;border:1px solid #e2ca9038;background:linear-gradient(120deg,#e2ca9009,transparent)}
.restaurant-examples h3{font-size:10px;letter-spacing:1.8px;color:var(--sand);font-weight:500;line-height:1.6}
.examples-note{font-size:12px;line-height:1.7;color:#9babbc;max-width:760px;margin:8px 0 18px}
.examples-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 30px}
.restaurant-example{display:flex;gap:14px;align-items:flex-start}
.example-number{font-size:12px;color:var(--sand);padding-top:3px;flex-shrink:0}
.restaurant-example h4{font-size:14px;font-weight:500;line-height:1.5;margin:0 0 6px}
.restaurant-example p{font-size:12px;line-height:1.8;color:#b3c1cf}
@media(max-width:640px){.examples-grid{grid-template-columns:1fr}.restaurant-examples{padding:16px}}
.detail:not(.open){visibility:hidden}
.voice-signal{display:flex;align-items:center;gap:4px;height:34px;margin-bottom:22px;color:var(--blue)}
.voice-signal b{display:block;width:3px;height:var(--height);background:currentColor;border-radius:2px}
.voice-signal.speaking b{animation:voice-signal .7s ease-in-out 3 alternate;animation-delay:var(--delay)}
@keyframes voice-signal{from{transform:scaleY(.3)}to{transform:scaleY(1.15);filter:drop-shadow(0 0 4px var(--blue))}}
@media(max-width:900px){.service-links{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:26px}}
@media(max-width:560px){#one{min-height:720px}.service-links{grid-template-columns:repeat(2,minmax(0,1fr))}.service-link{min-height:158px;padding:18px 14px}.explore-heading>span{display:none}#explore{padding-top:38px}.service-icon{margin-bottom:16px}#service-dialog{padding:24px}.lead-tab{max-width:180px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.service-link{transition:none}.service-link:hover,.service-link:focus-visible,.service-link.energized{transform:none}.voice-signal.speaking b{animation:none}}
/* Immersive service dossiers: editorial typography and a quiet KI signature. */
#service-dialog{width:min(1080px,calc(100% - 48px));max-height:calc(100svh - 64px);padding:0;background:#0b1119;border:1px solid #ffffff18;border-radius:4px;box-shadow:0 50px 140px #000b,0 0 80px #00bcd408;color-scheme:dark;scrollbar-width:thin;scrollbar-color:#344c57 #0b1119}
#service-dialog::backdrop{background:#02060bd9;backdrop-filter:blur(15px)}
#service-dialog[open]{animation:service-reveal .55s cubic-bezier(.16,1,.3,1) both}
#service-dialog[open]::backdrop{animation:service-veil .4s ease both}
#service-content{display:grid;grid-template-columns:1fr 1.08fr;min-height:610px}
.service-close{position:absolute;z-index:2;right:24px;top:16px;margin:0;display:flex;align-items:center;gap:14px;color:#b9c6cd;letter-spacing:1.8px;font-size:9px}
.service-close span{font-size:27px;font-weight:300;line-height:1}
.service-close:hover{color:white}
.service-editorial{position:relative;overflow:hidden;padding:64px 44px 34px;background:radial-gradient(ellipse at 40% 70%,#12435170,transparent 64%),linear-gradient(145deg,#11222c,#09121c 75%);border-right:1px solid #ffffff0d;display:flex;flex-direction:column}
#service-dialog[data-service=about] .service-editorial{background:radial-gradient(ellipse at 40% 70%,#72614030,transparent 64%),linear-gradient(145deg,#232522,#0d171c 75%)}
#service-content .service-kicker{font-size:9px;font-weight:500;letter-spacing:1.8px;color:#c1ccc9;margin-bottom:28px;line-height:1.8}
.service-kicker span{padding:0 8px;color:#587279}
#service-title{position:relative;z-index:1;font-size:clamp(32px,3.6vw,48px);font-weight:500;line-height:1.12;letter-spacing:-1.8px;margin:0;max-width:390px;color:#f3f5f4;text-wrap:balance}
.service-orbit{position:relative;flex:1;min-height:200px;display:grid;place-items:center;isolation:isolate}
.service-orbit i{position:absolute;width:200px;height:200px;border:1px solid #8eabb71c;border-radius:50%;transform:rotate(-28deg) scaleY(.62)}
.service-orbit i:nth-child(2){transform:rotate(40deg) scaleY(.62);width:240px;height:240px}
.service-orbit i:nth-child(3){transform:rotate(95deg) scaleY(.62);width:180px;height:180px;border-color:#9dcac831}
.service-orbit:after{content:'';position:absolute;width:5px;height:5px;border-radius:50%;background:#67dfda;box-shadow:0 0 18px #67dfda;transform:translate(86px,-55px)}
.service-monogram{font-size:82px;font-weight:500;letter-spacing:-10px;color:#eef5f3;line-height:1}
.service-monogram>span{color:#42d6dc;position:relative;top:-28px;font-size:48px;letter-spacing:0}
.service-signature{font-size:8px;letter-spacing:2px;color:#c2c9c8;line-height:2.1}
.service-signature span{font-size:10px;letter-spacing:.3px;color:#82949e}
.service-story{padding:76px 46px 38px;display:flex;flex-direction:column;justify-content:space-between;gap:24px;background:linear-gradient(150deg,#101821,#0a1018)}
#service-content p,#service-content li{font-size:14px;line-height:1.85;color:#aebdc7;margin:0 0 20px}
#service-content p:first-child{color:#e0e7eb;font-size:17px;line-height:1.75}
#service-content ul{padding:0;list-style:none;counter-reset:service-item;margin:26px 0 0}
#service-content li{position:relative;padding:16px 0 16px 34px;border-top:1px solid #ffffff12;margin:0;font-size:13px;counter-increment:service-item}
#service-content li:before{content:'0' counter(service-item);position:absolute;left:0;top:19px;font-size:9px;letter-spacing:1px;color:#63b6bc}
.service-next{border-top:1px solid #ffffff18;padding-top:24px}
.service-next>span{font-size:8px;letter-spacing:1.8px;color:#82949e}
.service-cta{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:14px;padding:17px 20px;background:#d8ece8;color:#0b2227;border:0;border-radius:2px;font-size:14px;font-weight:500;letter-spacing:0;transition:background .2s,box-shadow .2s}
.service-cta span{font-size:21px;transition:transform .2s}
.service-cta:hover{background:#f0fffa;box-shadow:0 6px 28px #87d9d21c}
.service-cta:hover span{transform:translate(3px,-3px)}
.service-close:focus-visible,.service-cta:focus-visible{outline:2px solid #6ce3e6;outline-offset:5px}
body:has(#service-dialog[open]){overflow:hidden}
@keyframes service-reveal{from{opacity:0;transform:translateY(22px) scale(.975)}to{opacity:1;transform:none}}
@keyframes service-veil{from{opacity:0}to{opacity:1}}
@media(max-width:760px){#service-dialog{width:calc(100% - 24px);max-height:calc(100svh - 24px);padding:0}#service-content{grid-template-columns:1fr;min-height:0}.service-editorial{padding:60px 28px 26px;border-right:0;border-bottom:1px solid #ffffff12}#service-title{font-size:36px;max-width:440px;padding-right:5px}.service-orbit{position:absolute;right:-65px;bottom:-85px;width:220px;height:220px;opacity:.23;z-index:0}.service-signature{position:relative;margin-top:28px;z-index:1}.service-story{padding:28px;gap:18px}.service-close{right:20px;top:10px}#service-content .service-kicker{margin-bottom:18px}}
@media(prefers-reduced-motion:reduce){#service-dialog[open],#service-dialog[open]::backdrop{animation:none}.service-cta,.service-cta span{transition:none}}
/* Official KI16 artwork retains its native proportions. Animate surroundings, not geometry. */
.official-lockup{display:block;width:187px;height:auto}
.service-monogram{display:block;width:74px;height:auto;letter-spacing:normal}
@media(max-width:560px){.official-lockup{width:150px}}
.consultation-discovery{position:relative;z-index:3;text-align:center;margin:25px auto 0;padding:0 20px;color:#a5b8c2;font-size:13px;line-height:1.8}.consultation-discovery strong{color:#e2d7b9;font-weight:500}.consultation-discovery a,.voice-page-link a{color:#b9dfd8;text-decoration:underline;text-underline-offset:5px}.consultation-discovery a{display:inline-block;margin-left:12px}.voice-page-link{font-size:14px;line-height:1.8;margin:22px 0}.service-fee-detail{font-size:12px;line-height:1.8;color:#a5b8c2}.service-fee-detail a,.service-page-link{color:#b9dfd8;text-decoration:underline;text-underline-offset:4px}.service-page-link{display:inline-block;margin:12px 0 20px;font-size:14px}
/* A brief KI light pass draws attention without a perpetual flashing CTA. */
.header-contact{position:relative;overflow:hidden}
.header-contact::before{content:'';position:absolute;inset:-1px;pointer-events:none;background:linear-gradient(105deg,transparent 35%,#00dcff25 50%,transparent 65%);transform:translateX(-140%);animation:ki-contact-sweep 1.2s cubic-bezier(.2,.6,.3,1) 3s both}
.header-contact span{transition:transform .22s ease}
.header-contact:hover span,.header-contact:focus-visible span{transform:translate(2px,-2px)}
@keyframes ki-contact-sweep{to{transform:translateX(140%)}}
@media(prefers-reduced-motion:reduce){.header-contact::before{animation:none;display:none}.header-contact,.header-contact span{transition:none}.header-contact:hover span,.header-contact:focus-visible span{transform:none}}
/* Readability pass: typography and spacing only; animation geometry is unchanged. */
.service-link strong{font-size:16px}.service-link small{font-size:14px;line-height:1.65}
.explore-heading h2{font-size:12px;line-height:1.6}.consultation-discovery,.voice-page-link{font-size:15px}
.industry-label{font-size:14px;line-height:1.35;letter-spacing:0}
.c-sub,.d-body,.c-copy,.v-item,.tool span{font-size:16px;line-height:1.8}.tool b{font-size:16px;line-height:1.5}
.d-tag{font-size:15px}.c-head,.v-head,.eyebrow{font-size:12px;line-height:1.6}.d-close{font-size:14px}
.s-cap{font-size:14px;max-width:190px;line-height:1.65}.s-src{font-size:12px;line-height:1.7}
.industry-intake>span,.industry-intake>a,.examples-note,.restaurant-example p,.service-fee-detail{font-size:14px}
#service-content p,#service-content li{font-size:16px}.service-close{font-size:13px}
footer{flex-wrap:wrap;gap:16px}footer a{display:inline-flex;align-items:center;min-height:44px;font-size:14px;letter-spacing:.06em}.ft{font-size:12px;line-height:1.8}
@media(max-width:560px){.industry-label{font-size:13px}.service-links{gap:14px}.service-link{min-height:180px}.cue{font-size:11px;letter-spacing:.16em}.industry-hit{height:96px}}
@media(max-width:560px){.industry-hit[aria-label="Explore Government & Public Sector"] .industry-label{font-size:12px;max-width:90px;margin-inline:auto}}
@media(max-width:380px){.industry-hit[aria-label="Explore Government & Public Sector"] .industry-label{font-size:11px}.industry-hit[aria-label="Explore Government & Public Sector"] .industry-label>span:last-child{max-width:62px;margin-inline:auto}.industry-hit[aria-label="Explore Boat Rentals"] .industry-label{translate:-6px 0}}
