
:root{
  --ink:#050b12;
  --navy:#07111d;
  --navy-2:#0a1725;
  --navy-3:#102338;
  --orange:#ff5a00;
  --orange-soft:#ff7a26;
  --white:#f7f9fc;
  --muted:#aeb9c8;
  --muted-2:#7e8b9c;
  --line:rgba(255,255,255,.11);
  --line-strong:rgba(255,255,255,.2);
  --max:1180px;
  --shadow:0 24px 70px rgba(0,0,0,.34);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--white);
  background:
    radial-gradient(circle at 85% 4%,rgba(255,90,0,.08),transparent 18rem),
    linear-gradient(180deg,#07111d 0%,#050b12 100%);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input,textarea,select{font:inherit}
.container{width:min(calc(100% - 40px),var(--max));margin:auto}
.narrow{max-width:880px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Navigation */
.site-header{
  position:sticky;top:0;z-index:100;
  background:rgba(5,11,18,.88);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(18px);
}
.nav-shell{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.brand{display:inline-flex;align-items:center;gap:11px}
.brand-mark{width:42px;height:42px;object-fit:contain}
.brand-word{font-weight:900;letter-spacing:.13em;font-size:1.05rem}
.primary-nav{display:flex;align-items:center;gap:28px;font-size:.86rem;text-transform:uppercase;letter-spacing:.08em}
.primary-nav>a:not(.nav-cta){position:relative;color:#d0d8e3;padding:27px 0}
.primary-nav>a:not(.nav-cta)::after{
  content:"";position:absolute;left:0;right:100%;bottom:18px;height:2px;background:var(--orange);transition:.2s ease
}
.primary-nav>a:hover,.primary-nav>a.active{color:white}
.primary-nav>a:hover::after,.primary-nav>a.active::after{right:0}
.nav-cta,.btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:46px;padding:0 20px;border-radius:3px;
  text-transform:uppercase;letter-spacing:.08em;font-size:.82rem;font-weight:800;
  transition:.2s ease;border:1px solid transparent;cursor:pointer
}
.nav-cta,.btn-primary{background:var(--orange);color:white}
.nav-cta:hover,.btn-primary:hover{background:#ff6a14;transform:translateY(-1px)}
.menu-toggle{display:none;background:transparent;border:0;width:42px;height:42px;padding:8px}
.menu-toggle span:not(.sr-only){display:block;height:2px;background:white;margin:6px 0}

/* Hero */
.hero{position:relative;min-height:690px;display:grid;align-items:stretch;overflow:hidden;border-bottom:1px solid var(--line)}
.hero-media{
  position:absolute;inset:0;
  background-image:url("../images/vectoris-hero.jpg");
  background-position:center right;
  background-size:cover;
  filter:saturate(.95) contrast(1.02);
}
.hero-media::after{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(5,11,18,1) 0%,rgba(5,11,18,.95) 26%,rgba(5,11,18,.55) 51%,rgba(5,11,18,.05) 80%),
    linear-gradient(180deg,rgba(4,10,17,.05),rgba(4,10,17,.34));
}
.hero-shade{position:absolute;inset:0;background:radial-gradient(circle at 78% 40%,rgba(255,90,0,.08),transparent 22%)}
.hero-inner{position:relative;z-index:2;display:flex;align-items:center;padding-top:48px;padding-bottom:56px}
.hero-copy{max-width:610px}
.eyebrow{
  color:var(--orange-soft);font-weight:800;text-transform:uppercase;
  letter-spacing:.22em;font-size:.76rem;margin-bottom:16px
}
.hero h1,.page-hero h1{
  margin:0;letter-spacing:-.045em;line-height:.93;
  font-size:clamp(3.5rem,7vw,6.8rem);font-weight:900
}
.hero h1 span{color:var(--orange);display:inline-block;font-size:.46em;letter-spacing:.1em;margin-top:18px;text-transform:uppercase}
.hero-lead{max-width:620px;color:#d7dfe8;font-size:1.18rem;margin:28px 0 32px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.btn-ghost{border-color:var(--line-strong);background:rgba(7,17,29,.44);color:white}
.btn-ghost:hover{border-color:rgba(255,255,255,.38);background:rgba(255,255,255,.06)}

/* Trust strip */
.trust-strip{background:#07101a;border-bottom:1px solid var(--line)}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.trust-item{display:flex;gap:16px;align-items:flex-start;padding:28px 26px;border-right:1px solid var(--line)}
.trust-item:first-child{border-left:1px solid var(--line)}
.trust-item strong{display:block;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;margin-bottom:5px}
.trust-item small{display:block;color:var(--muted);font-size:.86rem;line-height:1.45}
.line-icon{color:var(--orange);font-weight:800;font-size:1.45rem;min-width:28px}

/* General sections */
.section{padding:96px 0}
.section-dark{background:linear-gradient(180deg,#08121e,#050b12);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.split{display:grid;grid-template-columns:.8fr 1.2fr;gap:86px;align-items:start}
h2{font-size:clamp(2rem,4vw,3.4rem);line-height:1.05;letter-spacing:-.035em;margin:0 0 20px}
h3{font-size:1.25rem;line-height:1.25;margin:0 0 12px}
.prose{font-size:1.06rem;color:#c4cfdb}
.prose p:first-child{margin-top:0}
.prose p{margin:0 0 22px}
.text-link,.card>a{color:var(--orange-soft);font-weight:750}
.section-heading{max-width:760px;margin-bottom:42px}
.section-heading p{color:var(--muted);font-size:1.05rem;margin-bottom:0}
.cards{display:grid;gap:22px}
.cards.three{grid-template-columns:repeat(3,1fr)}
.cards.two{grid-template-columns:repeat(2,1fr)}
.card{
  position:relative;padding:30px;border:1px solid var(--line);
  background:linear-gradient(145deg,rgba(17,39,61,.62),rgba(8,18,30,.72));
  box-shadow:0 16px 45px rgba(0,0,0,.12);overflow:hidden
}
.card::before{
  content:"";position:absolute;left:0;top:0;width:78px;height:2px;background:linear-gradient(90deg,var(--orange),transparent)
}
.card-number{display:block;color:var(--orange);font-size:.78rem;letter-spacing:.15em;margin-bottom:34px}
.card p{color:var(--muted);margin:0 0 22px}
.statement{background:linear-gradient(90deg,rgba(255,90,0,.09),transparent 42%)}
.statement-inner{display:flex;align-items:end;justify-content:space-between;gap:40px}
.statement-inner>div{max-width:760px}
.statement p{color:var(--muted);font-size:1.05rem;margin-bottom:0}

/* Interior page hero */
.page-hero{padding:112px 0 84px;border-bottom:1px solid var(--line);background:
  linear-gradient(90deg,rgba(255,90,0,.055),transparent 40%),
  radial-gradient(circle at 80% 20%,rgba(30,82,138,.11),transparent 27%)}
.page-hero.compact{padding-bottom:68px}
.page-hero h1{font-size:clamp(3rem,6vw,5.4rem)}
.page-hero p{font-size:1.16rem;color:#c7d1dc;max-width:760px;margin:26px 0 0}

/* Capabilities */
.capability-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.capability{background:#07111d;padding:42px}
.cap-icon{color:var(--orange);font-size:.8rem;letter-spacing:.16em;margin-bottom:26px}
.capability h2{font-size:1.7rem;margin-bottom:14px}
.capability p{color:var(--muted);margin:0}

/* Applications */
.application-cards{align-items:stretch}
.application-card h2{font-size:1.8rem;margin-top:10px}
.app-tag{display:inline-block;color:var(--orange);font-size:.74rem;text-transform:uppercase;letter-spacing:.16em;font-weight:800}
.application-card ul{padding-left:18px;color:#c7d1db;margin:22px 0 0}
.application-card li{margin:8px 0}
.application-card li::marker{color:var(--orange)}

/* About */
.values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line)}
.value{padding:34px;background:#07111d}
.value>span{color:var(--orange);font-size:.78rem;letter-spacing:.15em}
.value h3{margin-top:26px}
.value p{color:var(--muted);margin-bottom:0}

/* Contact */
.contact-section{padding-top:74px}
.contact-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:46px;align-items:start}
.contact-panel{padding:10px 10px 0 0}
.contact-panel>p{color:var(--muted)}
.contact-list{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);margin:34px 0}
.contact-list a{display:flex;align-items:center;gap:16px;background:#091523;padding:18px}
.contact-list a>span{color:var(--orange);font-size:1.2rem;width:28px;text-align:center}
.contact-list small{display:block;color:var(--muted-2);text-transform:uppercase;letter-spacing:.12em;font-size:.68rem}
.contact-list strong{display:block;margin-top:2px;font-size:.95rem}
.aus-box{display:flex;gap:15px;align-items:center;border-top:1px solid var(--line);padding-top:24px}
.aus-box small{display:block;color:var(--muted);margin-top:2px}
.aus-icon{
  display:inline-grid;place-items:center;min-width:48px;height:34px;border-radius:2px;
  background:var(--orange);color:white;font-weight:900;letter-spacing:.05em;font-size:.76rem
}
.form-card{border:1px solid var(--line);background:rgba(10,23,37,.72);padding:34px;box-shadow:var(--shadow)}
.contact-form{display:grid;gap:20px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.contact-form label>span{display:block;margin-bottom:8px;color:#d9e0e8;font-size:.84rem;font-weight:700}
.contact-form input,.contact-form textarea,.contact-form select{
  width:100%;border:1px solid rgba(255,255,255,.14);background:#07111d;color:white;
  padding:13px 14px;outline:none;border-radius:2px;transition:.18s ease
}
.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(255,90,0,.09)}
.contact-form textarea{resize:vertical;min-height:170px}
.check{display:flex;gap:10px;align-items:flex-start}
.check input{width:auto;margin-top:4px}
.check span{margin:0!important;color:var(--muted)!important;font-weight:400!important}
.form-submit{width:max-content}
.form-note{color:var(--muted-2);font-size:.8rem;margin:0}
.hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.notice{padding:14px 16px;margin-bottom:20px;border-left:3px solid}
.notice.success{background:rgba(36,176,103,.1);border-color:#24b067;color:#dff8e9}
.notice.error{background:rgba(230,76,76,.1);border-color:#e64c4c;color:#ffdede}

/* Footer */
.site-footer{border-top:1px solid var(--line);background:#04090f;padding:58px 0 22px}
.footer-grid{display:grid;grid-template-columns:1.5fr .6fr .9fr;gap:64px}
.footer-brand{margin-bottom:17px}
.footer-copy{color:var(--muted);max-width:410px}
.australian-line{display:flex;align-items:center;gap:12px;margin-top:24px;color:#dbe2ea;font-size:.87rem}
.footer-links,.footer-contact{display:flex;flex-direction:column;gap:10px}
.footer-links strong,.footer-contact strong{margin-bottom:6px;text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;color:white}
.footer-links a,.footer-contact a{color:var(--muted);font-size:.9rem}
.footer-links a:hover,.footer-contact a:hover{color:white}
.footer-bottom{border-top:1px solid var(--line);margin-top:46px;padding-top:20px;display:flex;justify-content:space-between;gap:20px;color:#758295;font-size:.78rem}

/* Responsive */
@media(max-width:960px){
  .menu-toggle{display:block}
  .primary-nav{
    position:absolute;left:0;right:0;top:76px;display:none;flex-direction:column;align-items:stretch;gap:0;
    padding:14px 20px 22px;background:rgba(5,11,18,.98);border-bottom:1px solid var(--line)
  }
  .primary-nav.open{display:flex}
  .primary-nav>a:not(.nav-cta){padding:14px 0}
  .primary-nav>a:not(.nav-cta)::after{display:none}
  .nav-cta{margin-top:10px}
  .hero{min-height:650px}
  .hero-media{background-position:62% center}
  .hero-media::after{background:linear-gradient(90deg,rgba(5,11,18,.98) 0%,rgba(5,11,18,.88) 46%,rgba(5,11,18,.34) 100%)}
  .trust-grid{grid-template-columns:repeat(2,1fr)}
  .trust-item:nth-child(odd){border-left:1px solid var(--line)}
  .split,.contact-grid{grid-template-columns:1fr;gap:45px}
  .cards.three{grid-template-columns:1fr}
  .values-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
  .footer-grid>div:first-child{grid-column:1/-1}
}
@media(max-width:680px){
  .container{width:min(calc(100% - 28px),var(--max))}
  .hero{min-height:650px}
  .hero-media{background-position:70% center}
  .hero-media::after{background:linear-gradient(180deg,rgba(5,11,18,.82),rgba(5,11,18,.98) 82%)}
  .hero-inner{align-items:flex-end;padding-bottom:48px}
  .hero h1{font-size:3.45rem}
  .hero-lead{font-size:1rem}
  .trust-grid{grid-template-columns:1fr}
  .trust-item,.trust-item:first-child,.trust-item:nth-child(odd){border-left:1px solid var(--line)}
  .section{padding:70px 0}
  .page-hero{padding:82px 0 62px}
  .capability-grid,.cards.two,.values-grid,.form-row{grid-template-columns:1fr}
  .capability{padding:30px}
  .statement-inner{align-items:flex-start;flex-direction:column}
  .form-card{padding:23px}
  .footer-grid{grid-template-columns:1fr;gap:36px}
  .footer-grid>div:first-child{grid-column:auto}
  .footer-bottom{flex-direction:column}
}


/* =========================================================
   OCTOBER 2026 VISUAL REFINEMENT
   Tighter flow, broader headings, stronger integrated branding
   ========================================================= */

:root{
  --max:1240px;
}

/* Header / logo */
.nav-shell{
  min-height:82px;
}
.brand{
  flex:0 0 auto;
  overflow:hidden;
}
.brand-lockup{
  width:246px;
  height:64px;
  object-fit:cover;
  object-position:left center;
  border:0;
  border-radius:0;
  mix-blend-mode:normal;
  filter:none;
  -webkit-mask-image:linear-gradient(90deg,#000 0%,#000 88%,transparent 100%);
  mask-image:linear-gradient(90deg,#000 0%,#000 88%,transparent 100%);
}
.primary-nav{
  gap:24px;
}
.primary-nav>a:not(.nav-cta){
  padding:30px 0;
}
.primary-nav>a:not(.nav-cta)::after{
  bottom:20px;
}
.nav-cta{
  min-height:44px;
  padding-inline:18px;
}

/* Home hero - slightly tighter and more polished */
.hero{
  min-height:620px;
}
.hero-inner{
  padding-top:40px;
  padding-bottom:44px;
}
.hero-copy{
  max-width:650px;
}
.hero h1{
  font-size:clamp(3.35rem,6vw,6rem);
}
.hero-lead{
  margin:22px 0 28px;
  max-width:600px;
}

/* Interior page headers:
   smaller, wider and less vertically dominant */
.page-hero{
  padding:68px 0 54px;
}
.page-hero.compact{
  padding:62px 0 48px;
}
.page-hero .narrow{
  max-width:1080px;
  margin-left:0;
}
.page-hero h1{
  max-width:1080px;
  font-size:clamp(2.45rem,4.4vw,4.3rem);
  line-height:1.02;
  letter-spacing:-.035em;
}
.page-hero p{
  max-width:930px;
  margin-top:18px;
  font-size:1.08rem;
  line-height:1.65;
}

/* Section rhythm - tighter, more continuous */
.section{
  padding:68px 0;
}
.section-heading{
  margin-bottom:32px;
}
.section-dark{
  border-top-color:rgba(255,255,255,.08);
  border-bottom-color:rgba(255,255,255,.08);
}
.split{
  gap:62px;
}
.cards{
  gap:16px;
}
.card{
  padding:26px;
}
.capability{
  padding:34px 36px;
}
.capability h2{
  font-size:1.55rem;
}
.values-grid .value{
  padding:30px;
}
.statement-inner{
  align-items:center;
}
.statement{
  padding-top:58px;
  padding-bottom:58px;
}
.contact-section{
  padding-top:54px;
}

/* Slightly more compact footer */
.site-footer{
  padding-top:46px;
}
.footer-grid{
  gap:50px;
}
.footer-lockup{
  width:220px;
  height:58px;
}
.footer-bottom{
  margin-top:34px;
}

/* Better visual continuity between major blocks */
.trust-strip + .section{
  padding-top:62px;
}
.section + .section{
  margin-top:-1px;
}

/* Responsive refinement */
@media(max-width:1060px){
  .brand-lockup{
    width:210px;
    height:58px;
  }
  .primary-nav{
    gap:18px;
    font-size:.8rem;
  }
}
@media(max-width:960px){
  .nav-shell{
    min-height:74px;
  }
  .brand-lockup{
    width:200px;
    height:54px;
  }
  .primary-nav{
    top:74px;
  }
  .page-hero .narrow{
    max-width:none;
  }
}
@media(max-width:680px){
  .section{
    padding:54px 0;
  }
  .page-hero{
    padding:58px 0 44px;
  }
  .page-hero.compact{
    padding:54px 0 40px;
  }
  .page-hero h1{
    font-size:clamp(2.2rem,10vw,3.4rem);
    line-height:1.04;
  }
  .page-hero p{
    font-size:1rem;
    line-height:1.58;
  }
  .hero{
    min-height:590px;
  }
  .hero h1{
    font-size:3.1rem;
  }
  .brand-lockup{
    width:185px;
    height:50px;
  }
  .card,
  .capability{
    padding:24px;
  }
}


/* LOGO SIZE / BLENDING REFINEMENT */
.nav-shell{
  min-height:72px;
}
.brand{
  display:inline-flex;
  align-items:center;
  line-height:0;
}
.brand-lockup{
  width:auto;
  height:auto;
  max-width:150px;
  max-height:100px;
  object-fit:contain;
  object-position:left center;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  filter:none;
  -webkit-mask-image:none;
  mask-image:none;
}
.footer-lockup{
  max-width:145px;
  max-height:90px;
}
.primary-nav>a:not(.nav-cta){
  padding:25px 0;
}
.primary-nav>a:not(.nav-cta)::after{
  bottom:17px;
}
@media(max-width:960px){
  .nav-shell{min-height:68px}
  .primary-nav{top:68px}
  .brand-lockup{
    max-width:138px;
    max-height:84px;
  }
}
@media(max-width:680px){
  .brand-lockup{
    max-width:126px;
    max-height:78px;
  }
}


/* FULL-WIDTH LAYOUT REFINEMENT */
:root{
  --page-pad: clamp(22px, 3.2vw, 64px);
}

/* Let the site span the full browser width while retaining edge breathing room */
.container{
  width:100%;
  max-width:none;
  margin:0;
  padding-left:var(--page-pad);
  padding-right:var(--page-pad);
}

.narrow{
  max-width:none;
}

.page-hero .narrow{
  max-width:none;
  width:100%;
}

.page-hero h1{
  max-width:1200px;
}

.page-hero p{
  max-width:1050px;
}

/* Let major content compositions make proper use of widescreen space */
.hero-copy{
  max-width:720px;
}

.split{
  grid-template-columns:minmax(340px,.8fr) minmax(520px,1.2fr);
}

.section-heading{
  max-width:920px;
}

.statement-inner>div{
  max-width:900px;
}

/* Keep very wide screens readable without visually boxing the page */
@media(min-width:1600px){
  :root{
    --page-pad:72px;
  }

  .hero-copy{
    max-width:760px;
  }

  .page-hero h1{
    max-width:1360px;
  }

  .page-hero p{
    max-width:1180px;
  }
}

@media(max-width:960px){
  .split{
    grid-template-columns:1fr;
  }
}

@media(max-width:680px){
  :root{
    --page-pad:16px;
  }

  .container{
    width:100%;
    padding-left:var(--page-pad);
    padding-right:var(--page-pad);
  }
}


/* SHORT HOMEPAGE REFINEMENT */
body:has(.hero) .trust-strip{
  border-bottom:0;
}
body:has(.hero) .site-footer{
  margin-top:0;
}
@media(min-width:961px){
  .hero{
    min-height:580px;
  }
}


/* TYPOGRAPHY SCALE REFINEMENT
   Reduced headline scale for a more restrained defence/corporate look. */
.hero h1{
  font-size:clamp(2.65rem,4.5vw,4.55rem);
  line-height:.98;
  letter-spacing:-.035em;
}

.hero h1 span{
  font-size:.50em;
  letter-spacing:.09em;
  margin-top:12px;
}

.hero-lead{
  font-size:1.05rem;
  line-height:1.58;
  max-width:620px;
}

.page-hero h1{
  font-size:clamp(2.15rem,3.5vw,3.55rem);
  line-height:1.06;
  max-width:1250px;
}

.page-hero p{
  font-size:1.02rem;
  line-height:1.62;
}

h2{
  font-size:clamp(1.75rem,2.8vw,2.75rem);
  line-height:1.08;
}

.section-heading h2{
  max-width:1000px;
}

@media(max-width:680px){
  .hero h1{
    font-size:2.65rem;
  }

  .hero h1 span{
    font-size:.52em;
  }

  .page-hero h1{
    font-size:2.3rem;
  }

  h2{
    font-size:1.9rem;
  }
}


/* COMPACT FOOTER REFINEMENT */
.site-footer{
  padding:24px 0 14px;
  background:#04090f;
}

.footer-compact{
  display:grid;
  grid-template-columns:1.15fr auto 1fr;
  gap:26px;
  align-items:center;
}

.footer-summary{
  display:flex;
  flex-direction:column;
  gap:3px;
  min-width:0;
}

.footer-summary strong{
  font-size:.88rem;
  letter-spacing:.16em;
}

.footer-summary span{
  color:var(--muted);
  font-size:.78rem;
  line-height:1.35;
}

.footer-summary .footer-aus{
  color:#cfd7e1;
  font-size:.72rem;
}

.footer-links{
  display:flex;
  flex-direction:row;
  flex-wrap:wrap;
  gap:10px 16px;
  justify-content:center;
}

.footer-links a{
  font-size:.76rem;
  color:var(--muted);
  white-space:nowrap;
}

.footer-contact-inline{
  display:flex;
  flex-direction:column;
  gap:4px;
  align-items:flex-end;
}

.footer-contact-inline a{
  color:var(--muted);
  font-size:.76rem;
  white-space:nowrap;
}

.footer-links a:hover,
.footer-contact-inline a:hover{
  color:white;
}

.footer-bottom.compact-bottom{
  margin-top:16px;
  padding-top:10px;
  font-size:.68rem;
}

@media(max-width:980px){
  .footer-compact{
    grid-template-columns:1fr 1fr;
    align-items:start;
  }

  .footer-summary{
    grid-column:1/-1;
  }

  .footer-links{
    justify-content:flex-start;
  }

  .footer-contact-inline{
    align-items:flex-end;
  }
}

@media(max-width:680px){
  .site-footer{
    padding-top:20px;
  }

  .footer-compact{
    grid-template-columns:1fr;
    gap:16px;
  }

  .footer-links{
    justify-content:flex-start;
  }

  .footer-contact-inline{
    align-items:flex-start;
  }

  .footer-bottom.compact-bottom{
    margin-top:12px;
    gap:4px;
  }
}


/* V-ONLY HEADER LOGO REFINEMENT */
.nav-shell{
  min-height:70px;
}

.brand{
  display:inline-flex;
  align-items:center;
  gap:10px;
  overflow:visible;
}

.brand-v{
  width:auto;
  height:auto;
  max-width:78px;
  max-height:62px;
  object-fit:contain;
  background:transparent;
  border:0;
  box-shadow:none;
  filter:drop-shadow(0 3px 9px rgba(0,0,0,.22));
}

.brand-word{
  display:inline-block;
  color:#f7f9fc;
  font-size:1.05rem;
  font-weight:900;
  letter-spacing:.13em;
  line-height:1;
}

@media(max-width:960px){
  .brand-v{
    max-width:68px;
    max-height:54px;
  }
  .brand-word{
    font-size:.96rem;
  }
}

@media(max-width:680px){
  .brand-v{
    max-width:60px;
    max-height:48px;
  }
  .brand-word{
    font-size:.88rem;
  }
}


/* WIDTH REBALANCE - 20 PERCENT NARROWER
   Keeps the hero background full bleed, while narrowing the page content. */
:root{
  --content-width:80vw;
  --content-max:1280px;
  --content-min-pad:24px;
}

/* Main content blocks */
.container{
  width:min(var(--content-width), var(--content-max));
  margin-left:auto;
  margin-right:auto;
  padding-left:0;
  padding-right:0;
}

/* Keep the hero artwork itself full width, but constrain its text/content */
.hero{
  width:100%;
}
.hero .container{
  width:min(var(--content-width), var(--content-max));
}

/* Keep navigation/header content aligned to the same narrower page width */
.nav-shell{
  width:min(var(--content-width), var(--content-max));
  margin-left:auto;
  margin-right:auto;
}

/* Footer follows same alignment */
.site-footer .container{
  width:min(var(--content-width), var(--content-max));
}

/* Interior page headers */
.page-hero .container{
  width:min(var(--content-width), var(--content-max));
}

/* Make wide cards and split layouts feel balanced at the narrower width */
.split{
  grid-template-columns:minmax(300px,.82fr) minmax(460px,1.18fr);
  gap:54px;
}

.capability-grid,
.cards,
.values-grid,
.contact-grid{
  width:100%;
}

/* Large screens */
@media(min-width:1600px){
  :root{
    --content-width:78vw;
    --content-max:1320px;
  }
}

/* Tablets */
@media(max-width:1100px){
  :root{
    --content-width:88vw;
  }

  .split{
    grid-template-columns:1fr;
    gap:38px;
  }
}

/* Mobile */
@media(max-width:680px){
  :root{
    --content-width:calc(100vw - 28px);
  }

  .container,
  .nav-shell,
  .site-footer .container,
  .page-hero .container,
  .hero .container{
    width:var(--content-width);
  }
}


/* FINAL FOOTER / CAPABILITIES / LOGO REFINEMENT */

/* Clean V-only mark: about 20% larger, no white halo or box. */
.brand-v{
  width:auto;
  height:auto;
  max-width:94px;
  max-height:74px;
  object-fit:contain;
  background:transparent;
  border:0;
  box-shadow:none;
  filter:drop-shadow(0 3px 8px rgba(0,0,0,.20));
}

.brand{
  gap:11px;
}

.brand-word{
  font-size:1.08rem;
}

/* Capabilities uses the same polished two-column box treatment as Applications. */
.application-cards{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}

.application-card{
  min-height:100%;
}

/* Minimal footer only. */
.site-footer.minimal-footer{
  padding:12px 0;
  border-top:1px solid rgba(255,255,255,.08);
  background:#04090f;
}

.minimal-footer-inner{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  color:#7f8b9a;
  font-size:.72rem;
  line-height:1.3;
}

@media(max-width:960px){
  .brand-v{
    max-width:82px;
    max-height:66px;
  }
}

@media(max-width:680px){
  .brand-v{
    max-width:72px;
    max-height:58px;
  }

  .application-cards{
    grid-template-columns:1fr;
  }

  .minimal-footer-inner{
    flex-direction:column;
    align-items:flex-start;
    gap:3px;
  }
}


/* MATCH INTERIOR PAGE SPACING TO HOME
   Use the same tighter vertical rhythm and content spacing as the homepage. */

/* Interior hero spacing */
.page-hero{
  padding-top:44px;
  padding-bottom:40px;
}

.page-hero.compact{
  padding-top:40px;
  padding-bottom:36px;
}

.page-hero .eyebrow{
  margin-bottom:12px;
}

.page-hero h1{
  margin-bottom:0;
}

.page-hero p{
  margin-top:14px;
  margin-bottom:0;
}

/* Standard content sections now follow the same compact rhythm as Home */
.section{
  padding-top:52px;
  padding-bottom:52px;
}

.section-heading{
  margin-bottom:26px;
}

.section-heading .eyebrow{
  margin-bottom:10px;
}

.section-heading h2{
  margin-bottom:14px;
}

/* Tighter content-to-content transitions */
.section + .section{
  margin-top:0;
}

.page-hero + .section{
  padding-top:48px;
}

/* Match card spacing to the homepage cards */
.cards,
.application-cards,
.capability-grid{
  gap:14px;
}

.card,
.application-card,
.capability{
  padding:24px;
}

.card-number,
.cap-icon{
  margin-bottom:22px;
}

/* Split sections should flow like the home page */
.split{
  gap:48px;
}

.split h2{
  margin-bottom:14px;
}

.prose p{
  margin-bottom:16px;
}

/* Statement / CTA blocks */
.statement{
  padding-top:46px;
  padding-bottom:46px;
}

.statement h2{
  margin-bottom:12px;
}

.statement p{
  margin-top:0;
}

/* Contact page alignment */
.contact-section{
  padding-top:46px;
  padding-bottom:52px;
}

.contact-grid{
  gap:38px;
}

/* About/value blocks */
.values-grid{
  gap:1px;
}

.value{
  padding:24px;
}

/* Keep footer tucked close to the final content block */
.site-footer.minimal-footer{
  margin-top:0;
}

/* Tablet */
@media(max-width:960px){
  .page-hero{
    padding-top:40px;
    padding-bottom:34px;
  }

  .section{
    padding-top:46px;
    padding-bottom:46px;
  }

  .split{
    gap:34px;
  }
}

/* Mobile */
@media(max-width:680px){
  .page-hero{
    padding-top:34px;
    padding-bottom:30px;
  }

  .page-hero.compact{
    padding-top:32px;
    padding-bottom:28px;
  }

  .section{
    padding-top:38px;
    padding-bottom:38px;
  }

  .page-hero + .section{
    padding-top:36px;
  }

  .card,
  .application-card,
  .capability,
  .value{
    padding:21px;
  }

  .statement{
    padding-top:38px;
    padding-bottom:38px;
  }

  .contact-section{
    padding-top:36px;
    padding-bottom:40px;
  }
}


/* CONSISTENT INTERIOR PAGE WIDTH
   Force Capabilities, Applications, About and Contact to match Home / What Vectoris Does. */

:root{
  --site-content-width:80vw;
  --site-content-max:1280px;
}

/* All standard containers use the same centred width */
.container{
  width:min(var(--site-content-width), var(--site-content-max)) !important;
  max-width:none !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
}

/* Explicitly constrain all main interior page sections */
.page-hero > .container,
.section > .container,
.contact-section > .container,
.site-footer > .container,
.site-header .nav-shell{
  width:min(var(--site-content-width), var(--site-content-max)) !important;
  max-width:none !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Keep actual section backgrounds full-bleed, only constrain content */
.page-hero,
.section,
.section-dark,
.statement,
.contact-section,
.site-footer{
  width:100%;
}

/* Interior content grids remain inside the constrained parent */
.capability-grid,
.application-cards,
.cards,
.values-grid,
.contact-grid,
.split,
.statement-inner{
  width:100%;
  max-width:100%;
}

/* Home / What Vectoris Does continue using the same width */
.hero .container{
  width:min(var(--site-content-width), var(--site-content-max)) !important;
}

@media(min-width:1600px){
  :root{
    --site-content-width:78vw;
    --site-content-max:1320px;
  }
}

@media(max-width:1100px){
  :root{
    --site-content-width:88vw;
  }
}

@media(max-width:680px){
  :root{
    --site-content-width:calc(100vw - 28px);
  }
}


/* SINGLE-FLOW INTERIOR PAGE REFINEMENT
   Internal pages now use one continuous content body instead of stacked horizontal bands. */

.unified-content{
  background:
    radial-gradient(circle at 85% 10%, rgba(255,90,0,.045), transparent 22rem),
    linear-gradient(180deg,#07111d 0%,#06101a 100%);
  border-top:1px solid rgba(255,255,255,.07);
  border-bottom:0;
}

.unified-content .container{
  display:block;
}

/* Intro content flows into cards without a separate visual band */
.flow-intro{
  display:grid;
  grid-template-columns:minmax(280px,.8fr) minmax(460px,1.2fr);
  gap:48px;
  align-items:start;
  margin-bottom:34px;
  padding-bottom:30px;
  border-bottom:1px solid rgba(255,255,255,.07);
}

.flow-intro h2{
  margin-bottom:0;
}

.flowing-cards,
.flowing-values{
  margin-top:0;
}

/* Cards sit on one continuous canvas */
.unified-content .card,
.unified-content .value,
.unified-content .form-card,
.unified-content .contact-list a{
  background:rgba(11,25,40,.60);
}

.unified-content .application-card{
  border-color:rgba(255,255,255,.10);
}

/* CTA becomes part of the same section rather than another horizontal strip */
.inline-cta{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:36px;
  margin-top:34px;
  padding-top:28px;
  border-top:1px solid rgba(255,255,255,.08);
}

.inline-cta>div{
  max-width:780px;
}

.inline-cta h2{
  margin-bottom:10px;
}

.inline-cta p{
  color:var(--muted);
  margin:0;
}

/* About values flow as part of same content body */
.flowing-values{
  margin-top:34px;
}

/* Contact page uses the same single-canvas treatment */
.unified-content .contact-grid{
  align-items:start;
}

/* Suppress old banded section styles when nested in unified body */
.unified-content.section{
  padding-top:46px;
  padding-bottom:46px;
}

/* Reduce the visual break between hero and body */
.page-hero{
  border-bottom:0;
}

.page-hero + .unified-content{
  padding-top:42px;
}

@media(max-width:960px){
  .flow-intro{
    grid-template-columns:1fr;
    gap:22px;
  }

  .inline-cta{
    align-items:flex-start;
    flex-direction:column;
  }
}

@media(max-width:680px){
  .flow-intro{
    margin-bottom:26px;
    padding-bottom:24px;
  }

  .inline-cta{
    margin-top:26px;
    padding-top:24px;
    gap:18px;
  }

  .unified-content.section{
    padding-top:34px;
    padding-bottom:36px;
  }

  .page-hero + .unified-content{
    padding-top:32px;
  }
}
