:root {
    --red:#CC2222;
    --red-2:#ff4b3a;
    --red-h:#aa1a1a;
    --dark:#0f0f10;
    --dark2:#171719;
    --dark3:#232326;
    --light:#f5f5f3;
    --lighter:#fafaf8;
    --white:#ffffff;
    --text:#1a1a1a;
    --muted:#666;
    --border:rgba(0,0,0,.12);
    --font:'Work Sans','Helvetica Neue',sans-serif;

    --xs:clamp(.75rem,.7rem + .25vw,.875rem);
    --sm:clamp(.875rem,.8rem + .35vw,1rem);
    --base:clamp(1rem,.95rem + .25vw,1.125rem);
    --lg:clamp(1.125rem,1rem + .75vw,1.5rem);
    --xl:clamp(1.5rem,1.2rem + 1.25vw,2.25rem);
    --xxl:clamp(2rem,1.2rem + 2.5vw,3.5rem);
    --hero:clamp(2.2rem,1.25rem + 3.8vw,4.4rem);

    --s1:.25rem;
    --s2:.5rem;
    --s3:.75rem;
    --s4:1rem;
    --s5:1.25rem;
    --s6:1.5rem;
    --s8:2rem;
    --s10:2.5rem;
    --s12:3rem;
    --s16:4rem;

    --rsm:.25rem;
    --rmd:.5rem;
    --rlg:.75rem;
    --rxl:1rem;
    --rfull:9999px;

    --sh1:0 1px 3px rgba(0,0,0,.12);
    --sh2:0 4px 16px rgba(0,0,0,.18);
    --sh3:0 12px 40px rgba(0,0,0,.26);
    --ease:180ms cubic-bezier(.16,1,.3,1);

    --cw:960px;
    --cww:1280px;
    --font-hero:'Archivo','Work Sans','Helvetica Neue',sans-serif;
}

*,*::before,*::after{
    box-sizing:border-box;
    margin:0;
    padding:0;
}

html{
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
    scroll-behavior:smooth;
    scroll-padding-top:4rem;
}

body{
    font-family:var(--font);
    font-size:var(--base);
    color:var(--text);
    background:var(--white);
    min-height:100dvh;
    line-height:1.65;
}

img,picture,video{
    display:block;
    max-width:100%;
    height:auto;
}

ul{
    list-style:none;
}

a{
    text-decoration:none;
    color:inherit;
    transition:color var(--ease), background var(--ease), border-color var(--ease), transform var(--ease), box-shadow var(--ease);
}

button{
    cursor:pointer;
    background:none;
    border:none;
    font:inherit;
}

h1,h2,h3,h4{
    line-height:1.15;
    text-wrap:balance;
}

p,li{
    text-wrap:pretty;
    max-width:68ch;
}

::selection{
    background:rgba(204,34,34,.2);
}

:focus-visible{
    outline:2px solid var(--red);
    outline-offset:3px;
    border-radius:var(--rsm);
}

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

.c{
    max-width:var(--cw);
    margin-inline:auto;
    padding-inline:clamp(var(--s4),4vw,var(--s10));
}

.cw{
    max-width:var(--cww);
    margin-inline:auto;
    padding-inline:clamp(var(--s4),4vw,var(--s10));
}

.tc{
    text-align:center;
}

/* Buttons */
.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:var(--s2);
    padding:var(--s3) var(--s6);
    border-radius:12px;
    font-size:var(--sm);
    font-weight:700;
    letter-spacing:.01em;
    transition:background var(--ease),transform var(--ease),box-shadow var(--ease),border-color var(--ease),color var(--ease);
    white-space:nowrap;
    min-height:48px;
}

.btn:active{
    transform:scale(.98);
}

.btn-p{
    background:linear-gradient(180deg,var(--red),#e12618);
    color:#fff;
    box-shadow:0 10px 24px rgba(204,34,34,.22);
}

.btn-p:hover{
    background:linear-gradient(180deg,#d92a1d,#bf1f14);
    box-shadow:0 14px 30px rgba(204,34,34,.28);
}

.btn-o{
    background:transparent;
    color:#fff;
    border:2px solid rgba(255,255,255,.8);
}

.btn-o:hover{
    background:rgba(255,255,255,.08);
    border-color:#fff;
}

/* Header */
.site-header{
    position:sticky;
    top:0;
    z-index:100;
    background:#fff;
    border-bottom:1px solid var(--border);
    box-shadow:var(--sh1);
}

.hd{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding-block:var(--s3);
    max-width:var(--cww);
    margin-inline:auto;
    padding-inline:clamp(var(--s4),4vw,var(--s10));
}

.logo{
    display:flex;
    align-items:center;
    font-weight:800;
    color:#111;
}

.logo svg{
    height:36px;
    width:auto;
}

.hnav{
    display:flex;
    align-items:center;
    gap:var(--s6);
}

.hnav a{
    font-size:var(--sm);
    font-weight:600;
    color:var(--muted);
}

.hnav a:hover{
    color:var(--red);
}

.hnav .btn{
    margin-left:var(--s2);
}

.mbtn{
    display:none;
    flex-direction:column;
    gap:5px;
    padding:var(--s2);
    min-width:44px;
    min-height:44px;
    align-items:center;
    justify-content:center;
}

.mbtn span{
    display:block;
    width:22px;
    height:2px;
    background:var(--dark);
    border-radius:2px;
    transition:all var(--ease);
}

@media(max-width:700px){
    .mbtn{
        display:flex;
    }

    .hnav{
        display:none;
        position:absolute;
        top:100%;
        left:0;
        right:0;
        background:#fff;
        flex-direction:column;
        align-items:flex-start;
        padding:var(--s4) clamp(var(--s4),4vw,var(--s10));
        gap:var(--s4);
        border-bottom:1px solid var(--border);
        box-shadow:var(--sh2);
    }

    .hnav.open{
        display:flex;
    }

    .hnav .btn{
        width:100%;
        justify-content:center;
    }
}

/* Hero */
.hero{
    position:relative;
    overflow:hidden;
    background:#121214;
    color:#fff;
}

.hero-in{
    display:grid;
    grid-template-columns:minmax(0,1.1fr) minmax(600px,.9fr);
    min-height:700px;
}

.hero-img{
    position:relative;
    overflow:hidden;
    background:#0c0c0e;
}

.hero-img img{
    width:100%;
    height:100%;
    min-height:700px;
    object-fit:cover;
    object-position:center center;
}

.hero-img::before{
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(90deg, rgba(0,0,0,.02) 0%, rgba(0,0,0,.04) 58%, rgba(0,0,0,.35) 78%, rgba(0,0,0,.72) 100%);
    z-index:1;
    pointer-events:none;
}

.hero-ct{
    position:relative;
    z-index:2;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:flex-start;
    text-align:left;
    padding:4.5rem 4rem 4.5rem 4rem;
    background:
            linear-gradient(90deg,
            #000 0%,
            #000 58%,
            #160000 76%,
            #431010 88%,
            #ff5a47 100%);
}

.hero-ct::before{
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(90deg, transparent 0%, transparent 68%, rgba(255,80,60,.12) 86%, rgba(255,80,60,.18) 100%);
    pointer-events:none;
}

.hero-ct > *{
    position:relative;
    z-index:1;
}

.eyebrow{
    display:inline-flex;
    align-items:center;
    gap:var(--s2);
    font-family:var(--font);
    font-size:.8rem;
    font-weight:800;
    letter-spacing:.22em;
    text-transform:uppercase;
    color:#ff4b3a;
    margin-bottom:1.2rem;
}

.hero h1{
    font-family:var(--font-hero);
    font-size:clamp(3rem,1.8rem + 2.6vw,4.6rem);
    font-weight:900;
    line-height:1.02;
    letter-spacing:-0.03em;
    color:#fff;
    margin-bottom:1.6rem;
    max-width:12.5ch;
    text-wrap:pretty;
}

.hero h1 em{
    font-style:normal;
    color:#ff3b2f;
    font-weight:900;
}

.hero-sub{
    font-family:var(--font);
    font-size:clamp(1.05rem,.98rem + .28vw,1.25rem);
    line-height:1.55;
    color:rgba(255,255,255,.92);
    max-width:24ch;
    margin-bottom:1.35rem;
}

.hero-sub strong{
    display:block;
    margin-top:.15rem;
    color:#fff;
    font-weight:800;
}

.eyebrow{
    display:inline-flex;
    align-items:center;
    gap:var(--s2);
    font-family:var(--font);
    font-size:.88rem;
    font-weight:800;
    letter-spacing:.18em;
    text-transform:uppercase;
    color:#ff4336;
    margin-bottom:1.35rem;
}

.hero-badges{
    display:flex;
    flex-wrap:wrap;
    gap:.6rem 1rem;
    margin-bottom:2rem;
    max-width:30rem;
}

.badge{
    display:inline-flex;
    align-items:center;
    gap:.45rem;
    font-size:.95rem;
    font-weight:500;
    color:rgba(255,255,255,.72);
    letter-spacing:.005em;
}

.hero .btn{
    min-width:260px;
    min-height:50px;
    border-radius:10px;
    font-size:1rem;
    font-weight:800;
    letter-spacing:.01em;
    padding:.95rem 1.6rem;
}

@media(max-width:1100px){
    .hero-in{
        grid-template-columns:1fr;
        min-height:auto;
    }

    .hero-img,
    .hero-img img{
        min-height:420px;
    }

    .hero-ct{
        padding:3rem 1.5rem 3.5rem;
        background:linear-gradient(180deg,#050505 0%, #000 60%, #451010 86%, #ff5a47 100%);
    }

    .hero h1,
    .hero-sub{
        max-width:none;
    }
}

@media(max-width:700px){
    .hero-img,
    .hero-img img{
        min-height:320px;
    }

    .hero h1{
        font-size:clamp(2rem,1.3rem + 4vw,3rem);
        max-width:12ch;
    }

    .hero-sub{
        font-size:1rem;
    }

    .hero .btn{
        min-width:100%;
    }
}

/* Divider / Label */
.slbl{
    display:inline-block;
    font-size:var(--xs);
    font-weight:700;
    letter-spacing:.2em;
    text-transform:uppercase;
    color:var(--red);
    margin-bottom:var(--s4);
}

.sdiv{
    width:60px;
    height:3px;
    background:var(--red);
    margin-bottom:var(--s10);
}

.sdiv.mx{
    margin-inline:auto;
}

/* Problem */
.s-prob{
  padding-block:clamp(var(--s10),5vw,5rem);
  background:#f5f5f3;
}

.prob-lay{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(2.5rem,6vw,5rem);
  align-items:center;
}

.s-prob h2{
  font-size:clamp(1.3rem,1rem + 1.3vw,2.1rem);
  font-weight:800;
  color:var(--dark);
  line-height:1.2;
  text-align:left;
}

.prob-rgt{
  text-align:left;
}

.prob-g{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.85rem clamp(1.5rem,3vw,2.5rem);
  margin-bottom:clamp(1.5rem,3vw,2rem);
}

.prob-i{
  display:flex;
  align-items:center;
  gap:.65rem;
  font-size:clamp(.88rem,.84rem + .18vw,1rem);
  font-weight:600;
  color:var(--dark);
}

.prob-i::before{
  content:'';
  display:block;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--red);
  flex-shrink:0;
}

.prob-mid{
  font-size:var(--base);
  color:var(--muted);
  margin-bottom:.5rem;
  line-height:1.7;
}

.prob-mid em{
  font-style:normal;
  font-weight:600;
  color:var(--text);
}

.prob-sting{
  font-size:clamp(1.05rem,.98rem + .3vw,1.3rem);
  font-weight:800;
  color:var(--red);
  margin-bottom:clamp(1rem,2vw,1.5rem);
  letter-spacing:-.01em;
}

.prob-close{
  font-size:var(--base);
  color:var(--muted);
  line-height:1.8;
}

@media(max-width:680px){
  .prob-lay{
    grid-template-columns:1fr;
    gap:var(--s8);
  }
  .s-prob h2{
    text-align:center;
  }
  .prob-rgt{
    text-align:center;
  }
  .prob-i{
    justify-content:center;
  }
}

/* Solution */
.s-sol{
  padding-block:clamp(var(--s10),6vw,5rem);
  background:var(--dark3);
  color:#fff;
}

.s-sol h2{
  font-size:clamp(1.2rem,.9rem + 1.1vw,1.8rem);
  font-weight:800;
  color:#fff;
  margin-bottom:var(--s6);
  max-width:40ch;
  margin-inline:auto;
}

.sol-pts{
  display:flex;
  flex-direction:column;
  gap:var(--s3);
  margin-bottom:var(--s6);
  align-items:center;
}

.sol-pts p{
  font-size:var(--base);
  color:rgba(255,255,255,.7);
}

.sol-hl{
  display:inline-flex;
  align-items:center;
  gap:var(--s2);
  font-size:var(--lg);
  font-weight:700;
  color:#fff;
  background:rgba(204,34,34,.2);
  border:1px solid rgba(204,34,34,.3);
  border-radius:var(--rfull);
  padding:var(--s2) var(--s5);
  margin-block:var(--s3);
}

.sol-cp{
  font-size:var(--base);
  color:rgba(255,255,255,.6);
  max-width:54ch;
  margin-inline:auto;
  line-height:1.75;
  margin-top:var(--s4);
}

/* Service */
.s-svc{
  padding-block:clamp(var(--s10),6vw,5rem);
  background:linear-gradient(160deg,#7a1010 0%,var(--red) 55%);
  color:#fff;
}

.s-svc h2{
  font-size:clamp(1.8rem,1.2rem + 2vw,3rem);
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#fff;
  margin-bottom:1rem;
}

.svc-div{
  width:min(580px,72%);
  height:2px;
  background:rgba(255,255,255,.55);
  margin-inline:auto;
  margin-bottom:clamp(2.5rem,5vw,4rem);
}

.pg{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:var(--s5);
}

.pc{
  background:#fff;
  border-radius:var(--rsm);
  padding:var(--s8) var(--s6);
  text-align:left;
  position:relative;
}

.pc h3{
  font-size:var(--sm);
  font-weight:700;
  color:var(--dark);
  letter-spacing:.06em;
  text-transform:uppercase;
  margin-bottom:var(--s5);
  text-align:center;
}

.ppr{
  font-size:clamp(2.2rem,3.5vw,3.2rem);
  font-weight:900;
  color:var(--dark);
  line-height:1;
  margin-bottom:var(--s6);
  text-align:center;
}

.ppr span{
  font-size:var(--lg);
  font-weight:500;
  color:var(--muted);
}

.plbl{
  font-size:var(--xs);
  font-weight:700;
  color:var(--red);
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:var(--s3);
}

.pc ul{
  list-style:disc;
  padding-left:var(--s5);
  display:flex;
  flex-direction:column;
  gap:var(--s1);
}

.pc li{
  font-size:var(--sm);
  color:var(--muted);
  max-width:none;
}

.pc li::before{
  display:none;
}

@media(max-width:800px){
  .pg{
    grid-template-columns:1fr;
    max-width:400px;
    margin-inline:auto;
  }
}

/* Area */
.s-area{
  padding-block:clamp(var(--s10),6vw,5rem);
  background:var(--dark3);
  color:#fff;
  position:relative;
  overflow:hidden;
}

.area-c{
  position:relative;
}

.area-h{
  font-family:var(--font-hero);
  font-size:clamp(1.3rem,.9rem + 1.5vw,2.2rem);
  font-weight:800;
  letter-spacing:.2em;
  color:#fff;
  margin-bottom:var(--s6);
}

.s-area p{
  font-size:var(--base);
  color:rgba(255,255,255,.65);
  line-height:1.8;
  margin-bottom:var(--s3);
  margin-inline:auto;
}

.s-area p strong{
  color:#fff;
  font-weight:700;
}

.area-note{
  margin-top:var(--s4);
}

.area-ico{
  position:absolute;
  bottom:-1.5rem;
  right:-1rem;
  opacity:.1;
  pointer-events:none;
}

.area-ico svg{
  width:clamp(160px,20vw,260px);
  height:auto;
}

/* Gallery */
.s-gal{
    padding-block:clamp(var(--s10),6vw,5rem);
    background:var(--light);
}

.s-gal h2{
    font-size:var(--xl);
    font-weight:800;
    letter-spacing:.18em;
    color:var(--dark);
    margin-bottom:clamp(var(--s8),4vw,var(--s12));
    font-style:italic;
}

.g-slides{
    position:relative;
    overflow:hidden;
    border-radius:var(--rlg);
    box-shadow:var(--sh3);
}

.g-slide{
    display:none;
    position:relative;
}

.g-slide.active{
    display:block;
}

.cw-wrap{
    position:relative;
    width:100%;
    overflow:hidden;
    touch-action:none;
    aspect-ratio:16/10;
    background:var(--dark);
    user-select:none;
}

.cimg{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    pointer-events:none;
    display:block;
}

.cafter{
    clip-path:inset(0 0 0 50%);
}

.chandle{
    position:absolute;
    top:0;
    bottom:0;
    left:50%;
    width:3px;
    background:#fff;
    transform:translateX(-50%);
    z-index:10;
    cursor:ew-resize;
    display:flex;
    align-items:center;
    justify-content:center;
}

.chandle::before{
    content:'';
    position:absolute;
    top:0;
    bottom:0;
    left:-22px;
    right:-22px;
}

.cknob{
    width:46px;
    height:46px;
    border-radius:50%;
    background:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:var(--sh2);
    flex-shrink:0;
    pointer-events:none;
}

.cknob svg{
    width:22px;
    height:22px;
}

.clbl{
    position:absolute;
    top:var(--s4);
    font-size:var(--xs);
    font-weight:700;
    letter-spacing:.1em;
    text-transform:uppercase;
    padding:var(--s1) var(--s3);
    border-radius:var(--rfull);
    pointer-events:none;
    z-index:5;
}

.clbl-b{
    left:var(--s4);
    background:rgba(0,0,0,.6);
    color:#fff;
}

.clbl-a{
    right:var(--s4);
    background:var(--red);
    color:#fff;
}

.g-nav{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:var(--s5);
    margin-top:var(--s6);
}

.gbtn{
    width:48px;
    height:48px;
    border-radius:50%;
    background:#fff;
    border:2px solid var(--border);
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    transition:background var(--ease),border-color var(--ease),transform var(--ease);
    box-shadow:var(--sh1);
}

.gbtn:hover{
    background:var(--red);
    border-color:var(--red);
    transform:scale(1.05);
}

.gbtn:hover svg{
    stroke:#fff;
}

.gbtn svg{
    width:20px;
    height:20px;
    stroke:var(--dark);
    fill:none;
    stroke-width:2.5;
    transition:stroke var(--ease);
}

.gdots{
    display:flex;
    gap:var(--s2);
}

.gdot{
    width:8px;
    height:8px;
    border-radius:50%;
    background:rgba(0,0,0,.2);
    cursor:pointer;
    transition:background var(--ease),transform var(--ease);
    border:none;
    padding:0;
    min-height:0;
}

.gdot.active{
    background:var(--red);
    transform:scale(1.3);
}

.cph{
    width:100%;
    aspect-ratio:16/10;
    background:linear-gradient(135deg,var(--dark2),var(--dark3));
    display:flex;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:var(--s4);
    color:rgba(255,255,255,.35);
    font-size:var(--sm);
    font-weight:600;
    border-radius:var(--rlg);
    text-align:center;
    padding:var(--s8);
}

.cph svg{
    width:48px;
    height:48px;
    opacity:.3;
}

/* Why */
.s-why{
  padding-block:clamp(var(--s10),6vw,5rem);
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(90deg,
      rgba(175,20,18,.68) 0%,
      rgba(120,18,16,.42) 12%,
      rgba(0,0,0,.24) 34%,
      rgba(0,0,0,.08) 100%
    ),
    url("assets/cta-bg.jpg") center center / cover no-repeat;
  color:#fff;
}

.why-title{
  font-family:var(--font-hero);
  font-size:clamp(1.8rem,1.2rem + 2vw,3rem);
  font-weight:900;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:#fff;
  margin-bottom:1.25rem;
}

.why-div{
  width:min(580px,72%);
  height:3px;
  background:var(--red);
  margin-inline:auto;
  margin-bottom:clamp(2.5rem,5vw,4rem);
}

.why-g{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:clamp(1.5rem,3vw,3rem);
}

.why-i{
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:var(--s4);
}

.why-ic{
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:var(--s2);
}

.why-ic svg{
  width:82px;
  height:82px;
}

.why-i h3{
  font-family:var(--font-hero);
  font-size:clamp(.95rem,.86rem + .38vw,1.25rem);
  font-weight:800;
  color:#fff;
  letter-spacing:-.01em;
  line-height:1.2;
}

.why-i p{
  font-size:clamp(.8rem,.76rem + .18vw,.92rem);
  font-weight:400;
  color:rgba(255,255,255,.62);
  max-width:16ch;
  margin-inline:auto;
  line-height:1.6;
}

@media(max-width:800px){
  .why-g{
    grid-template-columns:repeat(2,1fr);
    gap:clamp(2rem,4vw,2.5rem);
  }
}

@media(max-width:400px){
  .why-g{
    grid-template-columns:1fr;
  }
}

/* CTA */
.s-cta{
  background:#f4f3f0;
  padding-block:0;
}

.cta-intro{
  padding:clamp(2.5rem,5vw,4rem) 0 clamp(1.25rem,2.5vw,2rem);
}

.cta-intro-h{
  font-family:var(--font-hero);
  font-size:clamp(1.15rem,.85rem + 1.1vw,1.75rem);
  font-weight:800;
  color:#1a1a1a;
  letter-spacing:-.01em;
  line-height:1.2;
  margin-bottom:1.5rem;
}

.cta-divider{
  width:min(520px,58%);
  height:3px;
  background:var(--red);
  margin-inline:auto;
}

.cta-stage{
  padding-inline:clamp(var(--s4),3vw,var(--s10));
  padding-bottom:clamp(2.5rem,5vw,4rem);
}

.cta-banner{
  position:relative;
  min-height:420px;
  overflow:hidden;
  border-radius:6px;
  background:url("assets/cta-bg.jpg") center center / cover no-repeat;
  isolation:isolate;
}

.cta-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,
      rgba(0,0,0,.72) 0%,
      rgba(0,0,0,.6) 30%,
      rgba(0,0,0,.32) 54%,
      rgba(155,18,16,.55) 76%,
      rgba(195,28,18,.7) 100%);
  z-index:0;
}

.cta-content{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  min-height:420px;
  max-width:52%;
  padding:clamp(2.5rem,5vw,4rem) clamp(2rem,4vw,4.5rem);
}

.cta-lead{
  font-family:var(--font-hero);
  font-size:clamp(1.2rem,.9rem + 1.1vw,1.8rem);
  font-weight:800;
  line-height:1.3;
  color:#fff;
  margin-bottom:.9rem;
  text-shadow:0 2px 14px rgba(0,0,0,.4);
  max-width:none;
}

.cta-sub{
  font-size:clamp(.9rem,.82rem + .35vw,1.15rem);
  font-weight:700;
  line-height:1.55;
  color:rgba(255,255,255,.88);
  margin-bottom:2.25rem;
  text-shadow:0 2px 10px rgba(0,0,0,.3);
  max-width:none;
}

.cta-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:1rem;
  width:100%;
}

.cta-actions .btn{
  min-width:200px;
  min-height:50px;
  padding:.85rem 1.75rem;
  border-radius:999px;
  font-size:clamp(.88rem,.84rem + .18vw,1.02rem);
  font-weight:800;
  letter-spacing:.01em;
}

.cta-people{
  position:absolute;
  right:0;
  bottom:0;
  width:min(50%,680px);
  z-index:1;
  pointer-events:none;
}

.cta-people img{
  width:100%;
  height:auto;
  object-fit:contain;
  object-position:bottom right;
  display:block;
}

@media(max-width:920px){
  .cta-banner{
    min-height:auto;
  }

  .cta-content{
    max-width:100%;
    min-height:auto;
    padding:2.5rem 1.5rem 15rem;
  }

  .cta-people{
    width:min(72%,440px);
    left:50%;
    right:auto;
    transform:translateX(-50%);
    opacity:.88;
  }
}

@media(max-width:560px){
  .cta-intro-h{
    font-size:clamp(1rem,.88rem + 1.4vw,1.4rem);
  }

  .cta-stage{
    padding-inline:.75rem;
  }

  .cta-content{
    padding:2rem 1rem 13rem;
  }

  .cta-people{
    width:min(84%,340px);
  }

  .cta-actions{
    flex-direction:column;
    align-items:center;
    gap:.75rem;
  }

  .cta-actions .btn{
    width:100%;
    max-width:300px;
    min-width:0;
  }
}

/* Footer */
.site-footer{
    background:var(--dark2);
    color:rgba(255,255,255,.65);
    padding-block:clamp(var(--s8),4vw,var(--s12));
    border-top:1px solid rgba(255,255,255,.06);
}

.ft-in{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:var(--s8);
    flex-wrap:wrap;
}

.ft-br{
    display:flex;
    flex-direction:column;
    gap:var(--s3);
}

.ft-br .logo{
    color:#fff;
}

.ft-inf{
    font-size:var(--sm);
    line-height:1.8;
}

.ft-inf a{
    color:rgba(255,255,255,.55);
}

.ft-inf a:hover{
    color:var(--red);
}

.ft-lnk{
    display:flex;
    gap:var(--s5);
    align-items:center;
    flex-wrap:wrap;
}

.ft-lnk a{
    font-size:var(--sm);
    color:rgba(255,255,255,.55);
}

.ft-lnk a:hover{
    color:var(--red);
}

@media(max-width:600px){
    .ft-in{
        flex-direction:column;
    }

    .ft-lnk{
        flex-direction:column;
        align-items:flex-start;
        gap:var(--s3);
    }
}

/* Legal */
.pg-hero{
    background:var(--dark);
    color:#fff;
    padding-block:clamp(var(--s10),6vw,var(--s16));
    border-bottom:3px solid var(--red);
}

.pg-hero .ey{
    font-size:var(--xs);
    font-weight:700;
    letter-spacing:.15em;
    text-transform:uppercase;
    color:var(--red);
    margin-bottom:var(--s3);
    display:block;
}

.pg-hero h1{
    font-size:var(--xxl);
    font-weight:900;
    color:#fff;
}

.legal{
    padding-block:clamp(var(--s10),6vw,5rem);
    max-width:640px;
    margin-inline:auto;
    padding-inline:clamp(var(--s4),4vw,var(--s8));
}

.legal h2{
    font-size:var(--lg);
    font-weight:800;
    color:var(--dark);
    margin-top:var(--s10);
    margin-bottom:var(--s3);
    padding-bottom:var(--s2);
    border-bottom:2px solid var(--light);
}

.legal h2:first-child{
    margin-top:0;
}

.legal h3{
    font-size:var(--base);
    font-weight:700;
    margin-top:var(--s6);
    margin-bottom:var(--s2);
}

.legal p{
    font-size:var(--base);
    color:var(--muted);
    line-height:1.8;
    margin-bottom:var(--s4);
}

.legal ul{
    margin-bottom:var(--s4);
    padding-left:var(--s5);
    list-style:disc;
}

.legal li{
    font-size:var(--base);
    color:var(--muted);
    line-height:1.8;
    margin-bottom:var(--s2);
    max-width:none;
}

.phb{
    background:#fff8e1;
    border:1.5px dashed #e6a000;
    border-radius:var(--rmd);
    padding:var(--s4) var(--s5);
    margin-block:var(--s3);
    font-size:var(--sm);
    color:#7a5500;
    font-style:italic;
}