:root{
  --navy:#0b1628;
  --navy-light:#142238;
  --ink:#142237;
  --muted:#526173;
  --cyan:#69e2e5;
  --violet:#c0b3fc;
  --line:#dce3ea;
  --paper:#f5f7fa;
  --radius:8px;
  --text-body:1rem;
  --text-small:.875rem;
  --text-caption:.75rem}
*{
  box-sizing:border-box}
html{
  scroll-behavior:smooth;
  scroll-padding-top:100px}
body{
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--ink);
  background:#fff;
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased}
a{
  color:inherit;
  text-decoration:none}
button,input,select,textarea{
  font:inherit}
button,a,input,select,textarea{
  -webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible{
  outline:3px solid #087d91;
  outline-offset:5px}
input:focus,select:focus,textarea:focus{
  outline:2px solid #087d91;
  outline-offset:2px}
button{
  cursor:pointer}
button:disabled{
  cursor:not-allowed;
  opacity:.55}
img{
  max-width:100%;
  height:auto;
  display:block}
h1,h2,h3,p{
  margin-top:0}
h1,h2,h3{
  line-height:1.15}
h1,h2{
  letter-spacing:-.035em;
  text-wrap:balance}
h2{
  font-size:clamp(2rem,3.1vw,2.75rem);
  font-weight:600;
  margin-bottom:24px}
h3{
  font-size:1.25rem;
  letter-spacing:-.015em;
  font-weight:600}
p{
  margin-bottom:20px}
section[id]{
  scroll-margin-top:20px}
.container{
  width:min(1240px,calc(100% - 96px));
  margin-inline:auto}
.section{
  padding:100px 0}
.eyebrow{
  font-size:var(--text-caption);
  font-weight:700;
  letter-spacing:.1em;
  line-height:1.6;
  margin-bottom:24px}
.skip-link{
  position:fixed;
  top:-100px;
  left:20px;
  background:white;
  color:var(--navy);
  padding:12px 20px;
  z-index:100}
.skip-link:focus{
  top:10px}
.site-header{
  position:sticky;
  top:0;
  z-index:20;
  background:rgba(255,255,255,.96);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(15px)}
.header-inner{
  min-height:90px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px}
.brand{
  display:inline-flex;
  align-items:center;
  gap:11px;
  flex-shrink:0;
  font-size:1.65rem;
  line-height:1;
  font-weight:750;
  letter-spacing:.04em}
.brand-detail{
  display:block;
  font-size:.51rem;
  letter-spacing:.2em;
  margin-top:7px;
  font-weight:600}
nav{
  display:flex;
  align-items:center;
  gap:30px;
  font-size:.9375rem;
  font-weight:600}
nav>a:not(.button):hover{
  color:#087d91}
.button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:32px;
  background:var(--cyan);
  color:var(--navy);
  font-size:.9375rem;
  font-weight:700;
  padding:16px 23px;
  border:1px solid transparent;
  border-radius:5px;
  line-height:1.4;
  transition:background .2s,transform .2s}
.button:hover{
  background:#96eff0;
  transform:translateY(-2px)}
.button-small{
  background:var(--navy);
  color:#fff;
  padding:13px 18px;
  gap:24px;
  font-size:.875rem}
.button-small:hover{
  background:#24405b}
.menu-toggle{
  display:none;
  border:1px solid var(--line);
  background:white;
  border-radius:4px;
  padding:8px 12px}
.hero{
  background:var(--navy);
  color:#fff;
  overflow:hidden;
  position:relative}
.hero:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:radial-gradient(ellipse at 85% 40%,#1d365653,transparent 50%)}
.hero-grid{
  display:grid;
  grid-template-columns:1.14fr 1fr;
  gap:38px;
  align-items:center;
  padding-top:95px;
  padding-bottom:85px;
  position:relative}
.hero .eyebrow{
  color:#b4c7d8;
  font-size:var(--text-caption);
  letter-spacing:.1em;
  display:flex;
  align-items:center;
  gap:9px}
.status-dot{
  height:6px;
  width:6px;
  display:inline-block;
  background:var(--cyan);
  border-radius:50%;
  flex-shrink:0;
  box-shadow:0 0 14px #69e2e53b}
h1{
  font-size:clamp(2.8rem,4.15vw,3.75rem);
  font-weight:600;
  line-height:1.12;
  margin-bottom:28px}
h1>span{
  color:var(--cyan)}
.hero-description{
  font-size:1.25rem;
  line-height:1.5;
  color:#e6edf4;
  margin-bottom:18px}
.hero-support{
  color:#aebdd0;
  font-size:1.0625rem;
  max-width:520px;
  line-height:1.7}
.hero-actions{
  display:flex;
  align-items:center;
  gap:25px;
  margin-top:32px;
  flex-wrap:wrap}
.text-link{
  font-size:.9375rem;
  font-weight:600;
  display:inline-flex;
  align-items:center;
  gap:17px}
.text-link:hover{
  text-decoration:underline;
  text-underline-offset:5px}
.hero-note{
  font-size:var(--text-small);
  color:#9dacc0;
  margin-top:34px;
  display:flex;
  gap:9px;
  align-items:center}
.hero-note>span{
  color:var(--cyan);
  font-size:1rem}
.hero-visual{
  border:1px solid #ffffff12;
  border-radius:12px;
  background:linear-gradient(140deg,#20354c52,#0c162733);
  position:relative;
  min-width:0}
.visual-heading{
  flex-wrap:wrap;
  padding:22px 23px 0;
  display:flex;
  justify-content:space-between;
  gap:8px;
  align-items:center}
.visual-heading .eyebrow{
  margin:0;
  font-size:.6875rem;
  letter-spacing:.12em}
.visual-tag{
  font-size:.6875rem;
  color:#b5a7ed;
  background:#b5a7ed0a;
  border:1px solid #b5a7ed2b;
  border-radius:20px;
  padding:4px 8px}
.visual-footer{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:space-between;
  border-top:1px solid #ffffff0e;
  padding:17px 22px;
  color:#8296ae;
  font-size:.6875rem}
.visual-footer>span:first-child{
  letter-spacing:.12em;
  display:flex;
  gap:8px;
  align-items:center}
.visual-footer i{
  width:5px;
  height:5px;
  background:var(--cyan);
  border-radius:50%}
.hero-bottom{
  flex-wrap:wrap;
  border-top:1px solid #ffffff18;
  display:flex;
  justify-content:space-between;
  gap:24px;
  padding-block:22px;
  position:relative;
  font-size:var(--text-small);
  color:#9eb0c4}
.hero-bottom>span{
  color:#e0e8f1}
.hero-bottom p{
  margin:0}
.hero-bottom b{
  font-weight:400;
  margin:0 18px;
  color:#47617f}
.section-intro{
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:100px;
  align-items:end;
  margin-bottom:44px}
.section-intro h2{
  margin-bottom:0}
.section-intro>p,.section-intro>div>p:not(.eyebrow){
  color:var(--muted);
  font-size:1.0625rem;
  margin-bottom:5px;
  max-width:450px}
.capabilities .eyebrow,.about .eyebrow,.markets .eyebrow{
  color:#377080}
.capability-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px}
.capability-card{
  display:flex;
  flex-direction:column;
  padding:28px 24px 25px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  position:relative;
  background:linear-gradient(160deg,#f8fafc,#fff 60%);
  transition:border-color .2s,transform .2s}
.capability-card:hover{
  border-color:#72b7c0;
  transform:translateY(-4px)}
.card-icon{
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  border:1px solid #d5e5ec;
  background:#edf5f8;
  border-radius:8px;
  color:#21667b;
  font-size:1.8rem;
  margin-bottom:35px;
  line-height:1}
.card-number{
  position:absolute;
  right:24px;
  top:31px;
  font-family:monospace;
  font-size:var(--text-caption);
  color:#718092}
.capability-card h3{
  font-size:1.25rem;
  min-height:2.6em;
  line-height:1.3;
  margin-bottom:15px}
.capability-card p{
  font-size:var(--text-body);
  color:var(--muted);
  line-height:1.7;
  margin-bottom:30px}
.card-label{
  display:block;
  margin-top:auto;
  font-size:var(--text-small);
  font-weight:700;
  letter-spacing:.11em;
  color:#596e81}
.capability-strip{
  margin-top:24px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  display:flex;
  align-items:center;
  gap:22px;
  padding:25px 28px}
.strip-mark{
  font-size:1.6rem;
  color:#38778b}
.capability-strip h3{
  font-size:1.125rem;
  margin-bottom:8px}
.capability-strip p{
  font-size:var(--text-body);
  color:var(--muted);
  margin:0;
  max-width:710px}
.capability-strip .text-link{
  margin-left:auto;
  flex-shrink:0}
.process{
  background:var(--navy);
  color:#fff}
.process .eyebrow{
  color:var(--cyan)}
.process .section-intro>p{
  color:#aebdd0}
.process-grid{
  padding:0;
  list-style:none;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:32px;
  margin:60px 0 0}
.process-grid li{
  border-top:1px solid #344256;
  padding-top:27px;
  position:relative}
.process-grid li:before{
  content:"";
  position:absolute;
  top:-4px;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--cyan);
  box-shadow:0 0 0 6px #13263a}
.step-number{
  font-size:var(--text-caption);
  color:var(--cyan);
  font-family:monospace;
  display:block;
  margin-bottom:27px}
.process-grid h3{
  font-size:1.1875rem;
  margin-bottom:17px}
.process-grid p{
  font-size:var(--text-body);
  color:#aebdd0;
  line-height:1.7;
  margin-bottom:0}
.about-grid{
  display:grid;
  grid-template-columns:.88fr 1.12fr;
  gap:100px;
  align-items:center}
.about-panel{
  padding:35px 40px;
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:var(--radius);
  overflow:hidden;
  position:relative}
.about-panel:after{
  content:"";
  position:absolute;
  width:290px;
  height:290px;
  border:1px solid #dce4ee;
  transform:rotate(45deg);
  top:20px;
  left:150px;
  pointer-events:none}
.about-panel .eyebrow{
  font-size:var(--text-caption);
  position:relative;
  z-index:1}
.about-monogram{
  font-size:clamp(4rem,7.5vw,7rem);
  letter-spacing:-.055em;
  font-weight:700;
  line-height:1.4;
  margin:40px 0 30px;
  position:relative;
  z-index:1}
.about-monogram>span{
  color:#5b98a9;
  font-weight:300;
  margin-left:6px}
.location-label{
  display:flex;
  gap:10px;
  align-items:center;
  font-size:var(--text-small);
  font-weight:600;
  margin-bottom:17px}
.location-label .status-dot{
  background:#32798c}
.about-panel>p:last-child{
  font-size:var(--text-body);
  color:var(--muted);
  margin:0}
.about-copy>p:not(.eyebrow){
  font-size:1.0625rem;
  color:var(--muted)}
.about-values{
  border-top:1px solid var(--line);
  margin-top:30px;
  padding-top:23px;
  display:flex;
  flex-wrap:wrap;
  gap:10px 22px;
  font-size:var(--text-small);
  font-weight:600}
.about-values span:before{
  content:"✓";
  color:#27758a;
  margin-right:7px}
.markets{
  background:var(--paper);
  border-block:1px solid var(--line)}
.section-intro>div>p.market-disclosure{
  font-size:var(--text-small);
  margin-top:17px;
  line-height:1.65}
.market-grid{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:white}
.market-grid li{
  padding:24px 22px;
  font-size:var(--text-body);
  font-weight:600;
  line-height:1.5;
  border-right:1px solid var(--line)}
.market-grid li:last-child{
  border:0}
.market-grid li>span{
  display:block;
  font-size:var(--text-caption);
  color:#53798b;
  font-family:monospace;
  margin-bottom:23px}
.market-grid small{
  display:block;
  font-size:var(--text-small);
  font-weight:400;
  color:var(--muted);
  margin-top:4px}
.contact{
  background:#fff}
.contact-grid{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:90px;
  align-items:start}
.contact-copy{
  position:sticky;
  top:130px}
.contact .eyebrow{
  color:#377080}
.contact-copy>p:not(.eyebrow){
  color:var(--muted);
  font-size:1.0625rem}
.contact-email{
  display:flex;
  gap:20px;
  align-items:center;
  font-size:clamp(.95rem,1.6vw,1.25rem);
  font-weight:600;
  letter-spacing:-.025em;
  margin-top:32px;
  overflow-wrap:anywhere}
.contact-email>span{
  color:#26738a}
.contact-detail{
  margin-top:35px}
.contact-detail h3{
  font-size:var(--text-small);
  font-weight:600;
  margin-bottom:12px}
.contact-detail address{
  font-style:normal;
  font-size:var(--text-body);
  color:var(--muted);
  line-height:1.7}
.draft-note{
  display:flex;
  gap:17px;
  padding:25px 22px;
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:var(--radius);
  margin-top:35px}
.draft-note>span{
  color:#27758a}
.draft-note h3{
  font-size:var(--text-body);
  margin-bottom:12px;
  line-height:1.4}
.draft-note p{
  font-size:var(--text-small);
  color:var(--muted);
  line-height:1.7}
.draft-note p:last-child{
  margin:0}
.rfq-form{
  padding:32px;
  border:1px solid var(--line);
  border-radius:10px;
  box-shadow:0 12px 40px #10283e06;
  min-width:0}
.form-heading{
  border-bottom:1px solid var(--line);
  padding-bottom:20px;
  margin-bottom:25px}
.form-heading h3{
  font-size:1.375rem;
  margin-bottom:9px}
.form-heading p{
  font-size:var(--text-small);
  color:var(--muted);
  margin:0}
.form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px 16px}
.field{
  min-width:0}
.field.full{
  grid-column:1/-1}
label{
  display:block;
  font-size:var(--text-small);
  font-weight:600;
  margin-bottom:7px}
label span{
  font-size:var(--text-caption);
  color:var(--muted);
  font-weight:400}
input,select,textarea{
  width:100%;
  min-width:0;
  max-width:100%;
  border:1px solid #cbd4de;
  border-radius:4px;
  background:#fff;
  color:var(--ink);
  padding:11px 12px;
  font-size:var(--text-body);
  line-height:1.5;
  min-height:45px}
input::placeholder,textarea::placeholder{
  color:#68788b;
  opacity:1}
textarea{
  resize:vertical}
select{
  padding-right:25px}
.field-hint{
  font-size:var(--text-caption);
  color:var(--muted);
  line-height:1.6;
  margin:7px 0 0}
.form-submit{
  width:100%;
  justify-content:space-between;
  margin-top:25px}
.form-privacy{
  text-align:center;
  font-size:var(--text-caption);
  color:var(--muted);
  margin:12px 0 0}
.form-status{
  font-size:var(--text-small);
  color:#275c6a;
  margin:12px 0 0}
.form-status:empty{
  display:none}
.email-fallback{
  border-top:1px solid var(--line);
  margin-top:20px;
  padding-top:18px}
.email-fallback p{
  font-size:var(--text-caption);
  color:var(--muted);
  margin-bottom:9px}
.email-fallback a,.form-notice a{
  text-decoration:underline}
.copy-button{
  background:none;
  padding:0;
  border:0;
  font-size:var(--text-small);
  color:#256679;
  font-weight:600;
  display:flex;
  gap:15px}
.copy-fallback{
  margin-top:15px}
.form-notice{
  font-size:var(--text-small);
  padding:15px;
  background:var(--paper)}
.site-footer{
  background:var(--navy);
  color:#d6e0eb}
.footer-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:25px;
  padding-block:40px}
.footer-top>p{
  font-size:var(--text-body);
  margin:0;
  color:#aebdd0}
.footer-top>a:last-child{
  font-size:var(--text-small)}
.footer-bottom{
  border-top:1px solid #ffffff18;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding-block:22px;
  font-size:var(--text-caption);
  color:#9babc0}
.sr-only{
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap}
[hidden]{
  display:none!important}
.error-page{
  min-height:100vh;
  display:flex;
  flex-direction:column}
.error-main{
  flex:1;
  display:grid;
  place-items:center;
  padding-block:100px;
  text-align:center}
.error-main h1{
  color:var(--ink)}
.error-main p{
  color:var(--muted)}
.error-main .eyebrow{
  color:#377080}
.error-main .button{
  margin-top:15px}
@media(min-width:1500px){
  .hero-grid{
  padding-block:88px}
.hero h1{
  font-size:3.75rem}
}
@media(max-width:1100px){
  .container{
  width:calc(100% - 64px)}
nav{
  gap:16px}
.hero-grid{
  gap:25px}
.hero-actions{
  gap:20px}
.hero-actions .button{
  padding-inline:17px}
.hero-visual .visual-tag{
  display:none}
.section-intro{
  gap:55px}
.capability-grid{
  grid-template-columns:repeat(2,1fr)}
.capability-card h3{
  min-height:0}
.capability-card p{
  max-width:330px}
.capability-strip .text-link{
  max-width:140px}
.about-grid{
  gap:55px}
.contact-grid{
  gap:45px}
.market-grid li{
  padding:22px 16px}
.rfq-form{
  padding:25px}
}
@media(max-width:800px){
  .container{
  width:calc(100% - 40px)}
.header-inner{
  min-height:76px;
  flex-wrap:wrap;
  gap:0}
.menu-toggle:not([hidden]){
  display:block}
nav{
  width:100%;
  flex-wrap:wrap;
  justify-content:center;
  padding:15px 0 20px;
  gap:18px}
.js-ready nav{
  display:none}
.js-ready nav.is-open{
  display:flex}
.hero-grid{
  grid-template-columns:1fr;
  padding-top:60px;
  padding-bottom:45px;
  gap:45px}
.hero-copy{
  max-width:620px}
h1{
  font-size:clamp(2.8rem,7vw,3.7rem)}
.hero-visual{
  max-width:560px;
  width:100%;
  margin-inline:auto}
.hero-visual img{
  max-height:400px;
  width:100%;
  object-fit:contain}
.hero-visual .visual-tag{
  display:block}
.hero-bottom{
  flex-direction:column;
  gap:5px;
  padding-block:20px}
.hero-bottom b{
  margin:0 9px}
.section{
  padding:70px 0}
.section-intro{
  grid-template-columns:1fr;
  gap:20px;
  margin-bottom:35px}
.section-intro>p,.section-intro>div>p:not(.eyebrow){
  max-width:600px}
.process-grid{
  grid-template-columns:1fr 1fr;
  gap:38px 30px;
  margin-top:40px}
.about-grid{
  grid-template-columns:1fr;
  gap:35px}
.about-panel{
  max-width:540px;
  width:100%}
.about-monogram{
  font-size:6rem;
  margin:10px 0}
.about-panel:after{
  left:230px;
  top:-20px}
.about-copy{
  max-width:620px}
.market-grid{
  grid-template-columns:repeat(6,1fr);
  overflow:hidden}
.market-grid li{
  grid-column:span 2;
  border-bottom:1px solid var(--line)}
.market-grid li:nth-child(3){
  border-right:0}
.market-grid li:nth-child(4),.market-grid li:nth-child(5){
  grid-column:span 3;
  border-bottom:0}
.contact-grid{
  grid-template-columns:1fr;
  gap:35px}
.contact-copy{
  position:static}
.contact-copy>p{
  max-width:570px}
.draft-note{
  max-width:600px}
.contact-email{
  font-size:1.2rem}
.footer-top{
  flex-wrap:wrap}
.footer-bottom{
  flex-wrap:wrap}
.footer-bottom>span:nth-child(2){
  display:none}
.eyebrow{
  margin-bottom:17px}
}
@media(max-width:480px){
  .hero .eyebrow{
  font-size:var(--text-caption);
  letter-spacing:.09em}
h1{
  font-size:clamp(2rem,8.6vw,2.63rem)}
.hero-description{
  font-size:1.1rem}
.hero-support{
  font-size:1.0625rem}
.hero-actions{
  gap:22px}
.hero-note{
  font-size:var(--text-small)}
.visual-heading{
  flex-wrap:wrap;
  padding:18px 14px 0}
.visual-footer{
  padding:14px;
  font-size:.6875rem}
.visual-tag{
  font-size:.6875rem}
.hero-bottom{
  font-size:var(--text-small)}
.hero-bottom b{
  margin:0 5px}
.capability-grid{
  grid-template-columns:1fr}
.capability-card{
  display:flex;
  flex-direction:column;
  padding:24px}
.card-icon{
  margin-bottom:23px}
.capability-card p{
  margin-bottom:20px}
.capability-strip{
  flex-wrap:wrap;
  padding:22px;
  gap:14px}
.strip-mark{
  display:none}
.capability-strip .text-link{
  margin:0;
  max-width:none}
.process-grid{
  grid-template-columns:1fr;
  gap:32px}
.step-number{
  margin-bottom:16px}
.about-panel{
  padding:28px}
.about-panel .eyebrow{
  font-size:var(--text-caption)}
.market-grid{
  grid-template-columns:1fr}
.market-grid li{
  grid-column:auto!important;
  border-right:0;
  border-bottom:1px solid var(--line)!important;
  display:flex;
  align-items:baseline;
  gap:13px;
  flex-wrap:wrap;
  padding:18px 22px}
.market-grid li:last-child{
  border-bottom:0!important}
.market-grid li>span{
  margin:0}
.market-grid small{
  margin:0}
.rfq-form{
  padding:22px 18px}
.form-grid{
  grid-template-columns:1fr;
  gap:17px}
input,select,textarea{
  font-size:var(--text-body)}
.footer-top{
  flex-direction:column;
  align-items:flex-start;
  gap:22px}
.footer-bottom{
  font-size:var(--text-caption)}
.contact-email{
  font-size:1.1rem}
.about-values{
  gap:12px 20px}
nav.is-open{
  align-items:stretch;
  flex-direction:column}
nav>a{
  padding:9px 5px}
nav>a.button{
  padding:13px 18px}
}
@media(prefers-reduced-motion:reduce){
  html{
  scroll-behavior:auto}
*,*:before,*:after{
  animation:none!important;
  transition:none!important}
}

@media(max-width:480px){
  .about-monogram{
  font-size:clamp(3.5rem,17vw,5rem)}
}


@media(max-width:1100px){
  .hero-actions{
  align-items:flex-start;
  flex-direction:column}
.hero-bottom b{
  margin-inline:8px}
}

@media(max-width:800px){
  .hero-actions{
  flex-direction:row;
  align-items:center}
.hero-note{
  align-items:flex-start}
.hero .eyebrow{
  line-height:1.7}
.contact-copy{
  position:static}
}

