:root{color-scheme:dark;--bg:#080c12;--panel:#0e151f;--text:#f0f4f8;--muted:#abb8c7;--blue:#31c7ee;--line:#293442}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}a{color:inherit}a:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:7px}.skip{position:absolute;left:20px;top:-100px;background:var(--blue);color:#061018;padding:12px;z-index:20}.skip:focus{top:12px}.wrap{max-width:1240px;margin:0 auto;padding-left:48px;padding-right:48px}header{min-height:100px;padding:20px 48px;max-width:1440px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.wordmark{text-decoration:none;font-size:34px;letter-spacing:3px;font-weight:800;line-height:1}.wordmark span{display:block;color:var(--muted);font-size:10px;letter-spacing:2px;margin-top:10px}nav{display:flex;gap:32px}nav a,.header-link{font-size:14px;text-decoration:none}nav a{color:#c4cdd7}nav a:hover,.header-link:hover{color:var(--blue)}.header-link{border:1px solid var(--line);padding:12px 17px}.header-link span{margin-left:16px;color:var(--blue)}.hero{display:grid;grid-template-columns:1.16fr 1fr;gap:18px;align-items:center;min-height:640px;padding-top:62px;padding-bottom:60px}.eyebrow{color:var(--blue);letter-spacing:2.2px;font-size:12px;font-weight:700;margin:0 0 26px}h1{font-size:clamp(40px,4.9vw,66px);line-height:1.08;letter-spacing:-2.3px;font-weight:600;margin:0 0 28px}h1 em{font-style:normal;color:var(--blue)}.intro{max-width:490px;font-size:18px;color:var(--muted);line-height:1.7}.button{display:inline-flex;gap:38px;align-items:center;background:var(--blue);color:#051119;text-decoration:none;font-weight:700;padding:16px 22px;margin-top:18px;transition:background .2s}.button:hover{background:#7ee0fa}.hero-note{font-size:12px;color:var(--muted);margin-top:22px}.brand-visual{min-width:0}.brand-visual img{display:block;width:100%;height:auto}.image-caption{border-top:1px solid var(--line);padding-top:16px;display:flex;justify-content:space-between;gap:15px;color:var(--muted);font-size:10px;letter-spacing:1px}.principles{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:30px}.principles p{padding:12px 0;font-size:14px}.principles span{color:var(--blue);font-size:12px;margin-right:15px}.section{padding-top:100px;padding-bottom:100px}.section-heading{display:grid;grid-template-columns:1fr 1fr;column-gap:80px;align-items:end;margin-bottom:50px}.section-heading .eyebrow{grid-column:1/-1}.section-heading h2{margin:0}.section-heading>p:last-child{max-width:460px;margin:0;color:var(--muted)}h2{font-size:clamp(32px,3.4vw,44px);line-height:1.14;letter-spacing:-1.2px;font-weight:500}h3{font-size:22px;font-weight:500;line-height:1.3}h4{font-size:14px;margin:0 0 12px;color:var(--blue)}p{margin:0 0 20px}.sector-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.sector{border-top:2px solid #497086;padding-top:25px}.sector:first-child{border-top-color:var(--blue)}.index{color:var(--blue);font-size:12px;letter-spacing:1.5px}.sector h3{font-size:25px;margin:20px 0}.sector p,.sector li{color:var(--muted)}.sector ul{padding-left:18px;margin:24px 0}.sector li{margin:12px 0;font-size:14px}.small{font-size:12px!important;line-height:1.7;color:var(--muted)}.services-section{background:var(--panel);padding:95px 0}.service-list{border-top:1px solid #394757}details{border-bottom:1px solid #394757}summary{display:grid;grid-template-columns:50px 1fr 24px;gap:16px;align-items:center;cursor:pointer;list-style:none;padding:25px 0}summary::-webkit-details-marker{display:none}summary h3{margin:0;font-size:23px}summary:hover h3{color:var(--blue)}.service-number{font-size:12px;color:var(--blue)}.plus{position:relative;width:16px;height:16px}.plus:before,.plus:after{content:'';position:absolute;background:var(--blue);left:0;top:7px;width:16px;height:1px}.plus:after{transform:rotate(90deg)}details[open] .plus:after{transform:rotate(0)}.detail{padding:0 40px 30px 66px;display:grid;grid-template-columns:1fr 1fr;gap:70px;color:var(--muted)}.detail p{margin:0}.detail>div{border-left:1px solid var(--line);padding-left:30px}.process{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin:0}.process li{border-top:1px solid var(--line);padding-top:22px}.process span{font-size:12px;color:var(--blue)}.process h3{margin:22px 0 16px}.process p{color:var(--muted);font-size:14px}.about-section{background:#101b28;padding:80px 0;border-top:1px solid #26455a;border-bottom:1px solid #26455a}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.about-grid h2{margin:0}.about-grid h3{margin:0 0 7px;font-size:27px}.about-grid p{color:var(--muted)}.about-grid .eyebrow{color:var(--blue)}.role{color:var(--blue)!important;font-size:14px;margin-bottom:26px}.enquiry{max-width:850px;text-align:center}.enquiry>p:not(.eyebrow){max-width:600px;margin:0 auto 30px;color:var(--muted)}.enquiry h2{margin:0 0 25px}.enquiry-status{border:1px solid var(--line);padding:25px;max-width:600px;margin:35px auto 0}.enquiry-status h3{font-size:18px;margin:0 0 10px}.enquiry-status p{color:var(--muted);font-size:14px;margin:0}footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:40px;padding-top:40px;padding-bottom:40px}footer>div>p{color:var(--muted);font-size:12px;margin:20px 0 0}footer>.small{max-width:320px;margin:0;text-align:right}
@media(max-width:900px){header{padding:20px 28px}.wrap{padding-left:28px;padding-right:28px}nav{gap:18px}.hero{min-height:auto;padding-top:50px;padding-bottom:50px}h1{font-size:48px}.section-heading{gap:30px}.sector-grid{gap:20px}.sector h3{font-size:21px}.detail{gap:30px}.about-grid{gap:40px}.image-caption{font-size:9px;flex-direction:column;gap:2px}}
@media(max-width:650px){header{flex-wrap:wrap;padding:20px 22px;gap:24px}.wordmark{font-size:29px}nav{order:3;width:100%;justify-content:space-between;gap:12px}nav a{padding:4px 0}.header-link{padding:10px 12px}.wrap{padding-left:22px;padding-right:22px}.hero{grid-template-columns:1fr;gap:25px;padding-top:42px}.hero h1{font-size:clamp(36px,9.4vw,53px);letter-spacing:-1.4px}.intro{font-size:17px}.brand-visual{max-width:390px;margin:auto}.brand-visual img{width:100%}.image-caption{flex-direction:row;font-size:9px}.principles{grid-template-columns:1fr;gap:0}.principles p{padding:17px 0;margin:0;border-bottom:1px solid var(--line)}.principles p:last-child{border:0}.section{padding-top:65px;padding-bottom:65px}.section-heading{grid-template-columns:1fr;gap:20px;margin-bottom:36px}.section-heading .eyebrow{margin:0}.section-heading h2{font-size:36px}.sector-grid{grid-template-columns:1fr;gap:32px}.sector h3{font-size:25px}.services-section{padding:65px 0}summary{grid-template-columns:28px 1fr 16px;gap:12px;padding:24px 0}summary h3{font-size:20px}.detail{padding:0 0 25px 40px;grid-template-columns:1fr;gap:22px}.detail>div{border-left:0;padding-left:0}.process{grid-template-columns:1fr 1fr;gap:24px}.about-section{padding:60px 0}.about-grid{grid-template-columns:1fr;gap:36px}footer{flex-direction:column}footer>.small{text-align:left;max-width:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.header-logo{display:block;flex:0 0 auto;line-height:0}.header-logo img{display:block;width:112px;height:112px;object-fit:contain}@media(max-width:650px){.header-logo img{width:96px;height:96px}}

.launch-banner{padding:12px 22px;background:var(--blue);color:#051119;text-align:center;font-size:16px;font-weight:700;letter-spacing:1px}

.email-link{max-width:100%;overflow-wrap:anywhere;display:inline-block}

/* Photographic APT direction */
:root{--blue:#24b7f2;--bg:#050b12;--panel:#0b1622}header{max-width:none;background:#050b12;min-height:90px;padding:8px max(28px,calc((100vw - 1360px)/2));border-bottom:1px solid #244052}.header-logo img{height:82px;width:100px}.header-link{border-color:var(--blue)}.eyebrow{font-size:14px}.hero{position:relative;display:block;min-height:490px;padding:0;isolation:isolate;overflow:hidden}.hero-photo{position:absolute;inset:0;z-index:-2;background:url('assets/maritime.jpg') center 48%/cover}.hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(3,9,16,.04) 15%,rgba(3,9,16,.4) 43%,rgba(3,9,16,.95) 68%)}.hero-copy{width:48%;margin-left:52%;padding:70px 48px 55px 12px}.hero h1{font-size:clamp(32px,3.1vw,48px);line-height:1.13;letter-spacing:-1px;font-weight:700}.hero .eyebrow{margin-bottom:18px}.hero .intro{font-size:18px;line-height:1.5;color:#d5dfe9;margin-bottom:8px}.hero .button{background:#078bc9;color:white;padding:13px 28px}.hero-note{font-size:14px}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr)}.feature{min-height:370px;position:relative;display:flex;align-items:end;padding:28px;border:1px solid #607384;background-size:cover;background-position:center;isolation:isolate}.feature:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#030d15 0%,rgba(3,13,21,.88) 39%,rgba(3,13,21,.08) 100%)}.testing{background-image:url('assets/security.jpg')}.architecture{background-image:url('assets/assurance.jpg');background-position:80% center}.assurance{background-image:url('assets/assurance.jpg');background-position:20% center}.vulnerability{background-image:url('assets/maritime.jpg');background-position:30% center}.feature h3{font-size:23px;font-weight:700;margin:0 0 12px}.feature p:not(.eyebrow){color:#d3dce5;line-height:1.45;margin:0 0 17px}.feature .eyebrow{font-size:12px;letter-spacing:1.5px;margin-bottom:14px}.feature a,.maritime-banner a{color:#36bcf4;font-size:14px;font-weight:700;text-decoration:none}.feature a:hover,.maritime-banner a:hover{text-decoration:underline}.maritime-banner{min-height:310px;background:linear-gradient(90deg,rgba(239,246,251,.98),rgba(239,246,251,.88) 35%,rgba(239,246,251,0) 70%),url('assets/maritime.jpg') center 45%/cover;color:#071422;padding:40px max(28px,calc((100vw - 1240px)/2 + 48px))}.maritime-banner>div{max-width:540px}.maritime-banner .eyebrow{color:#143f58;margin-bottom:12px}.maritime-banner h2{font-weight:700;margin:0 0 18px;font-size:36px}.maritime-banner p{line-height:1.5}.maritime-banner a{color:#075e8a}.principles{margin-top:0}.small{font-size:14px!important}.process p{font-size:16px}.section{padding-top:80px;padding-bottom:80px}
@media(max-width:1050px){.hero-copy{width:53%;margin-left:47%;padding-right:28px}.feature-grid{grid-template-columns:repeat(2,1fr)}.feature{min-height:360px}.maritime-banner{background:linear-gradient(90deg,rgba(239,246,251,.97),rgba(239,246,251,.85) 60%,rgba(239,246,251,.25)),url('assets/maritime.jpg') center/cover}}
@media(max-width:650px){header{padding:8px 22px;gap:8px 20px}.header-logo img{width:90px;height:75px}nav{gap:10px;padding-bottom:10px}nav a{font-size:14px}.hero{min-height:590px;display:flex;align-items:end}.hero-photo{background-position:35% top}.hero:after{background:linear-gradient(0deg,#030a12 3%,rgba(3,10,18,.95) 39%,rgba(3,10,18,.05) 92%)}.hero-copy{width:100%;margin:0;padding:260px 22px 34px}.hero h1{font-size:34px;letter-spacing:-.8px}.hero .eyebrow{font-size:12px}.hero .intro{font-size:16px}.feature-grid{grid-template-columns:1fr}.feature{min-height:350px;padding:26px 22px;background-position:center 35%}.feature h3{font-size:25px}.feature .eyebrow{font-size:14px}.maritime-banner{padding:35px 22px}.maritime-banner h2{font-size:30px}.section{padding-top:60px;padding-bottom:60px}}
