:root{--navy:#092739;--deep:#071b2a;--blue:#1e4fb1;--ink:#173445;--muted:#526774;--paper:#f1f5f6;--line:#cbd7dd;--sans:Arial,Helvetica,sans-serif;--page:6.25%;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;background:#fff;color:var(--ink);font:1.1875rem/1.65 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-underline-offset:.25em}button{font:inherit;cursor:pointer}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #111;outline-offset:3px;background:#ffdd00!important;color:#111!important;box-shadow:0 0 0 6px #ffdd00}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400}p+p{margin-top:1.2em}img{display:block;width:100%;height:100%;object-fit:cover}[hidden]{display:none!important}section,aside,footer{scroll-margin-top:1.5rem}a,button,summary{touch-action:manipulation}.section-pad{padding:6.5rem var(--page)}.eyebrow{font-size:.9375rem;font-weight:600;letter-spacing:.12em;line-height:1.5;text-transform:uppercase}.blue{color:var(--blue)}.skip{position:fixed;top:-7rem;left:1rem;background:#fff;padding:.8rem;z-index:100}.skip:focus{top:1rem}.header{position:relative;z-index:20;min-height:6rem;padding:1.4rem 4.5%;display:flex;align-items:center;justify-content:space-between;gap:2rem;background:#fff}.brand{display:inline-flex;align-items:center;gap:.8rem;line-height:1;text-decoration:none;flex-shrink:0}.brand-logo{width:14rem;height:auto;object-fit:contain}.header nav{display:flex;align-items:center;gap:1.8rem;font-size:1rem}.header nav a{text-decoration:none;white-space:nowrap;min-height:2.75rem;display:flex;align-items:center}.header nav a:hover{text-decoration:underline;color:var(--blue)}.header nav .nav-cta{color:var(--blue);gap:1.4rem;border-bottom:1px solid var(--blue)}.menu-toggle{display:none}.hero{position:relative;min-height:43rem;color:white;background:var(--deep);overflow:hidden}.hero-image{position:absolute;inset:0;object-position:center;transform:none}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,17,29,.9),rgba(3,17,29,.45) 60%,rgba(3,17,29,.1)),linear-gradient(0deg,rgba(3,17,29,.7),transparent 35%)}.hero-content{position:relative;padding:5.8rem var(--page) 3.8rem;max-width:68rem}.hero-content .eyebrow{color:#fff;font-size:clamp(1rem,1.25vw,1.125rem);line-height:1.6;text-transform:none;letter-spacing:.01em}.hero-tagline .tagline-arrow{color:#71dde4;padding:0 .15em}h1{font-size:clamp(3.3rem,5.5vw,5.3rem);letter-spacing:-.045em;line-height:1.06;margin:1.8rem 0 1.7rem}h1 span{color:#71dde4}.hero-description{max-width:29rem;font-size:1.1875rem;color:#e1e9f2;line-height:1.65}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:3rem;font-size:1rem;font-weight:600;padding:.9rem 1.35rem;min-height:3rem;text-decoration:none;transition:background .2s}.button span{font-size:1.35rem}.button-white{background:white;color:var(--navy);margin-top:2rem}.button-white:hover{background:#d9eaff}.hero-bottom{position:relative;margin:0 var(--page);padding:1.2rem 0;border-top:1px solid #ffffff50;display:flex;align-items:center;justify-content:space-between;gap:1rem}.hero-bottom p{font-size:1rem;color:#e1e9f2}.motion-control{color:#fff;background:#071b2ac7;border:1px solid #b8cbdc;border-radius:0;min-height:2.75rem;padding:.45rem .9rem;display:flex;align-items:center;gap:.7rem;font-size:1rem}.motion-control:hover{background:#173b55}.announcement{display:flex;align-items:center;justify-content:space-between;gap:2rem;background:var(--paper);padding:1.4rem var(--page);font-size:1rem;border-bottom:1px solid var(--line)}.announcement p{display:flex;gap:1.5rem;align-items:center}.announcement-date{color:var(--blue);font-size:1rem;font-weight:600;white-space:nowrap}.announcement a{flex-shrink:0;color:var(--blue)}.announcement a span{margin-left:1rem}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;margin-top:2rem}h2{font-size:clamp(2.25rem,3.45vw,3.5rem);line-height:1.16;letter-spacing:-.04em}.muted{color:#607987}.lead{font-size:1.35rem;line-height:1.5}.intro-copy>p:not(.lead){color:var(--muted)}.platform{background:var(--paper)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:3rem}.section-heading h2{margin-top:1.4rem}.section-heading>p{max-width:23rem;color:var(--muted);font-size:1.0625rem}.platform-grid{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:start;margin-top:3.5rem}.platform-copy>p:not(.lead){color:var(--muted)}.text-link{font-size:1rem;font-weight:600;display:inline-flex;align-items:center;gap:1.6rem;margin-top:1.8rem;padding:.4rem 0;min-height:2.75rem;color:var(--blue)}.text-link>span[aria-hidden="true"]{font-size:1.25rem}.text-link [data-registration-label]{font-size:inherit}.text-link:hover{text-decoration-thickness:2px}.architecture{background:#fff;border:1px solid var(--line);padding:1.5rem}.architecture figcaption{font-size:1.3rem;font-weight:600;margin-bottom:1.1rem}.architecture-inputs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.architecture-inputs li{background:var(--paper);padding:.65rem;font-size:1rem;display:flex;align-items:center;min-height:3.25rem;border-left:2px solid #9bb4c0}.architecture-inputs li:last-child{grid-column:1/-1}.data-spine{margin:1.2rem 0;background:var(--navy);color:#fff;text-align:center;padding:1rem;font-weight:600;font-size:1rem}.architecture-outputs{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;font-size:1rem;color:var(--blue)}.architecture-outputs span{padding:.8rem .4rem;border-bottom:2px solid var(--blue);text-align:center}.architecture-caption{color:var(--muted);font-size:.9375rem;margin-top:1.1rem}.domains{display:grid;grid-template-columns:repeat(4,1fr);margin-top:4rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.domains>div{padding:1.7rem 1.4rem;border-right:1px solid var(--line)}.domains>div:first-child{padding-left:0}.domains>div:last-child{border:0}.domain-number{font-size:.9375rem;color:var(--muted)}.domains h4{font-weight:400;font-size:1.5rem;margin:.5rem 0 .6rem;letter-spacing:-.025em}.status{font-size:1rem;color:#174e44}.status-roadmap{color:#72500f}.labs{display:grid;grid-template-columns:1fr 1fr;background:var(--navy);color:#fff}.nature-image{position:relative;min-height:43rem;overflow:hidden}.nature-image img{position:absolute;inset:0}.nature-image:after{content:'';position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#00151fb3)}.image-caption{position:absolute;z-index:1;bottom:2.2rem;left:12.5%;right:6%;font-size:1rem;color:white}.labs-copy{padding:5rem 12.5% 4.5rem}.labs-copy>.eyebrow{color:#71dde4}.labs h2{margin:1.5rem 0 2rem;font-size:clamp(2.5rem,4vw,4rem)}.labs .lead{color:#e0e9ef}.research-focus{border-top:1px solid #66808e;padding-top:1.8rem;margin-top:2rem}.research-focus .eyebrow{color:#71dde4}.research-focus h3{font-size:1.5rem;margin:1rem 0}.research-focus>p:not(.eyebrow){color:#d4e0e9;font-size:1.0625rem}.research-status{display:inline-block;font-size:1rem;color:#c6dff9;margin-top:1.2rem;padding:.2rem .6rem;border:1px solid #809aad}.text-link-light,.text-link-light span{color:#fff}.expertise{background:#fff}.service-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:4rem;margin-top:3.5rem;border-bottom:1px solid var(--line)}.service{border-top:1px solid var(--line)}.service summary{list-style:none;display:grid;grid-template-columns:1.5rem 1fr 1.25rem;gap:1rem;align-items:start;padding:1.7rem 0;cursor:pointer}.service summary::-webkit-details-marker{display:none}.service-number{font-size:.9375rem;color:var(--blue);padding-top:.3rem}.service-title{display:block;font-size:1.25rem;line-height:1.4;font-weight:600;letter-spacing:-.025em}.service-short{display:block;color:var(--muted);font-size:1rem;margin-top:.5rem}.plus{position:relative;display:block;height:1.25rem;margin-top:.3rem}.plus:before,.plus:after{content:'';position:absolute;width:.8rem;height:2px;background:var(--ink);top:.5rem;left:.25rem}.plus:after{transform:rotate(90deg)}.service[open] .plus:after{transform:rotate(0)}.service summary:hover .service-title{color:var(--blue)}.service-content{padding:0 1.5rem 1.8rem 2.5rem;color:var(--muted);font-size:1.0625rem}.service-content .text-link{margin-top:1rem}.registration{background:#edf3f6;border-top:1px solid var(--line)}.registration-intro{max-width:47rem}.registration-intro h2{margin:1.5rem 0}.registration-intro .lead{color:var(--muted);font-size:1.1875rem}.registration-steps{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem;margin:3rem 0 0;padding:0}.registration-steps li{border-top:1px solid #aebfc8;padding-top:1.3rem}.registration-steps li>span{color:var(--blue);font-size:1rem}.registration-steps h3{font-size:1.3rem;font-weight:600;margin:.75rem 0}.registration-steps p{color:var(--muted);font-size:1.0625rem}.registration-panel{background:#fff;margin-top:3rem;border:1px solid var(--line);padding:2.5rem;max-width:55rem}.registration-panel h3{font-size:1.7rem;line-height:1.3;margin:.75rem 0 1rem;letter-spacing:-.025em}.registration-panel p:not(.eyebrow){color:var(--muted);max-width:43rem}.registration-panel .text-link{margin-top:1rem}#tally-container{margin-top:1.5rem}#tally-container iframe{width:100%;min-height:56rem;border:0;background:white}.form-alternative{font-size:1rem}.form-alternative a{color:var(--blue)}.contact{background:var(--blue);color:#fff;display:flex;justify-content:space-between;align-items:center;gap:3rem}.contact h2{font-size:clamp(2.7rem,4.6vw,4.3rem);letter-spacing:-.04em;line-height:1.1;margin:1.5rem 0}.contact>div>p:last-child{color:#eef4ff;font-size:1.0625rem}.contact-link{display:flex;align-items:center;gap:2.5rem;font-size:1.3rem;padding:.5rem 0;text-decoration:none;border-bottom:1px solid #c7dcff}.contact-link span{font-size:2rem}.contact-link:hover{border-bottom:3px solid white}.footer{background:#fff;color:var(--ink);padding-top:4rem;padding-bottom:1.5rem}.footer-top{display:flex;justify-content:space-between;gap:3rem;padding-bottom:3.5rem}.footer-top .brand{align-self:flex-start}.footer .brand{max-width:100%}.footer .brand-logo{width:19.2rem;max-width:100%;height:auto}.footer .brand-symbol span{color:#fff}.footer-top>div{font-size:1rem;line-height:1.8}.footer-top>div a{display:block;text-decoration:none;padding:.2rem 0}.footer-label{font-size:.9375rem;color:var(--muted);margin-bottom:.8rem}.footer a:hover{text-decoration:underline}.footer-bottom{border-top:1px solid var(--line);padding-top:1.4rem;display:flex;gap:2rem;align-items:center;justify-content:space-between;font-size:1rem;color:var(--muted)}.footer-bottom p{margin-right:auto}.document{max-width:62rem;margin:auto;padding:5rem var(--page)}.document h1{font-size:3rem;margin-top:1rem}.document h2{font-size:1.6rem;margin:2rem 0 1rem}.document li+li{margin-top:.7rem}.document p,.document li{max-width:45rem}.document a{color:var(--blue)}@media(min-width:1600px){:root{--page:max(6.25%,calc((100vw - 1440px)/2))}}@media(max-width:1100px){.header{flex-wrap:wrap;gap:1rem}.header nav{width:100%;justify-content:space-between;gap:1rem}.hero-content{max-width:59rem}.service-grid{column-gap:2rem}.labs-copy{padding:4rem 9%}.footer-top{gap:2rem;flex-wrap:wrap}.footer-top>div{font-size:1rem}}@media(max-width:760px){:root{--page:6%}body{font-size:1.125rem}.section-pad{padding:4rem var(--page)}.header{padding:1rem var(--page);min-height:5rem;gap:1rem;align-items:center}.brand-name{font-size:1.2rem}.brand-name small{font-size:.6rem}.brand-symbol{font-size:2.7rem}.js .menu-toggle{display:flex;align-items:center;gap:.6rem;background:transparent;border:1px solid var(--line);color:var(--ink);font-size:1rem;min-height:2.75rem;padding:.4rem .6rem}.header nav{display:flex;flex-direction:column;align-items:stretch;gap:.2rem;padding-top:.5rem}.js .header nav{display:none}.js .header nav.open{display:flex}.header nav a{font-size:1.0625rem;white-space:normal;padding:.55rem 0}.header nav .nav-cta{justify-content:space-between}.hero{min-height:0}.hero-content{padding:4rem var(--page) 3rem}.hero-image{object-position:63% center}.hero-shade{background:linear-gradient(90deg,#03111deb,#03111d70),linear-gradient(0deg,#03111d80,transparent)}h1{font-size:clamp(2.6rem,7.8vw,4rem);letter-spacing:-.045em;margin:1.5rem 0}h1 span{display:block;max-width:31rem}.hero-description{font-size:1.125rem;max-width:28rem}.hero-content .eyebrow{font-size:1rem;letter-spacing:.01em}.hero-bottom{flex-wrap:wrap;gap:.8rem;padding:1rem 0}.hero-bottom p{font-size:1rem}.motion-control{font-size:1rem}.announcement{display:block;padding:1.4rem var(--page)}.announcement p{display:block;line-height:1.5}.announcement-date{display:block;margin-bottom:.4rem}.announcement a{display:inline-block;margin-top:.6rem;padding:.3rem 0}.intro-grid{grid-template-columns:1fr;gap:2rem;margin-top:1.5rem}h2{font-size:2.3rem;letter-spacing:-.035em}.lead{font-size:1.25rem}.section-heading{display:block}.section-heading>p{margin-top:1.3rem;max-width:100%}.desktop-break{display:none}.platform-grid{grid-template-columns:1fr;gap:2.5rem;margin-top:2rem}.architecture{padding:1.5rem}.architecture-inputs li{font-size:1rem}.domains{grid-template-columns:1fr 1fr;margin-top:2.5rem}.domains>div,.domains>div:first-child{padding:1.25rem 1rem}.domains>div:nth-child(2){border-right:0}.domains>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.domains h4{font-size:1.3rem}.labs{grid-template-columns:1fr}.nature-image{min-height:23rem}.labs-copy{padding:3.5rem var(--page)}.labs h2{font-size:2.8rem}.image-caption{left:6%;bottom:1.8rem}.service-grid{grid-template-columns:1fr;margin-top:2.5rem}.service summary{padding:1.5rem 0}.service-title{font-size:1.2rem}.service-short{font-size:1rem}.service-content{padding-right:.5rem}.registration-steps{grid-template-columns:1fr;gap:1.6rem;margin-top:2rem}.registration-panel{padding:1.5rem;margin-top:2rem}.registration-panel h3{font-size:1.5rem}.contact{display:block}.contact h2{font-size:2.8rem}.contact-link{font-size:1.1875rem;display:inline-flex;margin-top:2rem;gap:2rem}.footer-top{flex-direction:column;gap:2rem;padding-bottom:2.5rem}.footer-top>div{font-size:1rem}.footer-bottom{flex-wrap:wrap;gap:1rem 1.5rem;font-size:1rem}.footer-bottom p{width:100%}.document{padding:3rem 6%}.document h1{font-size:2.5rem}}@media(max-width:390px){.header{gap:.5rem}.brand-name{font-size:1.05rem}.brand-name small{font-size:.55rem}.brand-symbol{font-size:2.3rem}.architecture{padding:1rem}.architecture-inputs,.architecture-outputs{grid-template-columns:1fr}.architecture-inputs li:last-child{grid-column:auto}.registration-panel{padding:1.2rem}.domains{grid-template-columns:1fr}.domains>div{border-right:0;border-bottom:1px solid var(--line)}.hero-bottom{align-items:flex-start}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}@media print{.header,.hero-image,.hero-shade,.motion-control,.announcement,.nature-image,.footer,.contact{display:none}.hero,.labs,.platform,.registration{background:white;color:black}.hero-content,.section-pad,.labs-copy{padding:1.5rem 0}.hero h1 span,.hero-description,.labs .lead,.research-focus>p:not(.eyebrow){color:black}.hero{min-height:0}.hero-bottom{display:none}.intro-grid,.platform-grid,.labs{display:block}.registration-steps{display:block}.service{break-inside:avoid}}

/* Maritime editorial section and supplied identity. */
.maritime-story{display:grid;grid-template-columns:1fr 1fr;background:#f4f7f8;color:var(--ink)}
.maritime-image{position:relative;min-height:40rem;overflow:hidden;background:var(--deep)}.maritime-image img{position:absolute;inset:0;object-position:48% center}
.maritime-copy{padding:3.5rem 10%}.maritime-copy>.eyebrow{color:var(--blue)}.maritime-copy h2{font-size:clamp(2.2rem,3.1vw,3.2rem);margin:1.5rem 0}.maritime-copy h2 span{color:var(--blue)}.story-intro{color:var(--muted);font-size:1.0625rem}.scenario-steps{margin-top:1.5rem;border-bottom:1px solid var(--line)}.scenario-steps details{border-top:1px solid var(--line)}.scenario-steps summary{cursor:pointer;padding:.875rem 0;color:var(--blue);font-size:1rem}.scenario-steps summary span{margin-left:.7rem;font-size:1.0625rem;color:var(--ink)}.scenario-steps details p{padding:0 0 1rem;color:var(--muted);font-size:1rem}.scenario-note{font-size:1rem;color:var(--muted);margin-top:1.5rem}.maritime-copy>.text-link{font-size:1rem}.maritime-copy>.text-link,.maritime-copy>.text-link span{color:var(--blue)}.eyebrow{font-size:1rem}.announcement-date{font-size:1rem}
@media(max-width:1100px){.maritime-copy{padding:3rem 9%}}
@media(max-width:760px){.brand-logo{width:clamp(9.5rem,44vw,13rem)}.maritime-story{grid-template-columns:1fr}.maritime-image{min-height:0;aspect-ratio:3/2}.maritime-copy{padding:3rem var(--page)}.maritime-copy h2{font-size:2.3rem}.hero-content .eyebrow{font-size:1rem}.hero-content{padding-top:4.5rem;padding-bottom:4rem}.hero-content h1 span{max-width:34rem}}
@media print{.maritime-image{display:none}.maritime-story{display:block;background:white;color:black}.maritime-copy{padding:1.5rem 0}.maritime-copy h2 span,.story-intro,.scenario-steps summary,.scenario-steps summary span,.scenario-steps details p,.scenario-note{color:black}}

/* One Earth opening. The image moves gently; words and controls remain still. */
.hero-scenes{position:absolute;inset:0}
.footer-bottom{align-items:flex-start;flex-wrap:wrap}.footer-policies{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem}.footer-policies a{min-height:2.75rem;display:inline-flex;align-items:center}.footer-bottom>p{flex-basis:100%}.footer-top>div:last-child{max-width:29rem}.document{padding-left:2rem;padding-right:2rem}.document table{border-collapse:collapse;width:100%;font-size:1rem;margin:1.5rem 0}.document th,.document td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:.8rem}.document h3{font-weight:600;font-size:1.2rem;margin:1.7rem 0 .7rem}.document ul{padding-left:1.5rem}.policy-review{background:#edf3f6;border-left:4px solid var(--blue);padding:1rem 1.3rem;margin:1.5rem 0;font-size:1rem}.policy-meta{color:var(--muted);font-size:1rem}.form-privacy{font-size:1rem;margin-top:1rem}.form-privacy a{color:var(--blue)}
@media(max-width:760px){.hero-bottom{align-items:flex-start}.document{padding:3rem 6%}.footer-policies{gap:.5rem 1rem}.hero-scenes .hero-image{object-position:60% center}}
@media(prefers-reduced-motion:reduce){.hero-scenes .hero-image{transition:none!important}}

/* Blue Titan dark-surface identity. Reading and registration sections remain light. */
:root{--aqua:#71dde4;--dark-copy:#d4e0e9;--dark-line:#547484}
.header{background:var(--deep);color:#fff;border-bottom:1px solid #ffffff29}
.header nav a:hover{color:var(--aqua)}
.header nav .nav-cta{color:var(--aqua);border-color:var(--aqua)}
.js .marketing-page .header{position:absolute;inset:0 0 auto;background:transparent;backdrop-filter:none;border-bottom-color:transparent}
.js .marketing-page .hero-content{padding-top:calc(var(--header-height,7rem) + 5rem)}
.platform{background:var(--navy);color:#fff}
.platform .blue,.platform .text-link{color:var(--aqua)}
.platform .section-heading>p,.platform-copy>p:not(.lead){color:var(--dark-copy)}
.platform .architecture{background:#0f3348;border-color:var(--dark-line)}
.platform .architecture-inputs li{background:#153f55;border-color:var(--aqua);color:#edf7fa}
.platform .data-spine{background:var(--aqua);color:var(--deep)}
.platform .architecture-outputs{color:var(--aqua)}
.platform .architecture-outputs span{border-color:var(--aqua)}
.platform .architecture-caption,.platform .domain-number{color:#bed2dd}
.platform .domains,.platform .domains>div{border-color:var(--dark-line)}
.platform .status{color:#8de0d1}.platform .status-roadmap{color:#f2d28c}
.maritime-story{border-top:1px solid var(--line)}
.labs{border-top:1px solid var(--dark-line)}
.footer{background:var(--deep);color:var(--dark-copy)}
.footer .footer-label{color:var(--aqua)}
.footer .footer-bottom{color:#bed2dd;border-color:var(--dark-line)}
.footer a:hover{color:var(--aqua)}
@media(max-width:1100px){.js .marketing-page .hero-content{padding-top:calc(var(--header-height,11rem) + 4rem)}}
@media(max-width:760px){.js .menu-toggle{color:#fff;border-color:#8caaba}.js .marketing-page .header.menu-open{background:var(--deep);border-bottom-color:var(--dark-line)}.js .marketing-page .hero-content{padding-top:calc(var(--header-height,6rem) + 3.5rem)}}
@media print{.js .marketing-page .hero-content{padding-top:1.5rem}.platform,.platform .architecture,.platform .architecture-inputs li,.platform .data-spine{background:white;color:black}.platform .blue,.platform .text-link,.platform .section-heading>p,.platform-copy>p:not(.lead),.platform .architecture-outputs,.platform .architecture-caption,.platform .domain-number,.platform .status,.platform .status-roadmap{color:black}}

/* Quiet contact section: static light surface and direct ways to get in touch. */
.contact{background:#fff;color:var(--navy);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:4rem;align-items:start;border-top:1px solid var(--line);padding-top:5rem;padding-bottom:5rem}
.contact .eyebrow{color:var(--blue)}
.contact h2{font-size:clamp(2.7rem,4.6vw,4rem);margin:1.1rem 0 1.4rem}
.contact .contact-intro>p:not(.eyebrow){color:var(--muted);font-size:1.1875rem;max-width:28rem}
.contact-details{border-left:1px solid #afc3ce;padding-left:2.5rem}
.contact .contact-label{font-size:1rem;font-weight:600;color:var(--ink);margin:0 0 .4rem}
.contact-email,.contact-phone{display:inline-block;min-height:2.75rem;padding:.2rem 0;color:var(--blue);overflow-wrap:anywhere;max-width:100%}
.contact-email{font-size:1.4rem}.contact-phone{font-size:1.1875rem}
.contact-email+.contact-label{margin-top:1.5rem}
.contact .contact-hours{font-size:1rem!important;line-height:1.8;color:var(--muted)!important;margin-top:1.3rem}
@media(max-width:760px){.contact{grid-template-columns:1fr;gap:2.5rem;padding-top:3.5rem;padding-bottom:3.5rem}.contact-details{border-left:0;border-top:1px solid #afc3ce;padding:1.75rem 0 0}.contact-email{font-size:1.25rem}}
@media print{.contact{display:none}}

/* Cinematic opening and a clear editorial rhythm. */
.hero{min-height:46rem;min-height:max(46rem,88svh);display:flex;flex-direction:column;justify-content:space-between}
.hero-shade{background:linear-gradient(180deg,rgba(3,17,29,.72) 0,rgba(3,17,29,.72) var(--header-height,7rem),transparent calc(var(--header-height,7rem) + 8rem)),linear-gradient(90deg,rgba(3,17,29,.92) 0%,rgba(3,17,29,.72) 43%,rgba(3,17,29,.18) 78%),linear-gradient(0deg,rgba(3,17,29,.85),transparent 42%)}
.hero-content{max-width:76rem;padding-bottom:5rem}
.hero-content h1{font-size:clamp(3rem,5.1vw,5.1rem);max-width:62rem;line-height:1.08}
.hero-content h1 span{color:#fff}
.hero-description{max-width:31rem;font-size:1.25rem}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1.3rem 2rem;margin-top:2.2rem}
.hero-actions .button{margin-top:0;gap:1.8rem}
.hero-secondary{display:inline-flex;align-items:center;gap:1rem;min-height:2.75rem;font-size:1rem;color:#fff}
.hero-bottom{padding-top:1rem;padding-bottom:1rem}

.intro.section-pad{padding-top:4rem;padding-bottom:4rem}
.intro-grid{gap:8%;align-items:start;margin-top:1.5rem}
.intro h2{font-size:clamp(2.25rem,3vw,3rem)}
.labs-copy .lead{font-size:1.25rem}
.registration{background:#f4f7f8}
.registration-panel{border-top:3px solid var(--blue)}
@media(max-width:760px){
  .hero{min-height:43rem}
  .hero-content{padding-bottom:3.5rem}
  .hero-content h1{font-size:clamp(2.5rem,7.8vw,3.75rem)}
  .hero-description{font-size:1.125rem;max-width:27rem}
  .hero-shade{background:linear-gradient(90deg,rgba(3,17,29,.94),rgba(3,17,29,.72)),linear-gradient(0deg,rgba(3,17,29,.7),transparent)}
  .hero-actions{align-items:flex-start;flex-direction:column;gap:1rem}
  .hero-actions .button{gap:1rem;max-width:100%;font-size:1rem}
  .hero-bottom{align-items:center}
  .hero-bottom p{max-width:15rem}
  .intro.section-pad{padding-top:3rem;padding-bottom:3rem}
}
@media print{.hero{min-height:0;display:block}.hero-content h1 span{color:black}.hero-actions{display:none}}

/* Clear entry points to the registration form and a shorter services interlude. */
.expertise.section-pad{padding-top:4rem;padding-bottom:4rem}
.form-direct{margin-top:1.5rem}
.form-direct a{display:inline-flex;align-items:center;justify-content:space-between;gap:1.2rem;min-height:3rem;padding:.8rem 1.1rem;background:var(--blue);color:#fff;text-decoration:none;font-size:1rem;font-weight:600;max-width:100%}
.form-direct a:hover{background:#173d89;text-decoration:underline}
#registration-help{font-size:1rem}
@media(max-width:760px){.expertise.section-pad{padding-top:3rem;padding-bottom:3rem}.registration-steps{gap:1.25rem}.form-direct a{font-size:1rem}}

/* A stronger closing brand mark, scaled gently for small screens. */
@media(max-width:760px){.footer .brand-logo{width:17rem}}

/* Reading sizes: 18 - 19px body copy, 16px supporting text and room to reflow. */
.section-heading>p,.story-intro,.scenario-steps details p,.registration-steps p,.service-content,.research-focus>p:not(.eyebrow){font-size:1.125rem}
.scenario-steps summary span,.service-short{font-size:1.0625rem}
.text-link,.maritime-copy>.text-link,.button,.form-direct a{font-size:1.0625rem}
.header nav{font-size:1rem;gap:1.5rem}
.header nav .nav-cta{gap:.75rem}
.header nav a{white-space:normal}
.footer-top{flex-wrap:wrap}
.footer-top>div{font-size:1.0625rem}
.document p,.document li,.footer-top>div{overflow-wrap:anywhere}
@media(min-width:1101px) and (max-width:1280px){.header{gap:1rem}.header .brand-logo{width:12.5rem}.header nav{gap:1rem}}
@media(max-width:760px){.hero-actions .button,.form-direct a{font-size:1rem}.text-link{gap:1rem}.architecture-inputs,.architecture-outputs{min-width:0}}

/* Keep mobile navigation compact after the desktop typography rules. */
@media(max-width:760px){.header nav{gap:.2rem}.header nav a{font-size:1rem}.header nav .nav-cta{gap:.75rem}}

/* A closed, constant-speed path avoids the old zoom reversal and end pauses. */





/* Keep the platform explanation and diagram aligned beneath one clear heading. */
.platform .section-heading{display:block;max-width:44rem}
.platform .platform-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;margin-top:2.5rem;gap:6%}
.platform-copy{min-width:0}
@media(max-width:760px){.platform .platform-grid{grid-template-columns:minmax(0,1fr);margin-top:2rem;gap:2rem}}

/* Consistent reading pages with an accessible, compact section index. */
.document{max-width:58rem;padding:4rem 2rem 5rem}
.document h1{font-size:clamp(2.2rem,5vw,3.5rem);line-height:1.12;overflow-wrap:anywhere}
.document .document-intro{font-size:1.25rem;line-height:1.6;color:var(--muted);margin:1.5rem 0}
.document-contents{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:1.3rem 0;margin:2rem 0 3rem}
.document-contents>p{font-weight:600;margin:0 0 .5rem}
.document-contents ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem 2rem;padding-left:1.5rem;margin:0}
.document .document-contents li+li{margin-top:0}
.document-contents a{display:inline-block;padding:.4rem 0;line-height:1.5}
.document section+section{margin-top:2.5rem}
.document section h2{scroll-margin-top:2rem;line-height:1.35}
.document-return{border-top:1px solid var(--line);padding-top:1.5rem;margin-top:3rem}
@media(max-width:760px){.document{padding:3rem 6%}.document-contents ol{grid-template-columns:minmax(0,1fr)}.document .document-intro{font-size:1.125rem}}
@media print{.document-contents,.document-return{display:none}.document{max-width:none;padding:0}.document h2{break-after:avoid}}

/* Keep the services introduction in one clear reading column. */
.expertise .section-heading{display:block;max-width:50rem}
.expertise .section-heading h2{font-size:clamp(2.4rem,3.8vw,3.5rem);line-height:1.16;margin-top:1.25rem}
.expertise .section-heading>p{max-width:38rem;margin-top:1.25rem}
.expertise .service-grid{margin-top:2rem}

/* Give section titles more presence while preserving a comfortable mobile scale. */
.marketing-page .intro h2{font-size:clamp(2.4rem,3.4vw,3.25rem)}
.marketing-page .platform h2,.marketing-page .registration-intro h2{font-size:clamp(2.4rem,3.8vw,3.75rem)}
.marketing-page .maritime-copy h2{font-size:clamp(1.9rem,3.2vw,3.25rem);line-height:1.18}
.maritime-copy h2 .maritime-title-lead,.maritime-copy h2 .maritime-title-question{display:block;text-wrap:balance}
.maritime-copy h2 .maritime-title-lead{color:var(--ink)}
.maritime-copy h2 .maritime-title-question{margin-top:.08em}
.marketing-page .intro .eyebrow,.marketing-page .platform .eyebrow,.marketing-page .maritime-copy>.eyebrow,.marketing-page .expertise .eyebrow,.marketing-page .labs-copy>.eyebrow,.marketing-page .registration-intro>.eyebrow,.marketing-page .contact .eyebrow{font-size:1.0625rem}

.footer .footer-label{font-size:1.125rem;font-weight:600;line-height:1.5}

/* Text-based credentials: a continuous transform loop with an all-items reading mode. */
.credentials{background:#f4f7f8;border-top:1px solid var(--line);padding:2.5rem 0;color:var(--ink)}
.credentials-heading{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:0 var(--page);margin-bottom:1.75rem}
.credentials-heading h2{font-size:clamp(1.3rem,2vw,1.6rem);line-height:1.4;letter-spacing:-.02em;max-width:40rem}
#credentials-toggle{flex-shrink:0;min-height:2.75rem;background:transparent;border:1px solid #839ca9;border-radius:0;color:var(--ink);padding:.45rem .8rem;font-size:1rem}
#credentials-toggle:hover{background:#e4edf0}
.credentials-window{overflow:hidden;contain:paint}
.credentials-track{width:100%}
.credentials-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;list-style:none;margin:0;padding:0 var(--page)}
.credential{min-width:0;border-left:2px solid var(--blue);padding:.35rem 0 .35rem 1.25rem}
.credential-type{font-size:.9375rem;color:var(--muted);line-height:1.5}
.credential h3{font-size:clamp(1.6rem,2.5vw,2rem);line-height:1.25;font-weight:600;letter-spacing:-.03em;margin:.75rem 0}
.credential-status{font-size:1rem;color:var(--ink);line-height:1.5;margin:0}
.credential-context{font-size:.9375rem;line-height:1.5;color:var(--muted);margin-top:.4rem}
.credentials.is-rolling .credentials-track{display:flex;width:max-content;animation:credentials-roll 78s linear infinite;will-change:transform;backface-visibility:hidden}
.credentials.is-rolling .credentials-list{display:flex;flex:none;gap:2rem;padding:0 2rem 0 0}
.credentials.is-rolling .credential{flex:0 0 19rem;width:19rem}
.credentials-details{margin:1.75rem var(--page) 0;border-top:1px solid var(--line);padding-top:1rem}
.credentials-details>summary{width:fit-content;max-width:100%;min-height:2.75rem;padding:.5rem 0;cursor:pointer;color:var(--blue);font-size:1rem;text-decoration:underline;text-underline-offset:.25em}
.credentials-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem 3rem;padding:1.5rem 0}
.credentials-detail-grid>div{min-width:0}
.credentials-detail-grid h3{font-size:1.2rem;font-weight:600;line-height:1.4;margin-bottom:.75rem}
.credentials-detail-grid p,.credentials-detail-grid li,.credentials-scope{font-size:1rem;line-height:1.65}
.credentials-detail-grid ul{padding-left:1.2rem;margin:1rem 0}
.credentials-detail-grid li+li{margin-top:.5rem}
.credentials-detail-grid a{color:var(--blue)}
.credential-reference,.credentials-scope{color:var(--muted)}
.credentials-scope{max-width:60rem;margin-bottom:.5rem}
@keyframes credentials-roll{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@media(max-width:1100px){.credentials-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.credentials-heading{align-items:flex-start;flex-direction:column;gap:1rem}.credentials-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem 1rem}.credentials-detail-grid{grid-template-columns:minmax(0,1fr);gap:1.75rem}.credentials.is-rolling .credential{width:17rem;flex-basis:17rem}.credential{padding-left:.85rem}}
@media(max-width:400px){.credentials-list{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.credentials.is-rolling .credentials-track{display:block;width:100%;animation:none;transform:none;will-change:auto}.credentials.is-rolling .credentials-list{display:grid;padding:0 var(--page)}.credentials.is-rolling .credential{width:auto}.credentials-list[aria-hidden="true"]{display:none!important}#credentials-toggle{display:none!important}}
@media print{.credentials{padding:1rem 0;background:white}.credentials.is-rolling .credentials-track{display:block;width:100%;animation:none;transform:none}.credentials.is-rolling .credentials-list{display:grid;padding:0}.credentials.is-rolling .credential{width:auto}.credentials-list[aria-hidden="true"],#credentials-toggle{display:none!important}.credentials-heading{padding:0}.credentials-details{margin:1rem 0}}

/* Editorial spacing and centred platform status labels. */
.platform .domains-heading{font-size:clamp(1.65rem,2.5vw,2.5rem);line-height:1.2;margin:3rem 0 1.5rem;letter-spacing:-.025em}
.platform .domains{margin-top:0}
.platform .domains>div,.platform .domains>div:first-child{text-align:center;padding:1.5rem 1rem}
.platform .domains .status{display:inline-flex;align-items:center;justify-content:center;min-height:2.25rem;padding:.3rem .7rem;margin:.25rem 0 0;text-align:center;background:rgba(255,255,255,.05)}
.labs .nature-image{min-height:32rem}
.labs-copy{align-self:center;padding-top:4rem;padding-bottom:4rem}
.labs h2{margin-bottom:1.5rem}
.labs-copy>.text-link{margin-top:1.25rem}
@media(max-width:900px){.labs .nature-image{min-height:22rem}.labs-copy{padding-top:3rem;padding-bottom:3rem}.platform .domains-heading{margin-top:2.5rem}}
@media print{.platform .domains .status{background:transparent}.labs-copy{padding:1.5rem 0}}

/* Plain-language context beneath application status labels. */
.platform .domains .domain-description{font-size:1rem;line-height:1.5;margin:1rem auto 0;max-width:24ch;color:inherit}

/* Official organisation artwork, with agreement names and roles kept separate. */
.credentials-heading h2{font-size:clamp(1.5rem,2.3vw,2rem);max-width:44rem;line-height:1.25}
.credential{background:#fff;border:1px solid #d3dfe5;border-top:3px solid var(--blue);padding:1.25rem;display:flex;flex-direction:column;align-items:flex-start}
.credential-type{margin:0;min-height:2.8rem}
.credential-brand{height:9rem;width:100%;display:flex;align-items:center;justify-content:flex-start;background:#fff;margin:.5rem 0 .75rem}
.credential-brand img{display:block;object-fit:contain;object-position:left center;height:auto;max-height:9rem;max-width:100%;filter:none;mix-blend-mode:normal}
.credential-brand-ads img{width:163px}
.credential-brand-innovatrics img{width:100%;max-width:17rem}
.credential-brand-gca img{width:11rem}
.credential-brand-rcloud span{font-size:2.4rem;letter-spacing:-.04em;font-weight:600;color:var(--ink)}
.credential h3{font-size:1.5rem;margin:0 0 .65rem}
.credential-status{margin:0}
.credential-context{margin:.5rem 0 0}
@media(max-width:760px){.credentials-list{grid-template-columns:1fr}.credential{padding:1.1rem}.credentials.is-rolling .credential{width:19rem;flex-basis:19rem}}
@media print{.credential{break-inside:avoid}.credential-brand{height:7rem}.credential-brand img{max-height:7rem}}

/* Text placement: shared edges, readable measures and natural heading wraps. */
.marketing-page .intro-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,5vw,5rem);align-items:start}
.marketing-page .intro-copy{max-width:60ch;min-width:0}
.marketing-page .intro-copy p{max-width:60ch}
.marketing-page .platform .section-heading{max-width:48rem}
.marketing-page #platform-title{max-width:24ch;text-wrap:balance}
.marketing-page .platform .platform-grid{gap:clamp(2rem,4vw,4rem);margin-top:2rem}
.marketing-page .platform-copy>p{max-width:58ch;line-height:1.65}
.marketing-page .platform-copy>.text-link{margin-top:1.35rem}
.marketing-page .architecture{margin:0;padding:clamp(1.25rem,2.2vw,2rem)}
.marketing-page .architecture-inputs li{line-height:1.45}
.marketing-page .maritime-copy,.marketing-page .labs-copy{padding:clamp(2.5rem,4.5vw,5rem);min-width:0}
.marketing-page .maritime-copy>.eyebrow,.marketing-page .labs-copy>.eyebrow{max-width:38ch}
.marketing-page .maritime-copy h2{margin:1rem 0 1.5rem}
.marketing-page .maritime-copy>.story-intro,.marketing-page .scenario-steps,.marketing-page .scenario-note{max-width:58ch}
.marketing-page .scenario-steps details p{margin-top:.25rem;padding-bottom:1.25rem}
.marketing-page .scenario-note{font-size:1rem;margin-top:1.25rem}
.marketing-page .maritime-copy>.text-link{margin-top:1rem;max-width:100%}
.marketing-page .labs-copy{align-self:center}
.marketing-page #labs-title{font-size:clamp(2.25rem,3.6vw,3.5rem);max-width:22ch;text-wrap:balance;line-height:1.16;margin:1rem 0 1.5rem}
.marketing-page .labs-copy>.lead{max-width:52ch;line-height:1.6}
.marketing-page .expertise .section-heading>p{max-width:58ch}
.marketing-page .service-grid{gap:0 clamp(2rem,4vw,4rem);align-items:start}
.marketing-page .service-content p{max-width:56ch}
.marketing-page .registration-intro{max-width:52rem}
.marketing-page .registration-intro>.lead{max-width:62ch}
.marketing-page .registration-body{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(2rem,4vw,4rem);align-items:start;margin-top:2.5rem}
.marketing-page .registration-steps{grid-template-columns:1fr;gap:1.5rem;margin:0}
.marketing-page .registration-steps li{padding-top:1rem}
.marketing-page .registration-steps h3{margin:.5rem 0}
.marketing-page .registration-steps p{max-width:48ch}
.marketing-page .registration-panel{margin:0;max-width:none;min-width:0;padding:clamp(1.5rem,2.5vw,2.5rem)}
.marketing-page .registration-panel p{max-width:58ch}
.marketing-page .contact{gap:clamp(2rem,5vw,5rem)}
.marketing-page .contact-intro,.marketing-page .contact-details{min-width:0}
.marketing-page .contact-details{padding-left:clamp(1.5rem,3vw,3rem)}
.footer-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.35fr);align-items:start;gap:clamp(1.5rem,3vw,3rem)}
.footer-top>div{min-width:0}
.footer-top>.brand{max-width:100%}
.footer-bottom{row-gap:1rem}
@media(max-width:1000px){
 .marketing-page .platform .platform-grid{grid-template-columns:minmax(0,1fr);gap:2rem}
 .marketing-page .platform-copy>p{max-width:65ch}
 .marketing-page .architecture{width:100%;max-width:48rem}
 .marketing-page .maritime-story,.marketing-page .labs{grid-template-columns:minmax(0,1fr)}
 .marketing-page .maritime-image,.marketing-page .labs .nature-image{min-height:0;height:clamp(18rem,38vw,28rem);aspect-ratio:auto}
 .marketing-page .maritime-copy,.marketing-page .labs-copy{padding:3rem var(--page)}
 .marketing-page .maritime-copy h2{max-width:26ch}
 .marketing-page .registration-body{grid-template-columns:1fr;gap:2rem}
 .marketing-page .registration-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}
 .marketing-page .registration-panel{max-width:52rem}
 .footer-top{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}
 .footer-top>.brand{grid-column:1/-1}
}
@media(max-width:760px){
 .marketing-page .intro-grid{grid-template-columns:minmax(0,1fr);gap:1.5rem}
 .marketing-page .platform .platform-grid{margin-top:1.5rem}
 .marketing-page .maritime-copy,.marketing-page .labs-copy{padding-top:2.5rem;padding-bottom:2.5rem}
 .marketing-page .registration-steps{grid-template-columns:1fr}
 .marketing-page .registration-body{margin-top:2rem}
 .marketing-page .contact-details{padding-left:0}
 .footer-top{grid-template-columns:minmax(0,1fr);gap:2rem}
 .marketing-page .eyebrow{overflow-wrap:break-word}
}
@media print{
 .marketing-page .registration-body,.marketing-page .platform .platform-grid{display:block}
 .marketing-page .registration-panel{margin-top:1.5rem}
 .marketing-page .maritime-copy,.marketing-page .labs-copy{padding:1.5rem 0}
}

/* Keep the opening message, actions and closing line together. */
.marketing-page .hero{min-height:44rem;min-height:clamp(44rem,84svh,58rem);justify-content:center}
.marketing-page .hero-content{width:100%;max-width:76rem;padding-top:4rem;padding-bottom:4rem}
.js .marketing-page .hero-content{padding-top:calc(var(--header-height,7rem) + 3.5rem)}
.marketing-page .hero-closing{max-width:38rem;margin:2rem 0 0;padding-top:1.25rem;border-top:1px solid #ffffff40;font-size:1rem;line-height:1.6;color:#d4e0e9}
@media(max-width:1100px){.js .marketing-page .hero-content{padding-top:calc(var(--header-height,7rem) + 3rem)}}
@media(max-width:760px){
 .marketing-page .hero{min-height:0}
 .marketing-page .hero-content{padding-top:2.5rem;padding-bottom:2.5rem}
 .js .marketing-page .hero-content{padding-top:calc(var(--header-height,6rem) + 2.5rem)}
 .marketing-page .hero-closing{margin-top:1.75rem;padding-top:1rem;max-width:32rem}
}
@media print{.marketing-page .hero{min-height:0}.marketing-page .hero-content,.js .marketing-page .hero-content{padding:1.5rem 0}.marketing-page .hero-closing{color:black;border-color:#aaa}}

/* Expanded membership, partner and supplier information. */
.credentials-details>summary{font-size:1.0625rem;font-weight:600;line-height:1.5;padding:.65rem 0}
.credentials-detail-grid{gap:0 3rem;padding:1.75rem 0 .5rem}
.credentials-detail-grid .credential-detail{padding:1.5rem 0;border-top:1px solid var(--line);min-width:0}
.credentials-detail-grid .credential-detail-type{font-size:.9375rem;color:var(--muted);line-height:1.5;margin:0 0 .5rem}
.credentials-detail-grid .credential-detail h3{font-size:1.4rem;line-height:1.3;margin:0 0 .75rem;text-wrap:balance}
.credentials-detail-grid .credential-reference{font-size:.9375rem;margin:0 0 1rem}
.credentials-detail-grid .credential-detail p,.credentials-detail-grid .credential-detail li{max-width:60ch}
.credentials-detail-grid .credential-detail ul{margin:1rem 0;padding-left:1.25rem}
.credentials-detail-grid .credential-detail li+li{margin-top:.8rem}
.credentials-detail-grid .credential-detail-link{margin-top:1rem}
.credentials-detail-grid .credential-detail-link a{display:inline-flex;align-items:center;min-height:2.75rem;padding:.35rem 0}
.credentials-details .credentials-scope{border-top:1px solid var(--line);padding-top:1.25rem;max-width:64ch}
.credentials-scope a{color:var(--blue)}
@media(max-width:860px){.credentials-detail-grid{grid-template-columns:minmax(0,1fr);gap:0;padding-top:1.25rem}.credentials-detail-grid .credential-detail{padding:1.25rem 0}}

/* Clearly separated contact methods and a readable postal address. */
.contact-details .contact-method+.contact-method{margin-top:1.5rem}
.contact .contact-label{margin:0 0 .25rem}
.contact .contact-email,.contact .contact-phone{display:block;width:fit-content;max-width:100%;font-size:clamp(1.125rem,1.8vw,1.375rem);line-height:1.5;padding:.35rem 0}
.footer-contact .contact-method+.contact-method{margin-top:1rem}
.footer .contact-method-label{font-size:1rem;font-weight:600;line-height:1.5;color:var(--aqua);margin:0 0 .15rem}
.footer .footer-contact .contact-method a{min-height:2.75rem;line-height:1.5;padding:.35rem 0;width:fit-content;max-width:100%;overflow-wrap:anywhere}
.footer .registered-office{font-style:normal;text-align:left;font-size:inherit;line-height:1.8;margin:1.25rem 0 0}
.footer .registered-office-label{font-size:1rem;font-weight:600;line-height:1.5;color:var(--aqua)}

/* Dedicated pages share one navigation and a consistent reading rhythm. */
body{min-height:100svh;display:flex;flex-direction:column}
body>main{flex:1;min-width:0}
html{scroll-padding-top:calc(var(--header-height,6rem) + 1.5rem)}
section,aside,footer,.document section h2{scroll-margin-top:1rem}
.header,.js .marketing-page .header{position:sticky;inset:auto;top:0;z-index:40;background:#071b2a;color:#fff;border-bottom:1px solid #547484;flex-wrap:nowrap;gap:2rem;padding:1rem 4.5%;min-height:6rem}
.js .marketing-page .header{top:0}
.header .brand-logo{width:12rem}
.header nav{width:auto;display:flex;flex-direction:row;align-items:center;gap:clamp(1rem,1.5vw,1.75rem);padding:0;font-size:1rem}
.header nav a{position:relative;white-space:nowrap;line-height:1.4;padding:.65rem 0;border-bottom:2px solid transparent}
.header nav a[aria-current="page"]{color:var(--aqua);border-bottom-color:var(--aqua)}
.header nav .nav-cta{padding:.6rem 1rem;border:1px solid var(--aqua);color:var(--aqua)}
.header nav .nav-cta[aria-current="page"]{background:var(--aqua);color:var(--deep)}
.header nav a:hover{color:var(--aqua)}
.header nav .nav-cta:hover{background:#153f55;color:#fff}
.breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:.65rem;font-size:1rem;line-height:1.5;margin:0 0 2rem;color:var(--muted)}
.breadcrumbs a{display:inline-flex;align-items:center;min-height:2.75rem}
.platform .breadcrumbs,.labs .breadcrumbs{color:var(--dark-copy)}
.page-title,.marketing-page #labs-title.page-title{font-size:clamp(2.5rem,4.5vw,4.75rem);line-height:1.1;letter-spacing:-.04em;max-width:22ch;margin:1.25rem 0 1.75rem;text-wrap:balance}
.marketing-page .platform .section-heading{max-width:60rem}
.marketing-page .hero-content,.js .marketing-page .hero-content{padding-top:clamp(3rem,6vw,6rem);padding-bottom:clamp(3rem,6vw,6rem)}
.marketing-page .hero{min-height:clamp(36rem,calc(88svh - var(--header-height,6rem)),54rem)}
.hero-shade{background:linear-gradient(90deg,rgba(3,17,29,.9),rgba(3,17,29,.6) 55%,rgba(3,17,29,.2)),linear-gradient(0deg,rgba(3,17,29,.7),transparent 45%)}
.marketing-page .platform.section-pad,.marketing-page .expertise.section-pad{padding-top:2rem;padding-bottom:5rem}
.marketing-page .section-heading .page-title{margin-top:1.25rem}
.marketing-page .expertise .section-heading{max-width:60rem}
.marketing-page .expertise .section-heading>p{max-width:65ch}
.marketing-page .domains h3{font-size:1.5rem;font-weight:400;margin:.5rem 0 .6rem;letter-spacing:-.025em;line-height:1.35}
.marketing-page .domains-heading{font-size:clamp(2rem,3vw,3rem);margin-top:4rem;line-height:1.2}
.overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;margin-top:3rem}
.overview-card{padding:1.75rem 0 0;border-top:2px solid var(--blue);display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.overview-card .eyebrow{font-size:.9375rem;letter-spacing:.06em}
.overview-card h3{font-size:1.65rem;line-height:1.3;margin:1rem 0}
.overview-card>p:not(.eyebrow){font-size:1.125rem;color:var(--muted);margin-bottom:1.5rem}
.overview-card .text-link{margin-top:auto;line-height:1.45}
.page-next{display:flex;align-items:center;justify-content:space-between;gap:3rem;background:var(--paper);border-top:1px solid var(--line);padding-top:3.5rem;padding-bottom:3.5rem}
.page-next>div{max-width:48rem}
.page-next h2{font-size:clamp(2rem,3vw,3rem);max-width:28ch;line-height:1.2}
.page-next p{max-width:58ch;margin-top:1rem;color:var(--muted);font-size:1.125rem}
.button-blue{background:var(--blue);color:#fff;flex-shrink:0;gap:1.5rem;text-align:left;line-height:1.5}
.button-blue:hover{background:#173d89}
.marketing-page .labs-copy{padding:2rem clamp(2rem,4vw,5rem) 4rem}
.marketing-page .labs .nature-image{min-height:35rem}
.research-context .intro-copy .text-link{margin-top:1.5rem}
.marketing-page .contact{padding-top:2rem;padding-bottom:4rem;align-items:center}
.marketing-page .contact .page-title{max-width:17ch}
.marketing-page .contact .contact-intro>p:not(.eyebrow){max-width:48ch}
.footer-pages{display:flex;flex-wrap:wrap;gap:.5rem 1.75rem;padding:0 0 1.75rem;font-size:1rem}
.footer-pages a{min-height:2.75rem;display:inline-flex;align-items:center}
@media(max-width:1100px){
 .header,.js .marketing-page .header{gap:1rem;min-height:5rem;padding:.85rem var(--page);flex-wrap:wrap}
 .header .brand-logo{width:11rem;max-width:48vw}
 .js .menu-toggle{display:flex;align-items:center;gap:.6rem;min-height:2.75rem;background:transparent;color:#fff;border:1px solid #8caaba;padding:.4rem .7rem;font-size:1rem}
 .header nav{width:100%;flex-direction:column;align-items:stretch;gap:.15rem}
 .js .header nav{display:none;position:absolute;inset:100% 0 auto;width:100%;max-height:calc(100svh - var(--header-height,5rem));overflow-y:auto;padding:1rem var(--page) 1.5rem;background:var(--deep);border-bottom:1px solid var(--dark-line)}
 .js .header nav.open{display:flex}
 .header nav a{white-space:normal;padding:.7rem .4rem;font-size:1.0625rem}
 .header nav a[aria-current="page"]{border-bottom-color:transparent;background:#153f55}
 .header nav .nav-cta{margin-top:.5rem;justify-content:center}
 .header nav .nav-cta[aria-current="page"]{background:var(--aqua)}
 html:not(.js) .header{position:relative}
 .overview-grid{grid-template-columns:1fr;gap:2rem}
 .overview-card{display:block;max-width:65ch}
 .overview-card>p:not(.eyebrow){margin-bottom:0}
 .overview-card .text-link{margin-top:1rem}
 .page-next{align-items:flex-start;flex-direction:column;gap:1.5rem}
}
@media(max-width:1000px){
 .marketing-page .labs .nature-image{min-height:0;height:clamp(18rem,38vw,28rem)}
 .marketing-page .labs-copy{padding:2rem var(--page) 3rem}
}
@media(max-width:760px){
 .page-title,.marketing-page #labs-title.page-title{font-size:clamp(2.25rem,8vw,3.5rem);max-width:24ch}
 .marketing-page .hero{min-height:0}
 .marketing-page .hero-content,.js .marketing-page .hero-content{padding-top:3rem;padding-bottom:3rem}
 .marketing-page .platform.section-pad,.marketing-page .expertise.section-pad{padding-top:1.25rem;padding-bottom:3rem}
 .breadcrumbs{margin-bottom:1.25rem}
 .marketing-page .contact{align-items:start;gap:2rem;padding-bottom:3rem}
 .page-next{padding-top:3rem;padding-bottom:3rem}
 .page-next .button{max-width:100%;white-space:normal}
 .footer-pages{gap:.25rem 1.25rem}
}
@media print{.header,.js .marketing-page .header,.footer-pages,.breadcrumbs,.page-next{display:none}.marketing-page .hero{min-height:0}.marketing-page .hero-content,.js .marketing-page .hero-content{padding:1.5rem 0}}

/* September messaging and email demo enquiry refresh. */
.marketing-page .hero-description{max-width:37rem}
.platform .domains{grid-template-columns:repeat(3,minmax(0,1fr))}
.platform .architecture-basis{text-align:center;margin:0 0 1.25rem;font-weight:600;line-height:1.5}
.demo-enquiry-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(2rem,5vw,5rem);align-items:start}
.demo-enquiry-grid .registration-intro>p:last-child{margin-top:1.5rem;color:var(--muted)}
.demo-enquiry-grid .demo-enquiry-panel{margin-top:0;min-width:0}
.demo-enquiry-panel h3{margin-top:0}
.demo-enquiry-panel .button{margin-top:1.5rem;gap:1rem;max-width:100%}
.demo-enquiry-panel .demo-email{font-size:1.0625rem;margin-top:1.5rem;overflow-wrap:anywhere}
.demo-enquiry-panel .form-privacy{font-size:1rem;margin-top:1.5rem}
@media(max-width:900px){.demo-enquiry-grid{grid-template-columns:1fr}.demo-enquiry-grid .registration-intro{max-width:65ch}}
@media(max-width:760px){
 .platform .domains{grid-template-columns:1fr}
 .platform .domains>div,.platform .domains>div:first-child,.platform .domains>div:nth-child(2){border-right:0;border-bottom:1px solid var(--dark-line);padding:1.5rem 1rem}
 .platform .domains>div:last-child{border-bottom:0}
}

/* Policy pages: clear summaries, definitions and generous section spacing. */
.policy-document .breadcrumbs{margin-bottom:2rem}
.policy-summary{margin:1.75rem 0 2rem;padding:1.25rem 1.5rem;background:var(--paper);border-left:3px solid var(--blue)}
.policy-summary p{margin:0;font-size:1.0625rem;line-height:1.65}
.policy-document section{padding-top:.25rem}
.policy-document section+section{margin-top:3rem}
.policy-definitions{margin:1.5rem 0}
.policy-definitions dt{font-weight:600;margin-top:1.5rem;line-height:1.5}
.policy-definitions dt:first-child{margin-top:0}
.policy-definitions dd{margin:.4rem 0 0;max-width:45rem;line-height:1.7}
@media(max-width:760px){.policy-summary{padding:1rem 1.15rem}.policy-document section+section{margin-top:2.25rem}}
@media print{.policy-summary{background:transparent;border-color:#555}.policy-document section{break-inside:auto}}
