/* Shared only by the two public-facing review pages. */
:root{
  --deep:#061728;
  --navy:#102b47;
  --teal:#00a7b5;
  --ink-teal:#007b89;
  --cyan:#18a9d4;
  --ice:#eaf8fb;
  --text:#142b40;
  --muted:#526574;
  --line:#cddbe1}

*{
  box-sizing:border-box}
html{
  scroll-behavior:smooth;
  scroll-padding-top:24px}
body{
  margin:0;
  color:var(--text);
  background:#fff;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased}
img{
  display:block;
  max-width:100%;
  height:auto}
figure{
  margin:0}
p{
  margin:0 0 1.25rem}
a{
  color:inherit;
  text-underline-offset:5px}
a:hover{
  text-decoration-thickness:2px}
h1,h2,h3{
  margin:0;
  line-height:1.12;
  letter-spacing:-.04em;
  font-weight:650}
h1{
  font-size:clamp(2.7rem,4.4vw,4.4rem)}
h2{
  font-size:clamp(2.15rem,3.25vw,3.1rem)}
h3{
  font-size:1.35rem;
  line-height:1.3;
  letter-spacing:-.025em}
a:focus-visible{
  outline:3px solid var(--cyan);
  outline-offset:6px}

.wrap{
  width:min(1200px,calc(100% - 96px));
  margin-inline:auto}
.section{
  padding-block:100px}
.eyebrow{
  font-size:.875rem;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--ink-teal);
  margin-bottom:22px}
.lead{
  font-size:1.18rem;
  line-height:1.7}
.section-lead{
  font-size:1.25rem;
  line-height:1.6}
.skip-link{
  position:fixed;
  left:20px;
  top:-100px;
  z-index:10;
  background:white;
  padding:12px 20px}
.skip-link:focus{
  top:10px}

.site-header{
  background:white;
  border-bottom:1px solid var(--line)}
.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px;
  min-height:112px}
.brand{
  display:block;
  flex:0 0 142px}
.brand img{
  width:142px;
  height:auto}
.main-nav{
  display:flex;
  flex-wrap:wrap;
  gap:28px;
  align-items:center}
.main-nav a{
  font-size:.9rem;
  font-weight:600;
  text-decoration:none;
  padding-block:12px}
.main-nav a:hover{
  color:var(--ink-teal)}

.hero{
  background:var(--deep);
  color:white;
  position:relative;
  display:grid;
  grid-template-columns:1fr 1fr;
  min-height:630px}
.hero-copy{
  padding:68px 48px 68px max(48px,calc((100vw - 1200px)/2));
  align-self:center;
  position:relative;
  z-index:1}
.hero .eyebrow{
  color:#7edbe0}
.hero h1{
  margin-bottom:26px}
.hero h1 span{
  color:#71d4dc}
.hero .lead{
  max-width:530px;
  color:#cfdee7}
.hero-photo{
  position:relative;
  min-width:0}
.hero-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:72% center;
  position:absolute}
.hero-photo figcaption{
  position:absolute;
  bottom:0;
  left:0;
  background:var(--deep);
  color:#d7e6ed;
  padding:12px 24px;
  font-size:.875rem}

.actions{
  display:flex;
  align-items:center;
  gap:26px;
  flex-wrap:wrap;
  margin-top:30px}
.button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:15px 22px;
  background:var(--teal);
  color:var(--deep);
  font-weight:700;
  font-size:.95rem;
  text-decoration:none;
  min-height:50px;
  border:1px solid transparent}
.button:hover{
  background:#61d2d8}
.navy-button{
  background:var(--navy);
  color:white}
.navy-button:hover{
  background:var(--ink-teal)}
.text-link{
  font-weight:650;
  color:var(--ink-teal);
  font-size:.95rem;
  text-decoration:none;
  border-bottom:1px solid currentColor;
  padding-block:8px}
.text-link span{
  margin-left:12px}
.light-link{
  color:white}

.intro-strip{
  background:var(--ice);
  border-bottom:1px solid var(--line)}
.strip-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding-block:24px;
  gap:30px}
.strip-inner p{
  margin:0;
  font-size:.95rem;
  color:var(--muted)}
.strip-inner>a{
  display:flex;
  align-items:center;
  gap:16px;
  text-decoration:none;
  font-weight:650}
.strip-inner small{
  display:block;
  font-size:.875rem;
  font-weight:400;
  color:var(--muted)}
.strip-inner>a:hover{
  color:var(--ink-teal)}

.audit-grid{
  display:grid;
  grid-template-columns:.88fr 1.12fr;
  gap:90px;
  align-items:center}
.audit-photo img{
  height:570px;
  width:100%;
  object-fit:cover;
  object-position:center 56%}
.audit-photo figcaption{
  font-size:.875rem;
  color:var(--muted);
  padding-top:12px}
.audit-copy h2{
  margin-bottom:24px}
.audit-copy>p:not(.eyebrow){
  color:var(--muted)}
.audit-copy .section-lead{
  color:var(--text)!important}
.ruled-list{
  padding:0;
  list-style:none;
  margin:26px 0 30px}
.ruled-list li{
  border-top:1px solid var(--line);
  padding:11px 0 11px 22px;
  position:relative}
.ruled-list li:before{
  content:"";
  width:5px;
  height:5px;
  background:var(--ink-teal);
  position:absolute;
  left:0;
  top:22px}
.ruled-list li:last-child{
  border-bottom:1px solid var(--line)}

.app-feature{
  background:var(--ice);
  padding:76px 0}
.app-feature-grid{
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:80px;
  align-items:center}
.product-label{
  display:flex;
  align-items:center;
  gap:16px;
  font-size:1.25rem;
  font-weight:650;
  margin-bottom:30px}
.product-label small{
  display:block;
  font-size:.875rem;
  font-weight:400;
  color:var(--muted);
  margin-top:1px}
.app-copy h2{
  font-size:clamp(2.5rem,3.8vw,3.5rem);
  margin-bottom:25px}
.app-copy h2 span,.product-hero h1 span{
  color:var(--ink-teal)}
.app-copy>.section-lead{
  max-width:570px}
.privacy-line{
  font-size:1.05rem;
  font-weight:700;
  color:var(--ink-teal);
  margin-bottom:5px}
.app-copy>p:not(.section-lead):not(.privacy-line){
  color:var(--muted)}
.store-link{
  display:inline-block;
  line-height:0;
  max-width:100%}
.store-link img{
  object-fit:contain}
.dashboard-figure{
  text-align:center}
.app-screen{
  width:280px;
  height:auto;
  margin-inline:auto;
  border:1px solid #dce3e9;
  border-radius:25px;
  box-shadow:0 16px 32px #06172814}
.dashboard-figure figcaption{
  margin-top:18px;
  font-size:.875rem;
  color:var(--muted)}

.section-heading{
  display:grid;
  grid-template-columns:1fr 1fr;
  column-gap:80px;
  align-items:end;
  margin-bottom:46px}
.section-heading .eyebrow{
  grid-column:1/-1;
  margin-bottom:20px}
.section-heading>p:last-child{
  max-width:470px;
  margin:0;
  color:var(--muted);
  font-size:1.05rem}
.service-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:40px}
.service-grid article{
  border-top:1px solid var(--navy);
  padding-top:24px}
.service-number{
  font-size:.875rem;
  color:var(--ink-teal);
  display:block;
  margin-bottom:28px}
.service-grid h3{
  margin-bottom:14px}
.service-grid p{
  color:var(--muted);
  margin:0}

.about-section{
  background:#f4f7f9}
.operations-banner img{
  width:100%;
  height:290px;
  object-fit:cover;
  object-position:center}
.about-inner{
  display:grid;
  grid-template-columns:.7fr 1.3fr;
  gap:70px;
  padding-block:80px}
.about-inner h2{
  margin-bottom:28px}
.about-inner>div>p:not(.section-lead){
  color:var(--muted)}
.about-inner>div>p:last-child{
  margin-bottom:0}
.contact-section{
  padding-block:80px;
  background:var(--navy);
  color:white}
.contact-inner{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:80px;
  align-items:center}
.contact-section .eyebrow{
  color:#7edbe0}
.contact-section h2{
  margin-bottom:24px}
.contact-section p{
  color:#c3d3df;
  max-width:460px}
.contact-details{
  display:flex;
  align-items:flex-start;
  flex-direction:column;
  gap:20px}
.contact-email{
  font-size:clamp(1rem,2vw,1.6rem);
  font-weight:600;
  overflow-wrap:anywhere}
.contact-details p{
  font-size:.875rem;
  margin:8px 0 0}
.site-footer{
  background:var(--deep);
  color:#c3d3df;
  font-size:.875rem}
.footer-inner{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  padding-block:25px}
.footer-inner p{
  margin:0}
.footer-inner nav{
  display:flex;
  flex-wrap:wrap;
  gap:26px}
.footer-inner a{
  text-decoration:none}
.footer-inner a:hover{
  text-decoration:underline}

.product-hero{
  padding:70px 0;
  background:var(--ice)}
.product-hero-grid{
  display:grid;
  grid-template-columns:1.3fr .7fr;
  gap:70px;
  align-items:center}
.product-hero h1{
  font-size:clamp(2.8rem,4.5vw,4.3rem);
  margin-bottom:26px}
.product-hero .lead{
  max-width:550px;
  color:var(--muted);
  margin-bottom:28px}
.product-hero .app-screen{
  width:290px}
.availability{
  font-size:.875rem;
  color:var(--muted);
  margin:12px 0 0}
.product-privacy{
  border-top:1px solid #bbd7df;
  padding-top:24px;
  margin-top:32px;
  max-width:520px}
.product-privacy strong{
  color:var(--ink-teal);
  font-size:1.05rem}
.product-privacy p{
  font-size:.95rem;
  color:var(--muted);
  margin:6px 0 0}
.feature-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:30px}
.feature-grid article{
  border-top:2px solid var(--teal);
  padding-top:24px}
.feature-grid h3{
  margin-bottom:16px}
.feature-grid p{
  color:var(--muted);
  margin:0}
.discipline-section{
  background:#f4f7f9;
  padding-block:80px}
.discipline-grid{
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:100px;
  align-items:center}
.discipline-grid h2{
  margin-bottom:24px}
.discipline-grid .section-lead{
  color:var(--muted)}
.discipline-list{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0 28px;
  padding:0;
  list-style:none;
  margin:32px 0 0}
.discipline-list li{
  border-top:1px solid var(--line);
  padding-block:14px;
  font-weight:600}
.privacy-section{
  max-width:760px;
  text-align:center}
.privacy-section h2{
  margin-bottom:26px}
.privacy-section>p:not(.eyebrow):not(.section-lead){
  color:var(--muted);
  max-width:610px;
  margin-inline:auto}
.product-cta{
  background:var(--navy);
  text-align:center;
  color:white;
  padding-block:65px}
.product-cta>.wrap>img{
  margin:0 auto 24px}
.product-cta h2{
  margin-bottom:28px}
.product-cta p{
  margin:24px 0 0;
  color:#c3d3df;
  font-size:.95rem}

@media(min-width:1600px){
  .hero-copy{
  padding-right:70px}
.hero{
  min-height:670px}
}

@media(max-width:1050px){
  .wrap{
  width:calc(100% - 64px)}
.main-nav{
  gap:18px}
.hero-copy{
  padding:55px 32px}
.hero h1{
  font-size:3.2rem}
.hero .actions{
  gap:14px}
.audit-grid{
  gap:45px}
.app-feature-grid{
  gap:35px}
.contact-inner{
  gap:40px}
.feature-grid{
  grid-template-columns:repeat(2,1fr);
  gap:35px}
.discipline-grid{
  gap:45px}
.section-heading{
  gap:24px}
.product-hero-grid{
  gap:32px}
}

@media(max-width:760px){
  .wrap{
  width:calc(100% - 40px)}
.header-inner{
  min-height:0;
  gap:8px;
  flex-direction:column;
  padding:12px 0 18px}
.brand{
  flex-basis:auto}
.brand img{
  width:120px}
.main-nav{
  justify-content:center;
  gap:3px 20px}
.main-nav a{
  font-size:.875rem;
  padding-block:6px}
.hero{
  display:flex;
  flex-direction:column;
  min-height:0}
.hero-copy{
  padding:42px 20px 38px}
.hero h1{
  font-size:clamp(2.4rem,8.5vw,3.8rem)}
.hero .lead{
  font-size:1.08rem}
.hero-photo{
  height:310px}
.hero-photo img{
  object-position:68% center}
.hero-photo figcaption{
  font-size:.8rem;
  padding:9px 16px}
.eyebrow{
  font-size:.8rem;
  letter-spacing:.12em;
  margin-bottom:18px}
.actions{
  gap:20px;
  margin-top:24px}
.intro-strip .strip-inner{
  flex-direction:column;
  align-items:flex-start;
  gap:20px;
  padding-block:22px}
.strip-inner p br{
  display:none}
.strip-inner>a{
  border-top:1px solid #c4dce3;
  padding-top:18px;
  width:100%}
.section{
  padding-block:60px}
.audit-grid{
  grid-template-columns:1fr;
  gap:34px}
.audit-copy{
  grid-row:1}
.audit-photo img{
  height:420px;
  object-position:center 58%}
.audit-copy h2{
  font-size:2.1rem}
.section-lead{
  font-size:1.1rem}
.app-feature{
  padding:52px 0}
.app-feature-grid{
  grid-template-columns:1fr;
  gap:38px}
.app-copy h2{
  font-size:2.45rem}
.product-label{
  font-size:1.15rem;
  margin-bottom:24px}
.app-screen{
  width:min(280px,100%)}
.section-heading{
  display:block;
  margin-bottom:34px}
.section-heading h2{
  margin-bottom:22px}
.section-heading>p:last-child{
  font-size:1rem}
.service-grid{
  grid-template-columns:1fr;
  gap:30px}
.service-number{
  margin-bottom:12px}
.operations-banner img{
  height:180px}
.about-inner{
  grid-template-columns:1fr;
  gap:0;
  padding-block:55px}
.about-inner h2{
  font-size:2.25rem}
.contact-section{
  padding-block:55px}
.contact-inner{
  grid-template-columns:1fr;
  gap:30px}
.contact-section h2{
  font-size:2.3rem}
.contact-email{
  font-size:1.18rem}
.footer-inner{
  flex-direction:column;
  align-items:flex-start;
  gap:15px}
.footer-inner nav{
  gap:20px}
.product-hero{
  padding:40px 0 50px}
.product-hero-grid{
  grid-template-columns:1fr;
  gap:38px}
.product-hero h1{
  font-size:2.7rem}
.product-hero .lead{
  font-size:1.12rem}
.feature-grid{
  grid-template-columns:1fr;
  gap:28px}
.feature-grid article{
  padding-top:18px}
.feature-grid h3{
  margin-bottom:10px}
.discipline-section{
  padding-block:55px}
.discipline-grid{
  grid-template-columns:1fr;
  gap:35px}
.discipline-grid>div{
  grid-row:1}
.discipline-list{
  gap:0 20px;
  font-size:.95rem}
.discipline-figure .app-screen{
  width:min(280px,100%)}
.privacy-section{
  text-align:left}
.product-cta{
  padding-block:50px}
}

@media(prefers-reduced-motion:reduce){
  html{
  scroll-behavior:auto}
*,*::before,*::after{
  animation:none!important;
  transition:none!important}
}

