:root{
  --bg:#060606;
  --bg-soft:#1f1f27;
  --panel:#16161c;
  --panel-2:#23232c;
  --text:#f8f8f6;
  --muted:#c0c0c8;
  --line:rgba(255,255,255,.12);
  --gold:#28d7c5;
  --gold-soft:rgba(40,215,197,.14);
  --white:#ffffff;
  --max:1320px;
  --radius:4px;
  --radius-sm:2px;
  --shadow:0 24px 60px rgba(0,0,0,.28);
}

/* Legal and policy pages are information-heavy, so keep headings compact. */
.outcome-strip{
  background:#f5f7f6;
  padding:34px 0;
}

.outcome-strip-inner{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
  align-items:center;
  text-align:center;
}

.outcome-strip-inner span{
  display:block;
  color:#071212;
  font-size:clamp(22px,3vw,38px);
  font-weight:800;
  letter-spacing:-.04em;
}

@media (max-width:800px){
  .outcome-strip-inner{
    grid-template-columns:1fr 1fr;
  }
}
#outcomes .card{
  background:linear-gradient(135deg,rgba(66,224,209,.16),rgba(255,255,255,.06));
  border:1px solid rgba(66,224,209,.32);
}

#outcomes .card h3{
  color:#ffffff;
}

#outcomes .card p{
  color:rgba(255,255,255,.78);
}

main .copy-block h1{
  font-size:clamp(2rem, 3vw, 2.8rem) !important;
  line-height:1.12 !important;
  letter-spacing:-.035em !important;
  max-width:18ch !important;
}

main .copy-block h2{
  margin:2rem 0 .75rem !important;
  font-size:clamp(1.25rem, 1.8vw, 1.65rem) !important;
  line-height:1.25 !important;
  letter-spacing:-.015em !important;
}

main .copy-block h3{
  font-size:clamp(1.05rem, 1.5vw, 1.25rem) !important;
  line-height:1.3 !important;
}

*{box-sizing:border-box}

html{scroll-behavior:smooth}

body{
  margin:0;
  font-family:"Manrope","Segoe UI",sans-serif;
  background:linear-gradient(180deg, #080808 0%, #101014 100%);
  color:var(--text);
}

body.menu-open{overflow:hidden}

a{
  color:inherit;
  text-decoration:none;
}

img{
  display:block;
  max-width:100%;
}

button,
input,
select,
textarea{
  font:inherit;
}

.site-shell{
  min-height:100vh;
  overflow:hidden;
}

.container{
  width:min(var(--max), calc(100% - 40px));
  margin:0 auto;
}

.site-header{
  position:sticky;
  top:0;
  z-index:30;
  backdrop-filter:blur(18px);
  background:rgba(0,0,0,.96);
  border-bottom:1px solid rgba(255,255,255,.06);
}

.header-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  min-height:84px;
}

.brand{
  display:flex;
  align-items:center;
  gap:18px;
}

.brand img{
  width:62px;
  height:62px;
  object-fit:contain;
}

.brand-copy{
  display:flex;
  flex-direction:column;
  gap:2px;
}

.brand-name{
  font-size:1.32rem;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.brand-tag{
  font-size:.72rem;
  letter-spacing:.015em;
  color:var(--muted);
}

.desktop-nav{
  display:flex;
  align-items:center;
  gap:32px;
}

.desktop-nav > a,
.nav-drop summary{
  font-size:1rem;
  font-weight:700;
  letter-spacing:.01em;
  text-transform:none;
  color:#f4f4f6;
}

.desktop-nav a,
.nav-drop summary{
  position:relative;
}

.desktop-nav a::after,
.nav-drop summary::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-8px;
  width:100%;
  height:3px;
  background:var(--gold);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .25s ease;
}

.desktop-nav a:hover::after,
.desktop-nav a.active::after,
.nav-drop:hover summary::after,
.nav-drop[open] summary::after{
  transform:scaleX(1);
}

.nav-drop{
  position:relative;
}

.nav-drop summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  gap:8px;
}

.nav-drop summary::-webkit-details-marker{display:none}

.nav-drop-panel{
  position:absolute;
  top:calc(100% + 18px);
  left:50%;
  transform:translateX(-50%);
  min-width:320px;
  padding:16px;
  border:1px solid var(--line);
  border-radius:0;
  background:rgba(22,22,28,.98);
  box-shadow:var(--shadow);
  display:grid;
  gap:8px;
}

.nav-drop-panel a{
  padding:14px 16px;
  border-radius:14px;
  background:transparent;
  transition:background .2s ease, transform .2s ease;
}

.nav-drop-panel a:hover{
  background:rgba(255,255,255,.06);
  transform:translateX(4px);
}

.mobile-toggle{
  display:none;
  width:54px;
  height:54px;
  border:1px solid var(--line);
  border-radius:0;
  background:transparent;
  color:var(--text);
}

.mobile-toggle span,
.mobile-toggle span::before,
.mobile-toggle span::after{
  display:block;
  width:18px;
  height:2px;
  margin:0 auto;
  background:currentColor;
  transition:.25s ease;
  content:"";
}

.mobile-toggle span::before{transform:translateY(-6px)}
.mobile-toggle span::after{transform:translateY(4px)}

.mobile-nav{
  display:none;
  padding:0 0 18px;
}

.mobile-nav-panel{
  border:1px solid var(--line);
  border-radius:0;
  background:rgba(22,22,28,.98);
  padding:18px;
}

.mobile-nav-panel a,
.mobile-nav-panel summary{
  display:block;
  padding:14px 8px;
  font-size:1rem;
  font-weight:700;
  letter-spacing:.01em;
  text-transform:none;
}

.mobile-nav-panel details{
  border-top:1px solid rgba(255,255,255,.08);
  margin-top:6px;
  padding-top:6px;
}

.mobile-nav-panel summary{
  list-style:none;
}

.mobile-nav-panel summary::-webkit-details-marker{display:none}

.mobile-nav .trademark{
  display:none;
}

.mobile-nav-links{
  display:grid;
  gap:4px;
  padding-left:10px;
}

.hero{
  position:relative;
  min-height:820px;
  padding:0;
  background:#060606;
  overflow:hidden;
}

.hero-media{
  position:absolute;
  inset:0;
}

.hero-slide{
  position:absolute;
  inset:0;
  opacity:0;
  transition:opacity .9s ease;
}

.hero-slide.active{
  opacity:1;
}

.hero-slide img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  filter:brightness(.96) saturate(1.08);
}

.hero-media::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(90deg, rgba(4,4,5,.7) 0%, rgba(4,4,5,.32) 42%, rgba(4,4,5,.56) 100%),
    linear-gradient(180deg, rgba(4,4,5,.08) 0%, rgba(4,4,5,.46) 100%);
  pointer-events:none;
}

.hero-media::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:radial-gradient(circle at 76% 26%, rgba(40,215,197,.1), transparent 0 18%);
  pointer-events:none;
}

.hero-grid{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(320px, 390px);
  gap:48px;
  align-items:end;
  position:relative;
  z-index:2;
  min-height:820px;
  padding:170px 0 88px;
}

.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin:0 0 24px;
  color:var(--gold);
  font-size:.88rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.eyebrow::before{
  content:"";
  width:42px;
  height:1px;
  background:currentColor;
}

h1,h2,h3{
  margin:0;
  font-family:"Manrope","Segoe UI",sans-serif;
  font-weight:800;
  line-height:1.02;
}

h1{
  font-size:clamp(2.95rem, 5.1vw, 4.95rem);
  letter-spacing:-.07em;
  max-width:12ch;
}

h2{
  font-size:clamp(2.6rem, 4.8vw, 4.5rem);
  letter-spacing:-.05em;
}

h3{
  font-size:1.6rem;
  line-height:1.15;
}

/*.hero-copy .lede,
.page-hero-copy .lede,
.section-intro,
.body-copy,
.copy-block p,
.contact-copy p,
.service-copy p{
  font-size:1.08rem;
  line-height:1.0;
  color:rgba(255,255,255,.92);
 /* color:var(--muted); */

.hero-copy .lede,
.page-hero-copy .lede,
.section-intro,
.body-copy,
.copy-block p,
.contact-copy p,
.service-copy p{
  font-size:1.02rem;
  line-height:1.62;
  color:rgba(255,255,255,.92);
}

.hero-copy .lede,
.page-hero-copy .lede{
  font-weight:700;
  color:#ffffff;
  margin:0 0 22px;
}

.hero-copy .copy-block p,
.page-hero-copy .copy-block p{
  margin:0 0 18px;
  font-weight:500;
}

.hero-copy .copy-block p:last-child,
.page-hero-copy .copy-block p:last-child{
  margin-bottom:0;
}

.hero-copy .copy-block .rhythm-line,
.page-hero-copy .copy-block .rhythm-line{
  font-weight:700;
  color:#ffffff;
  margin-top:24px;
}

.copy-block h2{
  margin:2.1rem 0 .8rem;
  font-size:clamp(1.35rem, 2vw, 1.85rem);
  letter-spacing:-.02em;
  line-height:1.2;
}

.copy-block h1{
  margin:0 0 1.2rem;
  font-size:clamp(2rem, 3.4vw, 3rem);
  letter-spacing:-.04em;
  line-height:1.08;
  max-width:none;
}

.copy-block ul{
  margin:0 0 1.4rem 1.3rem;
  color:var(--muted);
  line-height:1.75;
}
/* controls the sub-header format under the main bold white hero text /*margin:24px 0 0;*/*/
/*////////////////////////////////////////////////////////////////////*/

.hero-copy .lede,
.page-hero-copy .lede{
  max-width:41rem;
  margin:34px 0 26px;
  font-size:1rem;
}

.hero-copy{
  align-self:end;
  padding-bottom:20px;
}

.trademark{
  font-size:.34em;
  vertical-align:text-top;
  margin-left:.14em;
  letter-spacing:.03em;
}

.hero-actions,
.button-row{
  display:flex;
  flex-wrap:wrap;
  gap:16px;
  margin-top:34px;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:60px;
  padding:0 30px;
  border-radius:0;
  border:1px solid var(--white);
  color:var(--white);
  font-size:.95rem;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  transition:transform .25s ease, background .25s ease, border-color .25s ease, color .25s ease;
}

.btn:hover{
  transform:translateY(-2px);
}

.btn-primary{
  background:var(--white);
  color:#080808;
}

.btn-primary.gold{
  background:var(--gold);
  border-color:var(--gold);
  color:#101010;
}

.btn-secondary{
  background:transparent;
}

.hero-panel,
.page-hero-card,
.quote-card,
.contact-card,
.service-highlight,
.step-card,
.stat-card,
.card,
.feature-panel{
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
  box-shadow:var(--shadow);
}

.hero-panel{
  padding:28px;
  align-self:end;
  position:relative;
  background:rgba(16,16,20,.82);
  backdrop-filter:blur(10px);
}

.hero-panel::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:110px;
  height:6px;
  background:var(--gold);
}

.hero-panel-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:18px;
}

.hero-panel-kicker{
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--gold);
}

.hero-panel p{
  margin:0;
  color:#ddd7cb;
  line-height:1.8;
}

.hero-metric{
  padding-top:22px;
  margin-top:22px;
  border-top:1px solid rgba(255,255,255,.1);
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:18px;
}

.hero-metric strong,
.stat-card strong{
  display:block;
  font-size:2.15rem;
  line-height:1;
  color:var(--white);
}

.hero-metric span,
.stat-card span{
  display:block;
  margin-top:8px;
  color:var(--muted);
  line-height:1.6;
}

.hero-rail{
  position:absolute;
  left:0;
  right:0;
  bottom:24px;
  z-index:3;
}

.hero-rail-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}

.hero-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:24px;
}

.hero-tab{
  position:relative;
  display:inline-flex;
  padding:0 0 10px;
  border:0;
  background:none;
  color:rgba(255,255,255,.72);
  font-size:1rem;
  font-weight:700;
  cursor:pointer;
}

.hero-tab::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:100%;
  height:3px;
  background:var(--gold);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .25s ease;
}

.hero-tab.active{
  color:var(--white);
}

.hero-tab.active::after{
  transform:scaleX(1);
}

.hero-controls{
  display:flex;
  gap:10px;
}

.hero-control{
  width:52px;
  height:52px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(0,0,0,.34);
  color:var(--white);
  cursor:pointer;
}

.section{
  padding:50px 0 96px;
}

.section-header{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:34px;
}

.section-intro{
  max-width:42rem;
  margin:16px 0 0;
}

.grid{
  display:grid;
  gap:22px;
}

.cards-4{
  grid-template-columns:repeat(4, minmax(0,1fr));
}

.compact-outcomes{
  margin-top:26px;
}

.cards-3{
  grid-template-columns:repeat(3, minmax(0,1fr));
}

.cards-2{
  grid-template-columns:repeat(2, minmax(0,1fr));
}

.card{
  padding:30px 28px 34px;
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:100%;
}

.card::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:72px;
  height:5px;
  background:var(--gold);
}

.card-number{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:auto;
  height:auto;
  margin-bottom:20px;
  border-radius:0;
  background:none;
  color:var(--gold);
  font-size:.88rem;
  font-weight:800;
  letter-spacing:.08em;
}

.card p,
.card li,
.step-card p,
.service-highlight p,
.feature-panel p{
  color:var(--muted);
  line-height:1.82;
}

.card ul{
  margin:16px 0 0;
  padding-left:18px;
}

.service-card-link{
  display:inline-flex;
  margin-top:auto;
  color:var(--gold);
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-decoration:none;
}

.service-card-link:hover{
  text-decoration:underline;
  text-underline-offset:6px;
}

.feature-split,
.about-split,
.contact-grid,
.service-layout,
.gloss-grid{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);
  gap:28px;
  align-items:start;
}

.feature-panel,
.page-hero-card,
.contact-card{
  padding:34px;
}

.feature-panel strong{
  color:var(--white);
}

.quote-card{
  padding:28px;
}

.quote-card blockquote{
  margin:0;
  font-family:"Manrope","Segoe UI",sans-serif;
  font-size:1.8rem;
  font-weight:800;
  line-height:1.2;
}

.quote-card cite{
  display:block;
  margin-top:18px;
  color:var(--muted);
  font-style:normal;
}

.contact-card h2,
.contact-copy h2{
  font-size:clamp(2rem,4vw,3.25rem);
  line-height:1.04;
}

.logo-grid{
  display:grid;
  grid-template-columns:repeat(6, minmax(0,1fr));
  gap:16px;
}

.logo-marquee{
  position:relative;
  overflow:hidden;
  margin-top:18px;
  border-top:1px solid rgba(0,0,0,.08);
  border-bottom:1px solid rgba(0,0,0,.08);
  background:#ffffff;
}

.logo-marquee::before,
.logo-marquee::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  width:120px;
  z-index:2;
  pointer-events:none;
}

.logo-marquee::before{
  left:0;
  background:linear-gradient(90deg, #ffffff 0%, rgba(255,255,255,0) 100%);
}

.logo-marquee::after{
  right:0;
  background:linear-gradient(270deg, #ffffff 0%, rgba(255,255,255,0) 100%);
}

.logo-track{
  display:flex;
  width:max-content;
  animation:logo-scroll 36s linear infinite;
}

.logo-track:hover{
  animation-play-state:paused;
}

.logo-group{
  display:flex;
  align-items:center;
}

.logo-chip{
  flex:none;
  width:188px;
  min-height:94px;
  padding:14px 22px;
  border-right:1px solid rgba(0,0,0,.08);
  display:flex;
  align-items:center;
  justify-content:center;
}

.logo-chip img{
  max-width:132px;
  max-height:56px;
  width:auto;
  object-fit:contain;
}

@keyframes logo-scroll{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}

.logo-tile{
  min-height:128px;
  padding:18px;
  border-radius:0;
  border:1px solid rgba(255,255,255,.08);
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
}

.logo-tile img{
  max-height:76px;
  width:auto;
  object-fit:contain;
}

.founder-split{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(260px,.55fr);
  gap:34px;
  align-items:start;
}

.founder-split h2{
  font-size:clamp(1.75rem, 3vw, 2.75rem);
}

.founder-portrait-card{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:16px;
}

.founder-portrait-window{
  width:min(260px, 100%);
  aspect-ratio:1/1;
  border-radius:50%;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.03);
  box-shadow:0 16px 40px rgba(0,0,0,.22);
}

.founder-portrait-window img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.founder-portrait-caption{
  text-align:center;
}

.founder-portrait-caption strong{
  display:block;
  font-size:1rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.founder-portrait-caption span{
  display:block;
  margin-top:6px;
  color:var(--muted);
}

.page-hero{
  position:relative;
  min-height:620px;
  padding:0;
  background:#060606;
  overflow:hidden;
  isolation:isolate;
}

.page-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(5,7,10,.58) 0%, rgba(5,7,10,.42) 34%, rgba(5,7,10,.22) 58%, rgba(5,7,10,.46) 100%),
    linear-gradient(180deg, rgba(5,7,10,.04) 0%, rgba(5,7,10,.42) 100%);
  z-index:1;
}

.page-hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 20% 22%, rgba(40,215,197,.14), transparent 0 28%);
  z-index:1;
  pointer-events:none;
}

.page-hero-media{
  position:absolute;
  inset:0;
  z-index:0;
}

.page-hero-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  filter:brightness(.96) saturate(1.12);
}

.page-hero-vivid::before{
  background:
    linear-gradient(90deg, rgba(5,7,10,.66) 0%, rgba(5,7,10,.42) 34%, rgba(5,7,10,.18) 58%, rgba(5,7,10,.5) 100%),
    linear-gradient(180deg, rgba(5,7,10,.06) 0%, rgba(5,7,10,.46) 100%);
}

.page-hero-vivid .page-hero-media img{
  filter:brightness(.95) saturate(1.28);
}

.page-hero-focus-left::before{
  background:
    linear-gradient(90deg, rgba(5,7,10,.82) 0%, rgba(5,7,10,.72) 28%, rgba(5,7,10,.32) 56%, rgba(5,7,10,.28) 100%),
    linear-gradient(180deg, rgba(5,7,10,.08) 0%, rgba(5,7,10,.4) 100%);
}

.page-hero-ai::before{
  background:
    linear-gradient(90deg, rgba(0,0,0,.78) 0%, rgba(0,0,0,.60) 38%, rgba(0,0,0,.35) 70%, rgba(0,0,0,.25) 100%),
    linear-gradient(180deg, rgba(0,0,0,.18), rgba(0,0,0,.44));
}

.page-hero-focus-left .page-hero-media img{
  filter:brightness(1.02) saturate(1.34);
}

.page-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);
  gap:28px;
  align-items:start;
  min-height:620px;
  padding:132px 0 64px;
  position:relative;
  z-index:2;
}

.page-hero-card{
  align-self:start;
  margin-top:180px;
}

.service-list{
  display:grid;
  gap:18px;
}

.service-item{
  padding:22px 24px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:0;
  background:rgba(255,255,255,.03);
}

.service-item .button-row,
.card .button-row{
  margin-top:24px;
}

.card .button-row{
  margin-top:auto;
}

.step-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:18px;
}

.step-card{
  padding:24px;
}

.step-index{
  color:var(--gold);
  font-size:.8rem;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.service-copy ul{
  margin:16px 0 0;
  padding-left:18px;
  color:var(--muted);
  line-height:1.8;
}

.contact-form{
  display:grid;
  gap:16px;
}

.field{
  display:grid;
  gap:10px;
}

.field label{
  font-size:.85rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#f1ebde;
}

.field input,
.field select,
.field textarea{
  width:100%;
  padding:16px 18px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:0;
  background:rgba(255,255,255,.03);
  color:var(--text);
}

.field select option{
  background:#ffffff;
  color:#101014;
}

.field textarea{
  min-height:180px;
  resize:vertical;
}

.field input:focus,
.field select:focus,
.field textarea:focus{
  outline:none;
  border-color:rgba(40,215,197,.7);
  box-shadow:0 0 0 4px rgba(40,215,197,.12);
}

.field-help,
.form-status{
  font-size:.92rem;
  line-height:1.6;
  color:var(--muted);
}

.form-status{
  min-height:1.6em;
}

.form-status[data-state="error"]{
  color:#ffb3b3;
}

.form-status[data-state="success"]{
  color:#9ce8de;
}

.visually-hidden{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0, 0, 0, 0);
  white-space:nowrap;
  border:0;
}

.site-footer{
  padding:42px 0 34px;
  border-top:1px solid rgba(255,255,255,.08);
  background:rgba(6,6,8,.92);
}

.footer-row{
  display:block;
}

.footer-links{
  display:contents;
}

.footer-meta{
  display:contents;
}

.footer-legal{
  display:contents;
}

.footer-social{
  display:contents;
}

.footer-copyright{
  margin:0;
  font-size:.9rem;
  color:rgba(255,255,255,.62);
}

.footer-legal a:hover,
.footer-links a:hover,
.footer-social a:hover{
  color:var(--white);
}

.site-footer-shell{
  display:grid;
  gap:26px;
}

.site-footer-top{
  display:grid;
  grid-template-columns:minmax(280px, 1.15fr) repeat(3, minmax(170px, .7fr));
  gap:28px;
  align-items:start;
}

.site-footer-brand{
  display:grid;
  gap:14px;
}

.site-footer-brand-link{
  display:flex;
  align-items:center;
  gap:16px;
}

.site-footer-brand-link img{
  width:68px;
  height:68px;
  object-fit:contain;
}

.site-footer-brand-copy{
  display:grid;
  gap:3px;
}

.site-footer-brand-name{
  font-size:1.05rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.site-footer-brand-tag{
  color:var(--muted);
  font-size:.74rem;
  line-height:1.5;
}

.site-footer-brand-text{
  margin:0;
  color:var(--muted);
  line-height:1.75;
  max-width:32rem;
}

.site-footer-group{
  display:grid;
  gap:14px;
}

.site-footer-heading{
  margin:0;
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#f2edde;
}

.site-footer-list{
  display:grid;
  gap:10px;
}

.site-footer-list a{
  color:var(--muted);
  line-height:1.6;
}

.site-footer-list a:hover{
  color:var(--white);
}

.site-footer-socials{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

.site-footer-social{
  width:44px;
  height:44px;
  border:1px solid rgba(255,255,255,.12);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.03);
  transition:border-color .2s ease, transform .2s ease, background .2s ease;
}

.site-footer-social svg{
  width:18px;
  height:18px;
  fill:currentColor;
}

.site-footer-social:hover{
  transform:translateY(-2px);
  border-color:rgba(40,215,197,.6);
  background:rgba(40,215,197,.08);
}

.site-footer-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.08);
}

.site-footer-bottom-links{
  display:flex;
  flex-wrap:wrap;
  gap:12px 18px;
}

.site-footer-bottom-links a{
  color:rgba(255,255,255,.62);
  font-size:.9rem;
}

.site-footer-bottom-links a:hover{
  color:var(--white);
}

.cookie-banner{
  position:fixed;
  left:20px;
  right:20px;
  bottom:20px;
  z-index:80;
  max-width:1120px;
  margin:0 auto;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(16,18,24,.96);
  box-shadow:var(--shadow);
  backdrop-filter:blur(16px);
}

.cookie-banner[hidden],
.cookie-panel[hidden]{
  display:none;
}

.cookie-inner{
  padding:24px;
  display:grid;
  gap:18px;
}

.cookie-title{
  display:flex;
  align-items:center;
  gap:12px;
  margin:0;
  font-size:1.15rem;
  font-weight:800;
}

.cookie-title::before{
  content:"";
  width:34px;
  height:2px;
  background:var(--gold);
}

.cookie-copy{
  margin:0;
  color:var(--muted);
  line-height:1.75;
}

.cookie-actions,
.cookie-options{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

.cookie-panel{
  border-top:1px solid rgba(255,255,255,.08);
  padding-top:16px;
}

.cookie-option{
  flex:1 1 220px;
  border:1px solid rgba(255,255,255,.08);
  padding:14px 16px;
  background:rgba(255,255,255,.02);
}

.cookie-option strong{
  display:block;
  margin-bottom:8px;
}

.cookie-option p{
  margin:0;
  color:var(--muted);
  line-height:1.6;
  font-size:.94rem;
}

@media (max-width: 1100px){
  .cards-4,
  .logo-grid{
    grid-template-columns:repeat(3, minmax(0,1fr));
  }

  .step-grid{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
}

@media (max-width: 920px){
  .desktop-nav{display:none}
  .mobile-toggle{display:inline-flex; align-items:center; justify-content:center}
  .mobile-nav.show{display:block}

  .hero-grid,
  .page-hero-grid,
  .feature-split,
  .about-split,
  .founder-split,
  .contact-grid,
  .service-layout,
  .gloss-grid,
  .cards-2,
  .cards-3{
    grid-template-columns:1fr;
  }

  .cards-4{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }

  .hero{
    min-height:auto;
  }

  .hero-grid{
    min-height:auto;
    padding:128px 0 120px;
  }

  .page-hero{
    min-height:auto;
  }

  .page-hero-grid{
  min-height:auto;
  padding:124px 0 52px;
}

.page-hero-card{
  margin-top:32px;
}

  .hero-rail-inner{
    display:block;
  }

  .hero-controls{
    margin-top:18px;
  }

  .section-header,
  .footer-row{
    display:block;
  }

  .cookie-banner{
    left:14px;
    right:14px;
    bottom:14px;
  }

  .site-footer-top{
    grid-template-columns:1fr 1fr;
  }

  .site-footer-bottom{
    display:grid;
    gap:14px;
  }
}

@media (max-width: 640px){
  .container{
    width:min(var(--max), calc(100% - 24px));
  }

  .header-row{
    min-height:82px;
  }

  .brand img{
    width:56px;
    height:56px;
  }

  .brand-name{
    font-size:1rem;
    letter-spacing:.1em;
  }

  .brand-tag{
    font-size:.68rem;
  }

  .hero,
  .page-hero{
    padding-top:64px;
  }

  .hero-grid{
    padding:108px 0 122px;
    gap:22px;
  }

  .page-hero-grid{
    padding:104px 0 42px;
    gap:22px;
  }

  .cookie-inner{
    padding:20px 18px;
  }

  h1{
    font-size:clamp(2.4rem, 11vw, 3.7rem);
    max-width:9.5ch;
  }

  .hero-copy .lede{
    font-size:.98rem;
    line-height:1.75;
  }

  .hero-panel{
    padding:22px;
  }

  .hero-tab{
    font-size:.94rem;
  }

  .hero-control{
    width:46px;
    height:46px;
  }

  .logo-chip{
    width:150px;
    min-height:80px;
    padding:12px 16px;
  }

  .logo-chip img{
    max-width:108px;
    max-height:42px;
  }

  .cards-4,
  .logo-grid,
  .step-grid{
    grid-template-columns:1fr;
  }

  .site-footer-top{
    grid-template-columns:1fr;
    gap:22px;
  }

  .hero-actions,
  .button-row{
    flex-direction:column;
  }

  .btn{
    width:100%;
  }
}
.outcome-strip{
  background:#f5f7f6!important;
  padding:80px 0!important;
  margin:0!important;
  width:100%!important;
}

.outcome-strip .container{
  max-width:1280px;
  margin:0 auto;
  padding:0 32px;
}

.outcome-strip-inner{
  display:grid!important;
  grid-template-columns:repeat(4,1fr)!important;
  gap:18px!important;
  align-items:center!important;
  text-align:center!important;
}

.outcome-strip-inner span{
  display:block!important;
  color:#071212!important;
  font-size:clamp(24px,3vw,40px)!important;
  font-weight:800!important;
  letter-spacing:-.04em!important;
  line-height:1!important;
}

@media (max-width:800px){
  .outcome-strip-inner{
    grid-template-columns:1fr 1fr!important;
  }
}
#process{
  padding-bottom:90px!important;
}

#process .step-grid{
  position:relative;
  z-index:2;
  margin-bottom:0!important;
}
/* This only triggers when a card explicitly has the high-contrast class */
.card.card-high-contrast {
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.9);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    background-color: rgba(17, 20, 26, 0.85); /* Slightly darkens the inner card fill too */
}
/* GLOBAL HERO TYPOGRAPHY FIX */

.hero-copy h1,
.page-hero-copy h1{
  margin:0 0 30px!important;
}

.hero-copy .lede,
.page-hero-copy .lede{
  margin:0 0 30px!important;
  font-size:1.02rem!important;
  line-height:1.55!important;
  font-weight:700!important;
  color:#ffffff!important;
}

.hero-copy .copy-block,
.page-hero-copy .copy-block{
  margin-top:0!important;
}

.hero-copy .copy-block p,
.page-hero-copy .copy-block p{
  margin:0 0 22px!important;
  font-size:1.02rem!important;
  line-height:1.6!important;
  font-weight:500!important;
  color:rgba(255,255,255,.92)!important;
}

.hero-copy .copy-block p:last-child,
.page-hero-copy .copy-block p:last-child{
  margin-bottom:0!important;
}

.hero-copy .copy-block .rhythm-line,
.page-hero-copy .copy-block .rhythm-line{
  margin-top:26px!important;
  font-weight:700!important;
  color:#ffffff!important;
}
.contact-card.contact-card-dark {
  background: rgba(5, 7, 10, 0.88) !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  backdrop-filter: blur(22px);
  -webkit-backdrop-filter: blur(22px);
  box-shadow: 0 28px 90px rgba(0, 0, 0, 0.55) !important;
}
.contact-card.contact-card-dark input,
.contact-card.contact-card-dark select,
.contact-card.contact-card-dark textarea {
  background: rgba(8, 10, 14, 0.72) !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  color: #ffffff;
}
/*jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj*/
.service-layout-full {
  display: block !important;
  max-width: 100% !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding-left: clamp(32px, 4vw, 72px) !important;
  padding-right: clamp(32px, 4vw, 72px) !important;
}

.service-layout-full .section {
  width: 100% !important;
  max-width: none !important;
}

.service-copy-full {
  width: 100% !important;
  max-width: none !important;
}

.service-copy-full h2 {
  max-width: 980px !important;
}

.service-copy-full p,
.service-copy-full ul {
  max-width: 1120px !important;
}

.service-copy-full li {
  max-width: none !important;
}
/*kjjkjkjkjkjkjkjkj*/
/* Contact page centred transparent form */

.contact-card-glass {
  position: relative;
  z-index: 6;
  width: min(100%, 720px);
  margin: 0 auto;
  padding: clamp(28px, 4vw, 48px);
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.28);
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.28);
  backdrop-filter: blur(8px) brightness(130%);
  -webkit-backdrop-filter: blur(8px) brightness(130%);
}

.contact-card-glass h2 {
  color: #ffffff;
  text-align: center;
  margin-bottom: 28px;
}

.contact-card-glass .btn {
  width: 100%;
  justify-content: center;
}

@media (max-width: 768px) {
  .contact-hero {
    padding-top: 48px;
    padding-bottom: 64px;
  }

  .contact-card-glass {
    width: 100%;
  }
}
/* Force contact page heading to show above the form */

.contact-hero {
  position: relative;
  min-height: calc(100vh - 110px);
  padding-top: 70px !important;
  padding-bottom: 90px !important;
  display: flex;
  align-items: flex-start !important;
  overflow: hidden;
}

.contact-hero-inner {
  position: relative;
  z-index: 5;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start !important;
  padding-top: clamp(40px, 6vh, 80px);
}

.contact-hero-inner > h1 {
  display: block !important;
  position: relative !important;
  z-index: 10 !important;
  color: #ffffff !important;
  text-align: center !important;
  font-size: clamp(48px, 6vw, 82px) !important;
  line-height: 0.95 !important;
  margin: 0 0 34px 0 !important;
  max-width: 1000px !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.contact-card-glass {
  position: relative;
  z-index: 6;
  width: min(100%, 720px);
  margin: 0 auto;
}

/* Homepage hero: carry the tunnel image behind the navigation while preserving contrast. */
.home-page .site-header {
  position: sticky;
  top: 0;
  background: rgba(0, 0, 0, 0.96);
  border-bottom-color: rgba(255, 255, 255, 0.06);
}

.home-page .brand img {
  filter: none;
}

.home-page .hero {
  min-height: clamp(760px, 100vh, 900px);
}

.home-page .hero-slide img {
  object-position: center center;
  filter: brightness(0.96) saturate(1.16) contrast(1.04);
}

.home-page .hero-media::before {
  background:
    linear-gradient(90deg, rgba(1, 7, 19, 0.98) 0%, rgba(1, 7, 19, 0.92) 28%, rgba(1, 7, 19, 0.6) 47%, rgba(1, 7, 19, 0.08) 73%, rgba(1, 7, 19, 0.28) 100%),
    linear-gradient(180deg, rgba(1, 7, 19, 0.18) 0%, rgba(1, 7, 19, 0) 48%, rgba(1, 7, 19, 0.58) 100%);
}

.home-page .hero-grid {
  grid-template-columns: minmax(0, 650px);
  align-items: center;
  min-height: clamp(760px, 100vh, 900px);
  padding: 168px 0 94px;
}

.home-page .hero .page-hero-card {
  display: none;
}

@media (max-width: 920px) {
  .home-page .hero-grid {
    padding-top: 150px;
  }
}

@media (max-width: 640px) {
  .home-page .hero {
    min-height: 700px;
    padding-top: 0;
  }

  .home-page .hero-grid {
    min-height: 700px;
    padding: 142px 0 82px;
  }
}
