/* =====================================================
   MLM LAW
   Strategic Legal Counsel
   Version 1.0
   ===================================================== */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Inter:wght@300;400;500;600;700&display=swap');

:root{

--black:#0B0B0B;

--charcoal:#151515;

--charcoal2:#1C1C1C;

--gold:#C7A34B;

--gold-light:#E2C97D;

--white:#F5F5F5;

--grey:#BFBFBF;

--max-width:1400px;

}

*{

margin:0;

padding:0;

box-sizing:border-box;

}

html{

scroll-behavior:smooth;

}

body{

font-family:'Inter',sans-serif;

background:var(--black);

color:var(--white);

line-height:1.8;

overflow-x:hidden;

}

img{

display:block;

width:100%;

}

a{

text-decoration:none;

color:inherit;

}

ul{

list-style:none;

}

section{

padding:120px 8%;

}

/* ================= NAVIGATION ================= */

.navbar{

position:fixed;

top:0;

left:0;

width:100%;

padding:22px 7%;

display:flex;

justify-content:space-between;

align-items:center;

z-index:1000;

background:rgba(11,11,11,.65);

backdrop-filter:blur(18px);

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

}

.brand h1{

font-family:'Cormorant Garamond',serif;

font-size:42px;

font-weight:700;

letter-spacing:2px;

color:var(--gold);

}

.brand p{

font-size:13px;

letter-spacing:4px;

color:#d9d9d9;

text-transform:uppercase;

margin-top:2px;

}

.nav-links{

display:flex;

gap:42px;

align-items:center;

}

.nav-links a{

font-size:15px;

letter-spacing:1px;

transition:.3s;

}

.nav-links a:hover{

color:var(--gold);

}

.nav-button{

padding:14px 28px;

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

color:var(--gold);

transition:.35s;

}

.nav-button:hover{

background:var(--gold);

color:#111;

}

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

.hero{

position:relative;

min-height:100vh;

background:var(--black);

display:flex;

align-items:center;

overflow:hidden;

}

.hero-overlay{

position:absolute;

inset:0;

background:
linear-gradient(
90deg,
rgba(11,11,11,1) 0%,
rgba(11,11,11,.98) 34%,
rgba(11,11,11,.90) 48%,
rgba(11,11,11,.55) 60%,
rgba(11,11,11,.15) 73%,
rgba(11,11,11,0) 100%
);

z-index:1;

}

.hero-container{

position:relative;

z-index:2;

max-width:var(--max-width);

margin:auto;

width:100%;

display:grid;

grid-template-columns:1fr 1.15fr;

gap:70px;

align-items:center;

padding-top:120px;

}

.hero-text{

max-width:620px;

}

.eyebrow{

letter-spacing:5px;

text-transform:uppercase;

font-size:13px;

color:var(--gold-light);

margin-bottom:28px;

}

.hero-text h2{

font-family:'Cormorant Garamond',serif;

font-size:82px;

line-height:.95;

margin-bottom:26px;

}

.hero-text h3{

font-size:28px;

font-weight:500;

margin-bottom:28px;

color:var(--gold);

}

.hero-description{

font-size:19px;

color:#d6d6d6;

margin-bottom:22px;

}

.hero-support{

font-size:17px;

color:#bfbfbf;

margin-bottom:42px;

}

.hero-button{

display:inline-block;

padding:18px 42px;

background:var(--gold);

color:#111;

font-weight:600;

transition:.35s;

}

.hero-button:hover{

transform:translateY(-3px);

box-shadow:0 18px 40px rgba(199,163,75,.30);

}

.hero-image{

display:flex;

justify-content:flex-end;

align-items:flex-end;

}

.hero-image img{

width:100%;

max-width:900px;

height:auto;

object-fit:contain;

filter:drop-shadow(0 40px 70px rgba(0,0,0,.45));

}

/* ================= SECTION HEADINGS ================= */

.section-tag{

display:inline-block;

font-size:13px;

letter-spacing:5px;

text-transform:uppercase;

color:var(--gold);

margin-bottom:20px;

}

.section-heading{

text-align:center;

margin-bottom:70px;

}

.section-heading h2{

font-family:'Cormorant Garamond',serif;

font-size:60px;

font-weight:600;

color:var(--white);

}

/* ================= ABOUT ================= */

#about{

background:linear-gradient(
180deg,
#0B0B0B 0%,
#141414 100%
);

}

.section-container{

max-width:var(--max-width);

margin:auto;

display:grid;

grid-template-columns:1fr 1fr;

gap:90px;

align-items:center;

}

.section-container.reverse{

grid-template-columns:1fr 1fr;

}

.section-image{

display:flex;

justify-content:center;

align-items:center;

}

.section-image img{

width:100%;

max-width:620px;

border-radius:12px;

box-shadow:
0 30px 70px rgba(0,0,0,.45);

}

.section-text h2{

font-family:'Cormorant Garamond',serif;

font-size:60px;

line-height:1.05;

margin-bottom:30px;

color:var(--white);

}

.section-text p{

font-size:18px;

color:#d0d0d0;

margin-bottom:24px;

}

/* ================= PRACTICE AREAS ================= */

#practice{

background:var(--charcoal);

}

.practice-grid{

max-width:var(--max-width);

margin:auto;

display:grid;

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

gap:30px;

}

.practice-card{

background:#202020;

padding:38px;

border-radius:12px;

border:1px solid rgba(199,163,75,.12);

transition:.35s;

}

.practice-card:hover{

transform:translateY(-8px);

border-color:var(--gold);

box-shadow:

0 18px 45px rgba(0,0,0,.35);

}

.practice-card h3{

font-family:'Cormorant Garamond',serif;

font-size:32px;

margin-bottom:18px;

color:var(--gold);

}

.practice-card p{

font-size:17px;

color:#cfcfcf;

line-height:1.8;

}

/* ================= INTERNATIONAL EXPERIENCE ================= */

#experience{

background:
linear-gradient(
180deg,
#151515 0%,
#101010 100%
);

}

/* ================= CONTACT ================= */

#contact{

background:#0b0b0b;

}

.contact-container{

max-width:1100px;

margin:auto;

text-align:center;

}

.contact-container h2{

font-family:'Cormorant Garamond',serif;

font-size:62px;

margin-bottom:24px;

}

.contact-intro{

max-width:760px;

margin:0 auto 70px;

font-size:19px;

color:#d2d2d2;

}

.contact-grid{

display:grid;

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

gap:35px;

}

.contact-card{

background:#1a1a1a;

padding:40px;

border-radius:12px;

border:1px solid rgba(199,163,75,.12);

transition:.35s;

}

.contact-card:hover{

border-color:var(--gold);

transform:translateY(-6px);

}

.contact-card h3{

font-family:'Cormorant Garamond',serif;

font-size:34px;

margin-bottom:18px;

color:var(--gold);

}

.contact-card p{

font-size:17px;

line-height:1.8;

color:#d5d5d5;

}

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

footer{

position:relative;

overflow:hidden;

}

.footer-image img{

width:100%;

height:500px;

object-fit:cover;

display:block;

}

.footer-overlay{

position:absolute;

inset:0;

background:
linear-gradient(
180deg,
rgba(11,11,11,.65),
rgba(11,11,11,.92)
);

display:flex;

flex-direction:column;

justify-content:center;

align-items:center;

text-align:center;

padding:50px;

}

.footer-logo{
width:180px;
height:auto;
object-fit:contain;
margin-bottom:35px;
transition:.35s;
cursor:pointer;
}

.footer-logo{
width:180px !important;
height:auto !important;
object-fit:contain;
}

.footer-logo:hover{

transform:scale(1.05);

}

.footer-overlay h2{

font-family:'Cormorant Garamond',serif;

font-size:46px;

color:var(--gold);

margin-bottom:10px;

}

.footer-overlay p{

font-size:17px;

color:#dadada;

margin-bottom:14px;

}

/* ================= RESPONSIVE ================= */

@media (max-width:1100px){

.hero-container,
.section-container{

grid-template-columns:1fr;

text-align:center;

}

.hero-text{

margin:auto;

}

.hero-image{

justify-content:center;

margin-top:50px;

}

.practice-grid{

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

}

.contact-grid{

grid-template-columns:1fr;

}

.section-container.reverse .section-image{

order:-1;

}

}

@media (max-width:768px){

.navbar{

flex-direction:column;

gap:18px;

padding:20px;

}

.nav-links{

gap:18px;

flex-wrap:wrap;

justify-content:center;

}

.hero{

padding-bottom:70px;

}

.hero-text h2{

font-size:52px;

}

.hero-text h3{

font-size:22px;

}

.section-text h2,
.section-heading h2,
.contact-container h2{

font-size:42px;

}

.practice-grid{

grid-template-columns:1fr;

}

.section-container{

gap:45px;

}

section{

padding:90px 7%;

}

.footer-image img{

height:380px;

}

}

/* =========================
   LUXURY DETAILS & ANIMATION
========================= */

html{

scroll-padding-top:100px;

}

::selection{

background:var(--gold);

color:#111;

}

.hero::before{

content:"";

position:absolute;

top:0;

left:0;

width:420px;

height:420px;

background:radial-gradient(circle,
rgba(199,163,75,.18),
transparent 72%);

filter:blur(40px);

pointer-events:none;

z-index:0;

}

.hero::after{

content:"";

position:absolute;

right:-180px;

top:120px;

width:520px;

height:520px;

background:radial-gradient(circle,
rgba(199,163,75,.10),
transparent 72%);

filter:blur(60px);

pointer-events:none;

z-index:0;

}

.hero-image{

position:relative;

}

.hero-image::after{

content:"";

position:absolute;

top:0;

left:0;

width:100%;

height:100%;

background:linear-gradient(
90deg,
rgba(11,11,11,0) 45%,
rgba(11,11,11,.20) 70%,
rgba(11,11,11,.60) 88%,
rgba(11,11,11,1) 100%
);

pointer-events:none;

}

.practice-card,
.contact-card,
.hero-button,
.nav-button,
.footer-logo,
.section-image img{

transition:all .35s ease;

}

.section-image img:hover{

transform:translateY(-8px);

box-shadow:

0 35px 90px rgba(0,0,0,.55);

}

.hero-button:hover{

letter-spacing:.5px;

}

.nav-links a{

position:relative;

}

.nav-links a::after{

content:"";

position:absolute;

left:0;

bottom:-8px;

width:0;

height:2px;

background:var(--gold);

transition:.35s;

}

.nav-links a:hover::after{

width:100%;

}

.practice-card:hover h3,

.contact-card:hover h3{

color:var(--gold-light);

}

.section-text,
.practice-card,
.contact-card,
.hero-text,
.hero-image{

opacity:0;

transform:translateY(35px);

animation:fadeUp .9s ease forwards;

}

.hero-image{

animation-delay:.20s;

}

.practice-card:nth-child(2){animation-delay:.05s;}
.practice-card:nth-child(3){animation-delay:.10s;}
.practice-card:nth-child(4){animation-delay:.15s;}
.practice-card:nth-child(5){animation-delay:.20s;}
.practice-card:nth-child(6){animation-delay:.25s;}
.practice-card:nth-child(7){animation-delay:.30s;}
.practice-card:nth-child(8){animation-delay:.35s;}

@keyframes fadeUp{

from{

opacity:0;

transform:translateY(35px);

}

to{

opacity:1;

transform:translateY(0);

}

}
