.elementor-23295 .elementor-element.elementor-element-c284e91{--display:flex;--margin-top:-57px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}/* Start custom CSS for html, class: .elementor-element-eeaedef */a,
a:hover,
a:focus,
a:active,
a:visited{
    text-decoration:none !important;
}

button{
    font-family:inherit;
}


/* =========================================================
   COLORS
========================================================= */

:root{
    --black:#171514;
    --cream:#F8F5F1;
    --cream-dark:#F1ECE6;
    --gray:#5E5955;
    --red:#CC292B;
    --white:#F8F5F1;
}


/* =========================================================
   SECTION
========================================================= */

.policy-section{
    position:relative;
    overflow:hidden;
}

.dark{
    background:#171514;
    color:#F8F5F1;
}

.light{
    background:#F8F5F1;
    color:#171514;
}


/* =========================================================
   CONTAINER
========================================================= */

.container{
    width:min(1180px,90%);
    margin:0 auto;
    position:relative;
    z-index:5;
}


/* =========================================================
   ALL HEADINGS — IMPORTANT
========================================================= */

h1,
h2,
h3,
h4,
h5,
h6{
    font-family:"Playfair Display",Georgia,serif !important;
    text-decoration:none !important;
}


/* LIGHT HEADINGS */

.light h1,
.light h2,
.light h3,
.light h4,
.light h5,
.light h6{
    color:#171514 !important;
}


/* DARK HEADINGS */

.dark h1,
.dark h2,
.dark h3,
.dark h4,
.dark h5,
.dark h6{
    color:#F8F5F1 !important;
}


/* RED WORDS */

h1 span,
h2 span,
h3 span,
h4 span,
h5 span,
h6 span{
    color:#CC292B !important;
    text-decoration:none !important;
}


/* =========================================================
   EYEBROW
========================================================= */

.eyebrow{
    margin-bottom:28px;

    font-size:10px;
    font-weight:600;

    line-height:1.4;

    letter-spacing:.2em;

    text-transform:uppercase;

    opacity:.65;
}


/* =========================================================
   GIANT BACKGROUND TEXT
========================================================= */

.giant-text{
    position:absolute;

    top:7%;
    left:-2%;

    z-index:1;

    font-family:"Playfair Display",Georgia,serif;

    font-size:clamp(100px,18vw,280px);

    font-weight:600;

    line-height:.72;

    letter-spacing:-.07em;

    white-space:nowrap;

    pointer-events:none;

    user-select:none;

    opacity:.045;
}

.light .giant-text{
    opacity:.055;
}

.giant-right{
    top:auto;
    left:auto;
    right:-3%;
    bottom:5%;
}


/* =========================================================
   BOTTOM RAIL
========================================================= */

.bottom-rail{
    position:absolute;

    left:0;
    bottom:0;

    width:100%;

    padding:17px 5vw;

    border-top:1px solid rgba(255,255,255,.16);

    font-size:9px;

    line-height:1;

    letter-spacing:.18em;

    opacity:.5;

    z-index:10;
}

.light .bottom-rail{
    border-color:rgba(23,21,20,.15);
}


/* =========================================================
   HERO / SLIDER START
========================================================= */

.hero-slider{
    position:relative;

    min-height:100vh;

    overflow:hidden;

    background:#171514;

    color:#F8F5F1;

    display:flex;

    align-items:center;
}


/* slider background */

.hero-slide{
    position:absolute;

    inset:0;

    opacity:0;

    transform:scale(1.04);

    transition:
        opacity 1s ease,
        transform 7s ease;

    pointer-events:none;
}

.hero-slide.active{
    opacity:1;

    transform:scale(1);
}


/* decorative slide background */

.hero-slide::before{
    content:"";

    position:absolute;

    width:650px;
    height:650px;

    border:1px solid rgba(255,255,255,.08);

    border-radius:50%;

    right:-250px;
    top:10%;
}

.hero-slide::after{
    content:"";

    position:absolute;

    width:360px;
    height:360px;

    border:1px solid #CC292B;

    border-radius:50%;

    right:80px;
    top:25%;

    opacity:.45;
}


/* hero giant text */

.hero-giant{
    position:absolute;

    left:-2%;
    top:12%;

    font-family:"Playfair Display",Georgia,serif;

    font-size:clamp(110px,20vw,310px);

    line-height:.7;

    letter-spacing:-.08em;

    opacity:.045;

    white-space:nowrap;

    pointer-events:none;
}


/* hero content */

.hero-content{
    position:relative;

    z-index:10;

    padding:140px 0 110px;
}

.hero-content h1{
    max-width:1050px;

    font-size:clamp(55px,8.2vw,112px);

    font-weight:600;

    line-height:.94;

    letter-spacing:-.045em;

    color:#F8F5F1 !important;
}

.hero-content h1 span{
    color:#CC292B !important;
}

.hero-description{
    max-width:680px;

    margin-top:40px;

    color:#c8c2bd;

    font-size:17px;

    line-height:1.85;
}

.hero-meta{
    display:flex;

    flex-wrap:wrap;

    gap:45px;

    margin-top:65px;

    padding-top:20px;

    border-top:1px solid rgba(255,255,255,.22);
}

.hero-meta span{
    font-size:9px;

    letter-spacing:.16em;

    opacity:.55;
}


/* =========================================================
   SLIDER CONTROLS
========================================================= */

.slider-controls{
    position:absolute;

    right:5vw;
    bottom:70px;

    z-index:30;

    display:flex;

    align-items:center;

    gap:14px;
}

.slider-btn{
    width:45px;
    height:45px;

    border:1px solid rgba(255,255,255,.25);

    background:transparent;

    color:white;

    cursor:pointer;

    font-size:16px;

    transition:.3s ease;
}

.slider-btn:hover{
    background:#CC292B;

    border-color:#CC292B;
}

.slider-counter{
    min-width:65px;

    color:#fff;

    font-size:10px;

    letter-spacing:.15em;

    text-align:center;
}


/* =========================================================
   HERO DOTS
========================================================= */

.slider-dots{
    position:absolute;

    left:5vw;
    bottom:67px;

    z-index:30;

    display:flex;

    gap:8px;
}

.slider-dot{
    width:25px;
    height:1px;

    border:0;

    padding:0;

    background:rgba(255,255,255,.25);

    cursor:pointer;

    transition:.3s ease;
}

.slider-dot.active{
    width:50px;

    background:#CC292B;
}


/* =========================================================
   POLICY SECTIONS
========================================================= */

.policy-section{
    padding:150px 0;
}

.section-layout{
    display:grid;

    grid-template-columns:90px 1fr;

    gap:60px;
}

.section-number{
    padding-top:5px;

    font-family:"Playfair Display",Georgia,serif;

    font-size:20px;

    opacity:.4;
}

.section-content{
    position:relative;
    z-index:5;
}

.section-content h2{
    max-width:950px;

    margin:0 !important;

    font-size:clamp(42px,5.5vw,76px);

    font-weight:600 !important;

    line-height:1;

    letter-spacing:-.04em;

    text-decoration:none !important;
}

.section-content h2 span{
    color:#CC292B !important;
}


/* =========================================================
   BODY COPY
========================================================= */

.copy{
    max-width:820px;

    margin-top:45px;
}

.copy p{
    margin-bottom:25px;

    font-size:16px;

    line-height:1.9;

    color:#5E5955;
}

.dark .copy p{
    color:#c7c1bc;
}

.lead{
    margin-top:40px;

    color:#5E5955;

    font-size:16px;

    line-height:1.9;
}

.closing{
    max-width:820px;

    margin-top:35px;

    color:#5E5955;

    font-size:16px;

    line-height:1.9;
}

.dark .closing{
    color:#c7c1bc;
}


/* =========================================================
   EDITORIAL GRID
========================================================= */

.editorial-grid{
    display:grid;

    grid-template-columns:repeat(2,1fr);

    margin-top:55px;

    border-top:1px solid rgba(255,255,255,.18);

    border-left:1px solid rgba(255,255,255,.18);
}

.editorial-item{
    padding:30px;

    border-right:1px solid rgba(255,255,255,.18);

    border-bottom:1px solid rgba(255,255,255,.18);
}

.editorial-item strong{
    display:block;

    font-size:10px;

    letter-spacing:.16em;
}

.editorial-item p{
    margin-top:15px;

    font-size:13px;

    line-height:1.7;

    opacity:.65;
}


/* =========================================================
   NUMBER GRID
========================================================= */

.number-grid{
    display:grid;

    grid-template-columns:repeat(2,1fr);

    margin-top:50px;

    border-top:1px solid rgba(23,21,20,.16);

    border-left:1px solid rgba(23,21,20,.16);
}

.number-item{
    min-height:105px;

    padding:25px;

    display:flex;

    align-items:flex-start;

    gap:20px;

    border-right:1px solid rgba(23,21,20,.16);

    border-bottom:1px solid rgba(23,21,20,.16);
}

.number-item strong{
    font-family:"Playfair Display",Georgia,serif;

    font-size:21px;

    font-weight:500;

    opacity:.45;
}

.number-item span{
    font-size:14px;

    line-height:1.6;
}


/* =========================================================
   FACTOR ROW
========================================================= */

.factor-row{
    display:flex;

    flex-wrap:wrap;

    margin-top:50px;

    padding:20px 0;

    border-top:1px solid rgba(255,255,255,.18);

    border-bottom:1px solid rgba(255,255,255,.18);
}

.light .factor-row{
    border-color:rgba(23,21,20,.16);
}

.factor-row span{
    margin-right:30px;

    font-size:9px;

    letter-spacing:.14em;

    opacity:.55;
}


/* =========================================================
   STATEMENT LIST
========================================================= */

.statement-list{
    margin-top:50px;

    border-top:1px solid rgba(23,21,20,.16);
}

.statement{
    display:grid;

    grid-template-columns:220px 1fr;

    gap:20px;

    padding:23px 0;

    border-bottom:1px solid rgba(23,21,20,.16);
}

.statement strong{
    font-size:10px;

    letter-spacing:.13em;
}

.statement span{
    font-size:14px;

    line-height:1.6;

    opacity:.65;
}


/* =========================================================
   THREE COLUMNS
========================================================= */

.three-columns{
    display:grid;

    grid-template-columns:repeat(3,1fr);

    margin-top:50px;

    border-top:1px solid rgba(255,255,255,.18);
}

.three-column{
    padding:30px 25px 25px 0;

    margin-right:25px;

    border-right:1px solid rgba(255,255,255,.18);
}

.three-column:last-child{
    border-right:0;
}

.three-column strong{
    font-size:10px;

    letter-spacing:.15em;
}

.three-column p{
    margin-top:15px;

    font-size:13px;

    line-height:1.7;

    opacity:.65;
}


/* =========================================================
   IMPORTANT NOTE
========================================================= */

.important-note{
    margin-top:50px;

    padding-left:22px;

    border-left:2px solid #CC292B;
}

.important-note strong{
    font-size:9px;

    letter-spacing:.16em;
}

.important-note p{
    margin-top:12px;

    font-size:14px;

    line-height:1.7;

    opacity:.7;
}


/* =========================================================
   RED STATEMENT
========================================================= */

.red-statement{
    margin-top:50px;

    padding:22px 0;

    color:#CC292B;

    border-top:1px solid #CC292B;

    border-bottom:1px solid #CC292B;

    font-size:10px;

    font-weight:700;

    letter-spacing:.16em;
}


/* =========================================================
   DELAY GRID
========================================================= */

.delay-grid{
    display:grid;

    grid-template-columns:repeat(3,1fr);

    margin-top:50px;

    border-top:1px solid rgba(23,21,20,.16);
}

.delay-grid div{
    padding:19px 15px 19px 0;

    border-bottom:1px solid rgba(23,21,20,.16);

    font-size:12px;

    line-height:1.5;
}


/* =========================================================
   MILESTONES
========================================================= */

.milestones{
    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:15px;

    margin-top:55px;

    padding:25px 0;

    border-top:1px solid rgba(255,255,255,.18);

    border-bottom:1px solid rgba(255,255,255,.18);
}

.milestones span,
.milestones strong{
    font-size:9px;

    letter-spacing:.14em;
}

.milestones i{
    color:#CC292B;

    font-style:normal;

    font-size:20px;
}


/* =========================================================
   ISSUE GRID
========================================================= */

.issue-grid{
    display:grid;

    grid-template-columns:1fr 1fr;

    margin-top:55px;

    border-top:1px solid rgba(23,21,20,.16);

    border-bottom:1px solid rgba(23,21,20,.16);
}

.issue{
    padding:30px 20px 30px 0;

    font-size:11px;

    letter-spacing:.13em;
}

.issue + .issue{
    padding-left:25px;

    border-left:1px solid rgba(23,21,20,.16);
}

.issue strong{
    display:block;

    margin-top:12px;

    color:#CC292B;

    font-size:9px;
}


/* =========================================================
   CONTACT
========================================================= */

.contact-card{
    max-width:820px;

    margin-top:50px;

    padding:35px 0;

    border-top:1px solid rgba(255,255,255,.18);

    border-bottom:1px solid rgba(255,255,255,.18);
}

.contact-card > strong{
    font-size:12px;

    letter-spacing:.16em;
}

.contact-address{
    margin-top:20px;

    color:#c5bfba;

    font-size:15px;

    line-height:1.8;
}

.contact-details{
    display:flex;

    flex-wrap:wrap;

    gap:60px;

    margin-top:30px;
}

.contact-details small{
    display:block;

    margin-bottom:8px;

    font-size:8px;

    letter-spacing:.16em;

    opacity:.45;
}

.contact-details a{
    color:#fff !important;

    font-size:14px;

    text-decoration:none !important;

    transition:.25s ease;
}

.contact-details a:hover{
    color:#CC292B !important;
}


/* =========================================================
   FINAL CTA
========================================================= */

.final-cta{
    min-height:90vh;

    position:relative;

    display:flex;

    align-items:center;

    padding:150px 0 100px;
}

.final-cta h2{
    max-width:950px;

    font-size:clamp(50px,7vw,100px);

    line-height:.96;

    letter-spacing:-.045em;

    color:#F8F5F1 !important;
}

.final-cta h2 span{
    color:#CC292B !important;
}

.final-text{
    max-width:650px;

    margin-top:35px;

    color:#c5bfba;

    font-size:16px;

    line-height:1.8;
}


/* =========================================================
   CTA BUTTONS
========================================================= */

.cta-buttons{
    display:flex;

    flex-wrap:wrap;

    gap:15px;

    margin-top:45px;
}

.btn{
    display:inline-flex;

    align-items:center;

    gap:20px;

    padding:17px 25px;

    font-size:10px;

    font-weight:700;

    letter-spacing:.14em;

    text-decoration:none !important;

    transition:.3s ease;
}

.btn-primary{
    background:#CC292B;

    color:#fff !important;
}

.btn-primary:hover{
    transform:translateY(-3px);

    color:#fff !important;
}

.btn-secondary{
    color:#fff !important;

    border:1px solid rgba(255,255,255,.35);
}

.btn-secondary:hover{
    color:#fff !important;

    border-color:#fff;
}


/* =========================================================
   DECORATIVE CTA
========================================================= */

.cta-circle{
    position:absolute;

    width:520px;
    height:520px;

    right:-180px;
    top:15%;

    border:1px solid rgba(255,255,255,.14);

    border-radius:50%;

    pointer-events:none;
}

.cta-arc{
    position:absolute;

    width:340px;
    height:340px;

    right:60px;
    top:25%;

    border:1px solid #CC292B;

    border-radius:50%;

    opacity:.8;

    pointer-events:none;
}

.cta-cross{
    position:absolute;

    right:8%;
    bottom:18%;

    color:#CC292B;

    font-size:30px;
}


/* =========================================================
   SCROLL REVEAL
========================================================= */

.reveal{
    opacity:0;

    transform:translateY(35px);

    transition:
        opacity .8s ease,
        transform .8s ease;
}

.reveal.visible{
    opacity:1;

    transform:translateY(0);
}


/* =========================================================
   TABLET
========================================================= */

@media(max-width:850px){

    .hero-content{
        padding:120px 0 110px;
    }

    .hero-content h1{
        font-size:clamp(50px,10vw,80px);
    }

    .policy-section{
        padding:110px 0;
    }

    .section-layout{
        grid-template-columns:1fr;

        gap:20px;
    }

    .section-number{
        font-size:15px;
    }

    .editorial-grid,
    .number-grid{
        grid-template-columns:1fr;
    }

    .three-columns{
        grid-template-columns:1fr;
    }

    .three-column{
        margin:0;

        padding-right:0;

        border-right:0;

        border-bottom:1px solid rgba(255,255,255,.18);
    }

    .delay-grid{
        grid-template-columns:1fr;
    }

    .statement{
        grid-template-columns:1fr;

        gap:8px;
    }

    .milestones{
        flex-wrap:wrap;
    }

    .milestones i{
        display:none;
    }

    .cta-circle{
        width:330px;
        height:330px;

        right:-170px;
    }

    .cta-arc{
        width:220px;
        height:220px;

        right:-20px;
    }

    .hero-slide::before{
        width:400px;
        height:400px;

        right:-200px;
    }

    .hero-slide::after{
        width:250px;
        height:250px;

        right:-10px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:600px){

    .container{
        width:88%;
    }

    .hero-slider{
        min-height:100vh;
    }

    .hero-content{
        padding:120px 0 140px;
    }

    .hero-content h1{
        font-size:52px;

        line-height:.97;
    }

    .hero-description{
        margin-top:30px;

        font-size:15px;
    }

    .hero-meta{
        flex-direction:column;

        gap:12px;

        margin-top:45px;
    }

    .policy-section{
        padding:95px 0;
    }

    .section-content h2{
        font-size:43px;

        line-height:1.02;
    }

    .copy p,
    .closing,
    .lead{
        font-size:15px;
    }

    .factor-row span{
        margin-bottom:12px;
    }

    .issue-grid{
        grid-template-columns:1fr;
    }

    .issue + .issue{
        padding-left:0;

        border-left:0;

        border-top:1px solid rgba(23,21,20,.16);
    }

    .contact-details{
        flex-direction:column;

        gap:25px;
    }

    .cta-buttons{
        flex-direction:column;

        align-items:flex-start;
    }

    .btn{
        width:auto;
    }

    .slider-controls{
        right:5vw;

        bottom:70px;
    }

    .slider-dots{
        left:5vw;

        bottom:70px;
    }

    .slider-counter{
        display:none;
    }

    .giant-text,
    .hero-giant{
        font-size:100px;
    }

    .bottom-rail{
        font-size:7px;

        letter-spacing:.12em;

        white-space:nowrap;
    }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media(prefers-reduced-motion:reduce){

    html{
        scroll-behavior:auto;
    }

    .hero-slide{
        transition:none;
    }

    .reveal{
        opacity:1;

        transform:none;

        transition:none;
    }

}/* End custom CSS */