/* =========================================================
LEGAL PAGE
========================================================= */
.legal-page{
background:#fff;
color:#171717;
overflow:hidden;
}
/* LEGAL SECTION SPACING */
.legal-content,
.legal-footer-cta{
padding:var(--dvs-section-padding) 0;
}
/* =========================================================
LEGAL HERO
========================================================= */
.legal-hero{
position:relative;
background:#171717;
color:#fff;
padding:150px 0 65px;
overflow:hidden;
}
.legal-hero-grid{
position:absolute;
inset:0;
background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
background-size:90px 90px;
animation:legalGridMove 25s linear infinite;
}
.legal-hero::after{
content:"";
position:absolute;
width:700px;
height:700px;
right:-380px;
top:-470px;
border:1px solid rgba(238,121,31,.14);
border-radius:50%;
animation:legalFloat 10s ease-in-out infinite;
}
.legal-hero-inner{
position:relative;
z-index:2;
display:grid;
grid-template-columns:90px minmax(0,850px);
gap:45px;
align-items:start;
}
.legal-hero-index{
padding-top:10px;
}
.legal-hero-index span{
display:block;
color:rgba(255,255,255,.35);
font-size:8px;
font-weight:800;
letter-spacing:2px;
}
.legal-hero-index strong{
display:block;
margin-top:8px;
color:#ee791f;
font-family:var(--heading-font);
font-size:45px;
line-height:1;
letter-spacing:-.07em;
}
.legal-eyebrow{
margin:0 0 20px;
color:#ee791f;
font-size:9px;
font-weight:800;
letter-spacing:2.5px;
}
.legal-hero h1{
margin:0;
font-family:var(--heading-font);
font-size:clamp(65px,8vw,115px);
font-weight:800;
line-height:.83;
letter-spacing:-.08em;
}
.legal-hero h1 span{
color:#ee791f;
}
.legal-intro{
max-width:650px;
margin:40px 0 0;
color:rgba(255,255,255,.52);
font-size:14px;
line-height:1.9;
}
.legal-meta{
position:relative;
z-index:2;
display:flex;
justify-content:space-between;
margin-top:100px;
padding-top:18px;
border-top:1px solid rgba(255,255,255,.12);
color:rgba(255,255,255,.28);
font-size:7px;
font-weight:800;
letter-spacing:1.8px;
}
.legal-meta span:first-child{
color:#ee791f;
}
/* =========================================================
LEGAL CONTENT
========================================================= */
.legal-content-header{
display:grid;
grid-template-columns:90px 1fr;
gap:45px;
padding-bottom:65px;
border-bottom:1px solid #ddd;
}
.legal-content-header>span{
color:#ee791f;
font-size:10px;
font-weight:800;
}
.legal-section-label{
margin:0 0 15px;
color:#ee791f;
font-size:9px;
font-weight:800;
letter-spacing:2px;
}
.legal-content-header h2{
margin:0;
font-family:var(--heading-font);
font-size:clamp(40px,4.5vw,65px);
font-weight:800;
line-height:1;
letter-spacing:-.07em;
}
.legal-document{
max-width:1050px;
margin:0 auto;
padding-top:20px;
}
.legal-section{
display:grid;
grid-template-columns:70px minmax(0,1fr);
gap:35px;
padding:58px 0;
border-bottom:1px solid #e3e3e0;
}
.legal-section-number{
padding-top:6px;
color:#ee791f;
font-size:9px;
font-weight:800;
letter-spacing:1px;
}
.legal-section-body{
max-width:850px;
}
.legal-section-body h3{
margin:0 0 20px;
font-family:var(--heading-font);
font-size:25px;
font-weight:800;
letter-spacing:-.035em;
}
.legal-section-body p{
margin:0 0 16px;
color:#656565;
font-size:14px;
line-height:1.9;
}
.legal-section-body p:last-of-type{
margin-bottom:0;
}
.legal-section-body strong{
color:#171717;
font-weight:700;
}
.legal-section-body a{
color:#171717;
font-weight:700;
text-decoration:none;
border-bottom:1px solid #ee791f;
transition:.3s;
}
.legal-section-body a:hover{
color:#ee791f;
}
.legal-contact-link{
display:inline-flex;
align-items:center;
gap:12px;
margin-top:10px;
color:#171717!important;
border-bottom:0!important;
font-size:10px;
letter-spacing:1px;
text-transform:uppercase;
}
.legal-contact-link i{
color:#ee791f;
transition:.3s;
}
.legal-contact-link:hover i{
transform:translateX(5px);
}
/* =========================================================
LEGAL FOOTER CTA
========================================================= */
.legal-footer-cta{
position:relative;
background:#ee791f;
overflow:hidden;
}
.legal-footer-cta::before{
content:"";
position:absolute;
width:500px;
height:500px;
right:-260px;
top:-300px;
border:1px solid rgba(23,23,23,.12);
border-radius:50%;
}
.legal-footer-cta-inner{
position:relative;
z-index:2;
display:flex;
align-items:center;
justify-content:space-between;
gap:50px;
}
.legal-footer-cta .legal-eyebrow{
color:#171717;
}
.legal-footer-cta h2{
margin:0;
font-family:var(--heading-font);
font-size:clamp(40px,4.8vw,68px);
font-weight:800;
line-height:.95;
letter-spacing:-.07em;
}
.legal-footer-cta h2 span{
color:#171717;
}
.legal-footer-cta>a{
display:inline-flex;
align-items:center;
justify-content:center;
gap:13px;
flex-shrink:0;
padding:18px 27px;
background:#171717;
color:#fff;
font-size:9px;
font-weight:800;
letter-spacing:1.2px;
text-transform:uppercase;
transition:.35s;
}
.legal-footer-cta>a i{
color:#ee791f;
transition:.35s;
}
.legal-footer-cta>a:hover{
background:#fff;
color:#171717;
transform:translateY(-4px);
}
.legal-footer-cta>a:hover i{
transform:translateX(5px);
}
/* =========================================================
ANIMATIONS
========================================================= */
@keyframes legalGridMove{
from{
background-position:0 0,0 0;
}
to{
background-position:90px 90px,90px 90px;
}
}
@keyframes legalFloat{
0%,100%{
transform:translate(0,0);
}
50%{
transform:translate(-20px,20px);
}
}
/* =========================================================
LAPTOP
========================================================= */
@media(max-width:991px){
.legal-hero{
padding:125px 0 55px;
}
.legal-hero-inner{
grid-template-columns:55px 1fr;
gap:30px;
}
.legal-content-header{
grid-template-columns:55px 1fr;
gap:30px;
}
}
/* =========================================================
MOBILE
========================================================= */
@media(max-width:767px){
.legal-hero{
padding:105px 0 45px;
}
.legal-hero-inner{
display:block;
}
.legal-hero-index{
display:flex;
align-items:center;
gap:12px;
margin-bottom:30px;
}
.legal-hero-index strong{
margin:0;
font-size:30px;
}
.legal-hero h1{
font-size:60px;
}
.legal-intro{
margin-top:30px;
font-size:12px;
}
.legal-meta{
margin-top:65px;
font-size:6px;
}
.legal-content-header{
display:block;
padding-bottom:45px;
}
.legal-content-header>span{
display:block;
margin-bottom:18px;
}
.legal-content-header h2{
font-size:40px;
}
.legal-section{
grid-template-columns:35px 1fr;
gap:18px;
padding:40px 0;
}
.legal-section-body h3{
font-size:21px;
}
.legal-section-body p{
font-size:12px;
line-height:1.85;
}
.legal-footer-cta-inner{
display:block;
}
.legal-footer-cta h2{
font-size:40px;
}
.legal-footer-cta>a{
width:100%;
margin-top:30px;
}
}
/* =========================================================
SMALL MOBILE
========================================================= */
@media(max-width:480px){
.legal-hero h1{
font-size:53px;
}
.legal-meta{
display:block;
}
.legal-meta span{
display:block;
margin-bottom:8px;
}
.legal-section{
grid-template-columns:28px 1fr;
gap:14px;
}
.legal-section-body h3{
font-size:19px;
}
}
/* =========================================================
REDUCED MOTION
========================================================= */
@media(prefers-reduced-motion:reduce){
.legal-hero-grid,
.legal-hero::after{
animation:none;
}
}