:root{

  --orange:#ff5a1f;
  --orange-2:#ff7a3d;
  --orange-soft:#ffb28d;

  --black:#070707;
  --black-2:#0c0c0c;

  --panel:#111111;
  --panel-2:#151515;

  --line:rgba(255,255,255,.10);

  --text:#f6f3ef;
  --muted:#aaa6a1;

  --max:1180px;

  --radius:22px;

}


*{
  box-sizing:border-box;
}


html{
  scroll-behavior:smooth;
}


body{

  margin:0;

  background:var(--black);

  color:var(--text);

  font-family:
    Inter,
    ui-sans-serif,
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;

  line-height:1.6;

  overflow-x:hidden;

}


body:before{

  content:"";

  position:fixed;

  inset:0;

  pointer-events:none;

  z-index:50;

  background-image:

    linear-gradient(
      rgba(255,255,255,.018) 1px,
      transparent 1px
    ),

    linear-gradient(
      90deg,
      rgba(255,255,255,.014) 1px,
      transparent 1px
    );

  background-size:60px 60px;

  mask-image:
    linear-gradient(
      to bottom,
      black,
      transparent 85%
    );

  opacity:.35;

}


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


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


::selection{
  background:var(--orange);
  color:#fff;
}


.container{

  width:min(
    calc(100% - 48px),
    var(--max)
  );

  margin-inline:auto;

}


.narrow{
  max-width:900px;
}


.center{
  text-align:center;
}


.section-pad{
  padding:120px 0;
  position:relative;
}


.page-noise{

  position:fixed;

  inset:0;

  pointer-events:none;

  z-index:60;

  opacity:.025;

  background-image:url(
    "data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"
  );

}



/* =====================================================
   HEADER
===================================================== */

.site-header{

  position:fixed;

  top:0;
  left:0;
  right:0;

  height:78px;

  z-index:40;

  display:flex;

  align-items:center;

  justify-content:space-between;

  padding:

    0

    max(
      24px,
      calc((100vw - var(--max))/2)
    );

  background:
    linear-gradient(
      180deg,
      rgba(7,7,7,.94),
      rgba(7,7,7,.62)
    );

  backdrop-filter:blur(16px);

  border-bottom:
    1px solid rgba(255,255,255,.06);

}


.brand{

  display:flex;

  align-items:center;

  gap:10px;

  font-size:14px;

  font-weight:900;

  letter-spacing:.20em;

}


.brand-mark{

  display:flex;

  align-items:flex-end;

  gap:3px;

  width:25px;

  height:23px;

}


.brand-mark i{

  display:block;

  width:5px;

  border-radius:2px;

  background:var(--orange);

  transform:skew(-22deg);

}


.brand-mark i:nth-child(1){
  height:12px;
}


.brand-mark i:nth-child(2){
  height:18px;
}


.brand-mark i:nth-child(3){
  height:23px;
}


.header-link{

  font-size:12px;

  text-transform:uppercase;

  letter-spacing:.12em;

  color:#d0cbc6;

}


.header-link span{

  color:var(--orange);

  font-size:17px;

  margin-left:7px;

}



/* =====================================================
   TYPOGRAPHY
===================================================== */

.eyebrow{

  display:inline-flex;

  align-items:center;

  gap:9px;

  color:var(--orange-soft);

  font-size:11px;

  font-weight:800;

  letter-spacing:.18em;

  text-transform:uppercase;

}


.eyebrow-dot{

  width:7px;

  height:7px;

  border-radius:50%;

  background:var(--orange);

  box-shadow:
    0 0 16px rgba(255,90,31,.65);

}


h1,
h2,
h3,
p{
  margin-top:0;
}


h1,
h2,
h3{

  letter-spacing:-.045em;

  line-height:1.02;

}


h1{

  font-size:
    clamp(
      48px,
      6vw,
      86px
    );

  margin:
    24px 0 26px;

  max-width:780px;

}


h2{

  font-size:
    clamp(
      38px,
      4.4vw,
      66px
    );

  margin:
    18px 0 25px;

}


h3{

  font-size:24px;

  margin:
    10px 0 14px;

}


h1 em,
h2 span,
h3 span{

  font-style:normal;

  color:var(--orange);

}


.section-heading > p,
.hero-text,
.microcopy{

  color:var(--muted);

}



/* =====================================================
   BUTTONS
===================================================== */

.btn{

  min-height:58px;

  display:inline-flex;

  align-items:center;

  justify-content:center;

  gap:18px;

  padding:
    0 23px;

  border-radius:13px;

  font-size:12px;

  font-weight:900;

  letter-spacing:.07em;

  text-transform:uppercase;

  transition:.3s ease;

  position:relative;

  overflow:hidden;

}


.btn:after{

  content:"";

  position:absolute;

  inset:0;

  background:
    linear-gradient(
      110deg,
      transparent 25%,
      rgba(255,255,255,.22) 48%,
      transparent 70%
    );

  transform:translateX(-120%);

  transition:.6s ease;

}


.btn:hover:after{

  transform:translateX(120%);

}


.btn-primary{

  background:var(--orange);

  color:#fff;

  box-shadow:
    0 14px 42px rgba(255,90,31,.22);

}


.btn-primary:hover{

  transform:translateY(-3px);

  box-shadow:
    0 20px 55px rgba(255,90,31,.32);

}


.btn-arrow{

  font-size:19px;

  line-height:1;

}


.btn-whatsapp{

  background:#fff;

  color:#101010;

  box-shadow:
    0 20px 60px rgba(255,255,255,.12);

}


.btn-whatsapp:hover{

  transform:translateY(-3px);

  box-shadow:
    0 25px 70px rgba(255,255,255,.18);

}


.wa-icon{

  font-size:17px;

  color:#19a463;

}



/* =====================================================
   HERO
===================================================== */

.hero{

  min-height:850px;

  display:flex;

  align-items:center;

  padding-top:145px;

  padding-bottom:70px;

}


.hero-grid{

  width:min(
    calc(100% - 48px),
    var(--max)
  );

  margin:auto;

  display:grid;

  grid-template-columns:
    1.02fr
    .98fr;

  align-items:center;

  gap:70px;

}


.hero-lead{

  font-size:
    clamp(
      19px,
      2vw,
      25px
    );

  max-width:690px;

  color:#e8e3de;

  margin-bottom:22px;

}


.hero-text{

  font-size:15px;

  max-width:650px;

  margin-bottom:30px;

}


.microcopy{

  max-width:590px;

  font-size:12px;

  margin:
    16px 0 0;

}



/* VSL */

.vsl-shell{

  position:relative;

  background:#050505;

  padding:10px;

  border:
    1px solid rgba(255,255,255,.14);

  border-radius:19px;

  box-shadow:

    0 35px 100px rgba(0,0,0,.7),

    0 0 80px rgba(255,90,31,.07);

  transform:
    perspective(1200px)
    rotateY(-2deg);

}


.vsl-topbar{

  height:30px;

  display:flex;

  align-items:center;

  gap:8px;

  color:#777;

  font-size:8px;

  letter-spacing:.16em;

  text-transform:uppercase;

  padding:0 8px;

}


.live-dot{

  width:6px;

  height:6px;

  background:var(--orange);

  border-radius:50%;

  box-shadow:
    0 0 12px var(--orange);

}


.vsl-line{

  height:1px;

  flex:1;

  background:var(--line);

}


.video-frame{

  position:relative;

  aspect-ratio:16/9;

  overflow:hidden;

  border-radius:11px;

  background:#000;

}


.video-frame iframe{

  width:100%;

  height:100%;

  border:0;

  display:block;

}


.video-fade{

  position:absolute;

  inset:0;

  pointer-events:none;

  background:
    linear-gradient(
      180deg,
      rgba(0,0,0,.08),
      transparent 25%,
      transparent 75%,
      rgba(0,0,0,.22)
    );

}


.vsl-badge{

  position:absolute;

  left:16px;

  bottom:16px;

  background:rgba(7,7,7,.8);

  border:
    1px solid rgba(255,255,255,.12);

  border-radius:8px;

  padding:7px 10px;

  color:#fff;

  font-size:8px;

  font-weight:800;

  letter-spacing:.14em;

}


.hero-orbit{

  position:absolute;

  border:
    1px solid rgba(255,90,31,.14);

  border-radius:50%;

  pointer-events:none;

}


.orbit-1{

  width:450px;
  height:450px;

  right:-210px;
  top:15%;

}


.orbit-2{

  width:620px;
  height:620px;

  right:-300px;
  top:4%;

}


.scroll-cue{

  position:absolute;

  bottom:30px;

  left:50%;

  transform:translateX(-50%);

  display:flex;

  flex-direction:column;

  align-items:center;

  gap:8px;

  color:#777;

  font-size:9px;

  letter-spacing:.2em;

  text-transform:uppercase;

}


.scroll-cue span{

  width:1px;

  height:32px;

  background:
    linear-gradient(
      var(--orange),
      transparent
    );

  animation:
    scrollPulse 1.7s infinite;

}


@keyframes scrollPulse{

  50%{
    opacity:.2;
    transform:translateY(7px);
  }

}



/* =====================================================
   SECTION 2
===================================================== */

.bridge{

  background:
    linear-gradient(
      180deg,
      #0a0a0a,
      #101010
    );

  border-block:
    1px solid var(--line);

}


.bridge h2{

  max-width:820px;

  margin-inline:auto;

}


.bridge h2 span{

  color:#fff;

}


.down-link{

  display:inline-block;

  margin-top:18px;

  color:var(--orange-soft);

  font-size:10px;

  font-weight:800;

  letter-spacing:.16em;

}



/* =====================================================
   SERVICES
===================================================== */

.services{
  background:#0a0a0a;
}


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


.section-heading > p{

  max-width:640px;

  font-size:15px;

}


.service-grid{

  margin-top:55px;

  display:grid;

  grid-template-columns:
    repeat(6,1fr);

  gap:14px;

}


.service-card{

  grid-column:span 2;

  min-height:355px;

  padding:27px;

  border:
    1px solid var(--line);

  border-radius:var(--radius);

  background:
    linear-gradient(
      145deg,
      #121212,
      #0d0d0d
    );

  position:relative;

  overflow:hidden;

  transition:.35s ease;

}


.service-card:nth-child(4),
.service-card:nth-child(5){

  grid-column:span 3;

}


.service-card:before{

  content:"";

  position:absolute;

  width:180px;

  height:180px;

  right:-90px;

  top:-90px;

  border-radius:50%;

  background:
    rgba(255,90,31,.09);

  filter:blur(8px);

}


.service-card:hover{

  border-color:
    rgba(255,90,31,.35);

  transform:translateY(-5px);

}


.card-index{

  font-size:10px;

  letter-spacing:.14em;

  color:#65615d;

}


.icon-box{

  width:43px;

  height:43px;

  display:grid;

  place-items:center;

  border:
    1px solid rgba(255,90,31,.28);

  color:var(--orange);

  border-radius:12px;

  margin-top:28px;

  font-size:22px;

}


.service-card p{

  color:#aaa6a1;

  font-size:13px;

}


.objective{

  margin-top:24px;

  padding-top:17px;

  border-top:
    1px solid var(--line);

  font-size:11px;

  color:#85817d;

}


.objective b{
  color:#e6e0da;
}



/* =====================================================
   AUDIENCE
===================================================== */

.audience{

  background:#f0ece6;

  color:#0b0b0b;

}


.audience .eyebrow{
  color:#a33b16;
}


.audience .eyebrow-dot{
  background:var(--orange);
}


.audience h2{
  max-width:480px;
}


.audience h2 span{
  color:var(--orange);
}


.split{

  display:grid;

  grid-template-columns:
    .8fr
    1.2fr;

  gap:100px;

  align-items:start;

}


.audience-list{

  border-top:
    1px solid rgba(0,0,0,.15);

}


.check-row{

  display:grid;

  grid-template-columns:
    48px
    1fr;

  gap:18px;

  padding:20px 0;

  border-bottom:
    1px solid rgba(0,0,0,.15);

  align-items:start;

}


.check-row span{

  font-size:10px;

  font-weight:900;

  letter-spacing:.12em;

  color:var(--orange);

}


.check-row p{

  font-size:15px;

  margin:0;

  line-height:1.45;

}


.quote{

  margin:
    70px auto 0;

  max-width:820px;

  text-align:center;

  font-size:
    clamp(
      25px,
      3vw,
      40px
    );

  letter-spacing:-.04em;

  line-height:1.15;

}


.quote strong{
  color:var(--orange);
}



/* =====================================================
   WHY
===================================================== */

.why{
  background:#0a0a0a;
}


.why-grid{

  display:grid;

  grid-template-columns:
    repeat(3,1fr);

  gap:14px;

  margin-top:55px;

}


.why-card{

  padding:30px;

  border:
    1px solid var(--line);

  border-radius:18px;

  background:#0f0f0f;

  min-height:220px;

  transition:.3s;

}


.why-card:hover{

  border-color:
    rgba(255,90,31,.3);

  background:#121212;

}


.why-card > span{

  color:var(--orange);

  font-size:10px;

  font-weight:900;

  letter-spacing:.14em;

}


.why-card h3{

  margin-top:35px;

}


.why-card p{

  color:var(--muted);

  font-size:13px;

}



/* =====================================================
   FLOW
===================================================== */

.flow{

  background:#0e0e0e;

  border-block:
    1px solid var(--line);

}


.flow-layout{

  display:grid;

  grid-template-columns:
    .8fr
    1.2fr;

  gap:70px;

  align-items:start;

}


.flow-line{

  position:relative;

  padding-left:32px;

}


.flow-line:before{

  content:"";

  position:absolute;

  left:7px;

  top:8px;

  bottom:8px;

  width:1px;

  background:
    linear-gradient(
      var(--orange),
      rgba(255,90,31,.08)
    );

}


.flow-step{

  position:relative;

  display:flex;

  align-items:center;

  gap:22px;

  padding:17px 0;

}


.flow-step span{

  width:16px;

  height:16px;

  border-radius:50%;

  background:var(--black);

  border:
    1px solid var(--orange);

  color:var(--orange);

  display:grid;

  place-items:center;

  font-size:0;

  box-shadow:
    0 0 0 5px #0e0e0e;

  position:absolute;

  left:-32px;

}


.flow-step strong{

  font-size:18px;

  letter-spacing:-.02em;

}


.flow-result{

  grid-column:1/-1;

  margin-top:10px;

  padding:28px;

  border:
    1px solid rgba(255,90,31,.2);

  border-radius:18px;

  background:
    linear-gradient(
      90deg,
      rgba(255,90,31,.08),
      transparent
    );

}


.flow-result small{

  color:var(--orange);

  font-size:9px;

  letter-spacing:.18em;

  font-weight:900;

}


.flow-result p{

  font-size:20px;

  max-width:820px;

  margin:10px 0 0;

  color:#e4dfd9;

}



/* =====================================================
   SYSTEM
===================================================== */

.system{
  background:#080808;
}


.system-head{
  text-align:center;
}


.system-visual{

  height:590px;

  max-width:900px;

  margin:
    45px auto 20px;

  position:relative;

  display:grid;

  place-items:center;

}


.system-visual:before{

  content:"";

  position:absolute;

  width:380px;

  height:380px;

  border:
    1px solid rgba(255,90,31,.13);

  border-radius:50%;

  box-shadow:
    0 0 120px rgba(255,90,31,.06) inset;

}


.system-visual:after{

  content:"";

  position:absolute;

  width:250px;

  height:250px;

  border:
    1px dashed rgba(255,255,255,.10);

  border-radius:50%;

}


.system-core{

  z-index:4;

  width:170px;

  height:170px;

  border-radius:50%;

  display:grid;

  place-items:center;

  text-align:center;

  background:
    radial-gradient(
      circle,
      #27211e,
      #0d0d0d 65%
    );

  border:
    1px solid rgba(255,90,31,.55);

  box-shadow:
    0 0 80px rgba(255,90,31,.15);

  font-weight:950;

  letter-spacing:.16em;

  font-size:18px;

}


.node{

  position:absolute;

  z-index:5;

  min-width:140px;

  padding:13px 17px;

  border:
    1px solid var(--line);

  background:
    rgba(15,15,15,.94);

  backdrop-filter:blur(12px);

  border-radius:13px;

  text-align:center;

  box-shadow:
    0 12px 35px rgba(0,0,0,.35);

}


.node b{

  display:block;

  font-size:13px;

}


.node small{

  display:block;

  color:#777;

  font-size:9px;

  margin-top:2px;

  text-transform:uppercase;

  letter-spacing:.12em;

}


.node-1{

  top:25px;

  left:50%;

  transform:translateX(-50%);

}


.node-2{

  top:135px;

  right:55px;

}


.node-3{

  bottom:80px;

  right:70px;

}


.node-4{

  bottom:20px;

  left:50%;

  transform:translateX(-50%);

}


.node-5{

  bottom:80px;

  left:70px;

}


.node-6{

  top:135px;

  left:55px;

}


.connection{

  position:absolute;

  z-index:2;

  height:1px;

  background:
    linear-gradient(
      90deg,
      transparent,
      var(--orange),
      transparent
    );

  transform-origin:center;

  opacity:.55;

}


.c1{

  width:210px;

  top:145px;

  right:180px;

  transform:rotate(43deg);

}


.c2{

  width:210px;

  bottom:165px;

  right:185px;

  transform:rotate(-43deg);

}


.c3{

  width:210px;

  bottom:95px;

  left:50%;

  transform:translateX(-50%);

}


.c4{

  width:210px;

  bottom:165px;

  left:185px;

  transform:rotate(43deg);

}


.c5{

  width:210px;

  top:145px;

  left:180px;

  transform:rotate(-43deg);

}


.c6{

  height:210px;

  width:1px;

  top:160px;

  left:50%;

  transform:translateX(-50%);

  background:
    linear-gradient(
      transparent,
      var(--orange),
      transparent
    );

}


.system-copy{

  text-align:center;

  max-width:850px;

  margin:auto;

}


.system-copy > p:first-child{

  color:#8b8681;

  font-size:11px;

  letter-spacing:.12em;

  text-transform:uppercase;

}


.system-copy h3{

  font-size:32px;

  margin:
    20px 0 14px;

}


.system-copy > p:not(:first-child){

  color:var(--muted);

  font-size:14px;

}


.system-copy strong{

  color:var(--orange);

  font-size:16px;

}



/* =====================================================
   CTA SECTION 8
===================================================== */

.cta-section{

  background:#080808;

  padding-top:70px;

  padding-bottom:120px;

  overflow:hidden;

}


.cta-glow{

  position:absolute;

  width:800px;

  height:450px;

  left:50%;

  top:50%;

  transform:
    translate(-50%,-50%);

  background:
    radial-gradient(
      ellipse,
      rgba(255,90,31,.17),
      transparent 65%
    );

  filter:blur(20px);

  pointer-events:none;

}


.cta-card{

  position:relative;

  z-index:2;

  max-width:930px;

  text-align:center;

  padding:
    90px 55px;

  border:
    1px solid rgba(255,90,31,.24);

  border-radius:28px;

  background:
    linear-gradient(
      145deg,
      rgba(25,19,16,.98),
      rgba(10,10,10,.98)
    );

  box-shadow:
    0 35px 120px rgba(0,0,0,.65);

}


.cta-label{

  color:var(--orange);

  font-size:10px;

  font-weight:900;

  letter-spacing:.2em;

}


.cta-card h2{

  max-width:790px;

  margin:
    18px auto;

}


.cta-card h2 span{
  color:var(--orange);
}


.cta-card > p{

  color:#b4afaa;

  font-size:17px;

}


.cta-card > p strong{
  color:#fff;
}


.cta-note{

  max-width:600px !important;

  margin:
    18px auto 0 !important;

  font-size:11px !important;

  color:#777 !important;

}



/* =====================================================
   FAQ
===================================================== */

.faq{

  background:#f0ece6;

  color:#0b0b0b;

}


.faq .eyebrow{
  color:#a33b16;
}


.faq .eyebrow-dot{
  background:var(--orange);
}


.faq-list{

  max-width:900px;

  margin:
    50px auto 0;

  border-top:
    1px solid rgba(0,0,0,.16);

}


.faq-item{

  border-bottom:
    1px solid rgba(0,0,0,.16);

}


.faq-item summary{

  list-style:none;

  cursor:pointer;

  padding:
    23px 46px 23px 0;

  font-size:16px;

  font-weight:800;

  position:relative;

}


.faq-item summary::-webkit-details-marker{
  display:none;
}


.faq-item summary:after{

  content:"+";

  position:absolute;

  right:4px;

  top:18px;

  font-size:25px;

  font-weight:300;

  color:var(--orange);

  transition:.25s;

}


.faq-item[open] summary:after{

  transform:rotate(45deg);

}


.faq-item p{

  max-width:780px;

  color:#5e5954;

  font-size:13px;

  padding:
    0 40px 23px 0;

  margin:0;

}



/* =====================================================
   FINAL CTA
===================================================== */

.final-cta{

  background:#090909;

  padding:100px 0;

}


.final-wrap{

  display:grid;

  grid-template-columns:
    1fr
    auto;

  gap:50px;

  align-items:center;

}


.brand-large{

  font-size:17px;

  margin-bottom:28px;

}


.final-wrap h2{

  max-width:800px;

  font-size:
    clamp(
      34px,
      4vw,
      57px
    );

}


.final-wrap h2 span{
  color:var(--orange);
}


.final-wrap p{

  color:#777;

  font-size:11px;

  letter-spacing:.04em;

}


.final-wrap p i{

  color:var(--orange);

  font-style:normal;

  margin:0 4px;

}



/* =====================================================
   FOOTER
===================================================== */

.site-footer{

  background:#050505;

  border-top:
    1px solid var(--line);

  padding:24px 0;

  color:#666;

  font-size:10px;

}


.footer-inner{

  display:flex;

  align-items:center;

  justify-content:space-between;

  gap:20px;

}


.footer-inner nav{

  display:flex;

  gap:20px;

}


.footer-inner a:hover{
  color:var(--orange);
}



/* =====================================================
   ANIMATIONS
===================================================== */

.reveal{

  opacity:0;

  transform:translateY(24px);

  transition:

    opacity .75s ease,

    transform .75s
      cubic-bezier(.2,.7,.2,1);

}


.reveal.is-visible{

  opacity:1;

  transform:none;

}


.delay-1{
  transition-delay:.08s;
}


.delay-2{
  transition-delay:.16s;
}


@media (prefers-reduced-motion:reduce){

  html{
    scroll-behavior:auto;
  }

  .reveal{

    opacity:1;

    transform:none;

    transition:none;

  }

  .btn,
  .service-card,
  .why-card{

    transition:none;

  }

}



/* =====================================================
   TABLET
===================================================== */

@media (max-width:980px){

  .section-pad{
    padding:90px 0;
  }


  .hero{

    padding-top:125px;

  }


  .hero-grid{

    grid-template-columns:1fr;

    gap:55px;

  }


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


  .hero-vsl{

    max-width:760px;

    width:100%;

    margin:auto;

  }


  .hero{

    min-height:auto;

  }


  .orbit-1,
  .orbit-2{

    display:none;

  }


  .split,
  .flow-layout{

    grid-template-columns:1fr;

    gap:45px;

  }


  .why-grid{

    grid-template-columns:
      repeat(2,1fr);

  }


  .service-grid{

    grid-template-columns:
      repeat(2,1fr);

  }


  .service-card,
  .service-card:nth-child(4),
  .service-card:nth-child(5){

    grid-column:span 1;

  }


  .service-card:nth-child(5){

    grid-column:span 2;

  }


  .system-visual{

    transform:scale(.9);

    margin-block:15px;

  }


  .final-wrap{

    grid-template-columns:1fr;

  }

}



/* =====================================================
   MOBILE
===================================================== */

@media (max-width:680px){

  .container,
  .hero-grid{

    width:
      min(
        calc(100% - 32px),
        var(--max)
      );

  }


  .site-header{

    height:68px;

    padding:
      0 16px;

  }


  .header-link{
    display:none;
  }


  .section-pad{
    padding:72px 0;
  }


  .hero{

    padding-top:105px;

  }


  .hero-grid{

    gap:42px;

  }


  .hero-lead{
    font-size:18px;
  }


  .hero-text{
    font-size:14px;
  }


  h1{

    font-size:
      clamp(
        42px,
        13vw,
        62px
      );

  }


  h2{

    font-size:
      clamp(
        34px,
        10vw,
        48px
      );

  }


  .btn{

    width:100%;

    font-size:10px;

    padding:
      0 15px;

    gap:12px;

  }


  .microcopy{
    text-align:center;
  }


  .service-grid,
  .why-grid{

    grid-template-columns:1fr;

  }


  .service-card,
  .service-card:nth-child(4),
  .service-card:nth-child(5){

    grid-column:span 1;

    min-height:0;

  }


  .service-card{
    padding:23px;
  }


  .icon-box{
    margin-top:22px;
  }


  .split{
    gap:30px;
  }


  .check-row{

    grid-template-columns:
      38px
      1fr;

    gap:12px;

  }


  .check-row p{
    font-size:14px;
  }


  .quote{
    margin-top:48px;
  }


  .flow-step strong{
    font-size:16px;
  }


  .flow-result p{
    font-size:17px;
  }


  .system-visual{

    height:500px;

    transform:none;

    max-width:100%;

    overflow:visible;

  }


  .system-visual:before{

    width:270px;

    height:270px;

  }


  .system-visual:after{

    width:180px;

    height:180px;

  }


  .system-core{

    width:125px;

    height:125px;

    font-size:13px;

  }


  .node{

    min-width:104px;

    padding:
      10px 9px;

  }


  .node b{
    font-size:10px;
  }


  .node small{
    font-size:7px;
  }


  .node-1{
    top:20px;
  }


  .node-2{

    top:110px;

    right:0;

  }


  .node-3{

    bottom:75px;

    right:0;

  }


  .node-4{

    bottom:20px;

  }


  .node-5{

    bottom:75px;

    left:0;

  }


  .node-6{

    top:110px;

    left:0;

  }


  .connection{
    display:none;
  }


  .cta-card{

    padding:
      65px 22px;

    border-radius:20px;

  }


  .cta-card > p{
    font-size:15px;
  }


  .faq-item summary{
    font-size:15px;
  }


  .faq-item p{
    font-size:13px;
  }


  .final-cta{
    padding:75px 0;
  }


  .final-wrap{
    gap:30px;
  }


  .final-wrap .btn{
    width:100%;
  }


  .footer-inner{

    flex-direction:column;

    align-items:flex-start;

  }


  .footer-inner nav{
    gap:14px;
  }

}



/* =====================================================
   SMALL MOBILE
===================================================== */

@media (max-width:390px){

  h1{
    font-size:40px;
  }


  .hero-lead{
    font-size:17px;
  }


  .site-header .brand{
    font-size:12px;
  }

}
