:root{
--bleumarin:#0f172a;
--auriu:#c6a74e;
--roz-pal:#f8f5f2;
}

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

html{
overflow-x:hidden;
}

body{
margin:0;
font-family:'Montserrat',sans-serif;
color:#222;
scroll-behavior:smooth;
overflow-x:hidden;
}

/* HEADER */
header{
position:fixed;
width:100%;
background:rgba(15,23,42,0.95);
z-index:1000;
}

.container{
width:90%;
max-width:1200px;
margin:auto;
}

.site-nav{
display:flex;
justify-content:space-between;
align-items:center;
padding:18px 0;
position:relative;
gap:12px;
}

.nav-toggle{
display:none;
flex-shrink:0;
align-items:center;
justify-content:center;
width:46px;
height:46px;
padding:0;
border:1px solid rgba(198,167,78,0.45);
border-radius:10px;
background:rgba(255,255,255,0.06);
color:var(--auriu);
cursor:pointer;
transition:background 0.25s,border-color 0.25s;
}

.nav-toggle:hover,.nav-toggle:focus-visible{
background:rgba(198,167,78,0.12);
border-color:var(--auriu);
outline:none;
}

.nav-toggle-open,.nav-toggle-close{
position:absolute;
left:50%;
top:50%;
transform:translate(-50%,-50%);
font-size:20px;
line-height:1;
transition:opacity 0.2s,transform 0.25s;
}

.nav-toggle-close{
opacity:0;
transform:translate(-50%,-50%) scale(0.5);
pointer-events:none;
}

.site-header-open .nav-toggle-open{
opacity:0;
transform:translate(-50%,-50%) scale(0.5);
}

.site-header-open .nav-toggle-close{
opacity:1;
transform:translate(-50%,-50%) scale(1);
}

.nav-backdrop{
position:fixed;
inset:0;
z-index:998;
background:rgba(0,0,0,0.45);
backdrop-filter:blur(2px);
-webkit-backdrop-filter:blur(2px);
opacity:0;
visibility:hidden;
pointer-events:none;
transition:opacity 0.3s ease,visibility 0.3s ease;
}

.site-header-open .nav-backdrop{
opacity:1;
visibility:visible;
pointer-events:auto;
}

body.site-nav-open{
overflow:hidden;
touch-action:none;
}

.logo{
display:flex;
align-items:center;
gap:15px;
color:white;
min-width:0;
flex:1;
}

.monograma{
flex-shrink:0;
font-family:'Playfair Display',serif;
font-size:28px;
color:var(--auriu);
border:1px solid var(--auriu);
padding:6px 12px;
border-radius:50px;
}

.logo-text{
font-size:14px;
line-height:1.3;
min-width:0;
overflow-wrap:anywhere;
}

.logo-text strong{
font-weight:600;
}

.nav-menu{
list-style:none;
display:flex;
gap:25px;
margin:0;
padding:0;
align-items:center;
}

.nav-menu a{
color:white;
text-decoration:none;
transition:color 0.3s;
}

.nav-menu a:hover,.nav-menu a:focus-visible{
color:var(--auriu);
outline:none;
}

@media(max-width:900px){
header .container{
position:relative;
z-index:1001;
}

.site-nav{
flex-wrap:nowrap;
padding:14px 0;
}

.logo-text{
font-size:12px;
line-height:1.35;
}

.logo-text strong{
display:block;
font-size:13px;
}

.monograma{
font-size:22px;
padding:5px 10px;
}

.nav-toggle{
display:flex;
position:relative;
}

.nav-menu{
position:fixed;
top:0;
right:0;
bottom:0;
width:min(320px,88vw);
max-width:100%;
flex-direction:column;
align-items:stretch;
gap:0;
padding:calc(88px + env(safe-area-inset-top,0px)) 0 calc(24px + env(safe-area-inset-bottom,0px));
background:rgba(15,23,42,0.98);
box-shadow:-8px 0 32px rgba(0,0,0,0.35);
z-index:999;
transform:translateX(100%);
visibility:hidden;
transition:transform 0.35s ease,visibility 0.35s;
}

.site-header-open .nav-menu{
transform:translateX(0);
visibility:visible;
}

.nav-menu li{
border-bottom:1px solid rgba(255,255,255,0.08);
}

.nav-menu a{
display:block;
padding:16px 22px;
font-size:15px;
font-weight:500;
}

.nav-menu a:active{
background:rgba(198,167,78,0.08);
}
}

@media(max-width:400px){
.logo-sub{
display:none;
}

.logo-text strong{
font-size:12px;
line-height:1.25;
}
}

/* HERO */
.hero{
height:100vh;
min-height:100dvh;
background:linear-gradient(rgba(15,23,42,0.85),rgba(15,23,42,0.85)),
url('https://images.unsplash.com/photo-1589829545856-d10d557cf95f');
background-size:cover;
background-position:center;
display:flex;
align-items:center;
justify-content:center;
text-align:center;
color:white;
padding:20px;
max-width:100%;
overflow-x:hidden;
}

.hero > div{
max-width:100%;
min-width:0;
}

.hero h1{
font-family:'Playfair Display',serif;
font-size:clamp(1.75rem,6vw + 0.6rem,3.25rem);
margin-bottom:20px;
max-width:100%;
overflow-wrap:anywhere;
word-wrap:break-word;
hyphens:auto;
-webkit-hyphens:auto;
}

.hero p{
max-width:100%;
overflow-wrap:anywhere;
}

.btn{
background:var(--auriu);
color:white;
padding:14px 30px;
text-decoration:none;
border-radius:30px;
transition:0.3s;
display:inline-block;
border:none;
cursor:pointer;
}

.btn:hover{
background: linear-gradient(135deg, #c6a74e, #d4b94c);
box-shadow: 0 8px 25px rgba(198,167,78,0.5);
transform: translateY(-3px) scale(1.05);
}

/* TITLURI */
.section-title{
text-align:center;
font-family:'Playfair Display',serif;
font-size:36px;
margin-bottom:10px;
color:var(--bleumarin);
}

.section-bar{
width:80px;
height:4px;
background:var(--auriu);
margin:0 auto 50px auto;
}

section{
padding:110px 20px;
}

/* DESPRE */
.about{
display:grid;
grid-template-columns:1fr 1fr;
gap:50px;
align-items:center;
}

.about-image img{
width:100%;
max-width:420px;
border-radius:12px;
box-shadow:0 20px 50px rgba(0,0,0,0.15);
}

.about-text{
font-family:'Cormorant Garamond',serif;
font-size:20px;
line-height:2;
max-width:600px;
}

/* EXPERIENȚĂ */
.experience{
text-align:center;
padding:60px 20px;
background:var(--roz-pal);
}

.experience h2{
font-size:48px;
font-family:'Playfair Display',serif;
margin-bottom:20px;
color:var(--bleumarin);
}

.experience p{
font-size:22px;
line-height:1.5;
}

/* SERVICII */
.services{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
gap:30px;
align-items:start;
}

.service-card{
background:white;
padding:25px;
border-radius:18px;
text-align:left;
color:var(--bleumarin);
box-shadow:0 10px 30px rgba(0,0,0,0.12);
border-top:4px solid var(--auriu);
cursor:pointer;
transition:0.35s;
overflow:hidden;
position:relative;
padding-bottom:42px;
align-self:start;
min-height:130px;
}

.service-card:hover{
transform:translateY(-8px) scale(1.03);
box-shadow:0 25px 60px rgba(0,0,0,0.2);
border-top-color: #b18f3c;
background: linear-gradient(145deg, #fff, #fdfaf5);
}

.service-card i{
font-size:32px;
color:var(--auriu);
margin-bottom:15px;
}

.service-card .more-details{
max-height:0;
opacity:0;
margin-top:0;
overflow:hidden;
text-align:left;
transform:translateY(-8px);
transition:max-height 0.45s ease, opacity 0.35s ease, margin-top 0.35s ease, transform 0.35s ease;
}

.service-card h3{
margin:0 0 8px;
font-family:'Playfair Display',serif;
min-height:56px;
}

.service-card .short-desc{
margin:0;
font-weight:500;
min-height:48px;
}

.service-card::after{
content:"\f107";
font-family:"Font Awesome 6 Free";
font-weight:900;
position:absolute;
left:50%;
bottom:14px;
transform:translateX(-50%);
font-size:18px;
line-height:1;
color:var(--auriu);
transition:transform 0.35s ease, color 0.3s ease, opacity 0.3s ease;
opacity:0.9;
}

.service-card.open::after{
transform:translateX(-50%) rotate(180deg);
color:#b18f3c;
opacity:1;
}

.service-card.open .more-details{
max-height:260px;
opacity:1;
margin-top:14px;
transform:translateY(0);
}

.service-card .more-details ul{
margin:0;
padding-left:20px;
}

.service-card .more-details li{
margin-bottom:6px;
}

.service-consult-btn{
display:block;
width:fit-content;
margin:12px auto 0;
padding:10px 16px;
border-radius:999px;
background:var(--auriu);
color:#fff;
text-decoration:none;
font-weight:600;
font-size:14px;
transition:0.25s ease;
}

.service-consult-btn:hover{
background:#b18f3c;
transform:translateY(-1px);
}

/* AVOCAT ONLINE FORM */
.online-intro{
text-align:center;
margin:0 auto;
}

.online-form-wrap{
max-width:760px;
margin:28px auto 0;
background:#ffffff;
border-radius:16px;
padding:26px;
box-shadow:0 20px 50px rgba(15,23,42,0.14);
border:1px solid rgba(15,23,42,0.08);
}

.online-form{
display:grid;
gap:14px;
}

.online-form-row{
display:grid;
grid-template-columns:1fr 1fr;
gap:14px;
}

.online-form label{
display:block;
font-weight:600;
margin-bottom:6px;
color:#1f2937;
}

.online-form input,
.online-form textarea{
width:100%;
padding:12px 14px;
border:1px solid #d1d5db;
border-radius:10px;
font-size:15px;
font-family:'Montserrat',sans-serif;
transition:border-color 0.2s ease, box-shadow 0.2s ease;
box-sizing:border-box;
}

.online-form input:focus,
.online-form textarea:focus{
outline:none;
border-color:#c6a74e;
box-shadow:0 0 0 3px rgba(198,167,78,0.18);
}

.online-form textarea{
min-height:140px;
resize:vertical;
}

.form-status{
font-size:14px;
font-weight:500;
margin:0;
display:none;
}

.form-status.success{
color:#0f7a3b;
display:block;
}

.form-status.error{
color:#b91c1c;
display:block;
}

@media(max-width:700px){
.online-form-wrap{
padding:20px 16px;
}

.online-form-row{
grid-template-columns:1fr;
}
}

/* FAQ */
.faq{
max-width:900px;
margin:auto;
}

.faq-item{
background:white;
margin-bottom:10px;
border-radius:10px;
box-shadow:0 5px 20px rgba(0,0,0,0.1);
overflow:hidden;
}

.faq-question{
padding:15px 20px;
cursor:pointer;
font-weight:600;
position:relative;
}

.faq-question::after{
content:"\f107";
font-family:FontAwesome;
position:absolute;
right:20px;
top:50%;
transform:translateY(-50%);
transition:transform 0.3s;
}

.faq-item.open .faq-question::after{
transform:translateY(-50%) rotate(180deg);
}

.faq-answer{
max-height:0;
overflow:hidden;
padding:0 20px;
opacity:0;
transform: translateY(-10px);
transition:max-height 0.4s ease, padding 0.4s ease, opacity 0.4s ease, transform 0.4s ease;
}

.faq-item.open .faq-answer{
padding:15px 20px;
max-height:500px;
opacity:1;
transform: translateY(0);
}

/* CONTACT */
.contact-section{
position:relative;
background:url('https://images.unsplash.com/photo-1581091215364-7f75ed9f54c3') center/cover no-repeat;
padding:100px 20px;
color:white;
text-align:center;
}

.contact-overlay{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(15,23,42,0.7);
z-index:0;
}

.contact-box{
position:relative;
z-index:1;
max-width:860px;
margin:0 auto;
}

/* FOOTER */
footer{
background:linear-gradient(180deg,#0b132b,#070d1d);
color:#d7dced;
padding:22px 20px 26px;
border-top:1px solid rgba(255,255,255,0.08);
}

.copy{
text-align:center;
margin:0;
font-size:14px;
letter-spacing:0.3px;
opacity:0.92;
}

/* RESPONSIVE */
@media(max-width:900px){
.about{
grid-template-columns:1fr;
}
}
.button-social{
display:inline-flex;
align-items:center;
gap:10px;
padding:14px 25px;
margin:0;
border-radius:40px;
font-size:16px;
font-weight:500;
text-decoration:none;
color:white;
transition:0.3s ease;
box-shadow:0 8px 20px rgba(0,0,0,0.25);
}

.button-social.instagram{
background:linear-gradient(45deg,#833ab4,#fd1d1d,#fcb045);
}

.button-social.whatsapp{
background:#25D366;
}

.button-social.facebook{
background:#1877f2;
}

.button-social:hover{
transform:translateY(-3px) scale(1.05);
box-shadow:0 12px 30px rgba(0,0,0,0.4);
}

.contact-card{
background:rgba(10,18,40,0.58);
backdrop-filter:blur(3px);
border:1px solid rgba(255,255,255,0.14);
border-radius:18px;
padding:28px 26px;
box-shadow:0 20px 45px rgba(0,0,0,0.28);
}

.contact-section .section-title{
color:#ffffff;
}

.contact-details{
display:flex;
flex-wrap:wrap;
justify-content:center;
gap:14px;
margin:16px 0 24px;
}

.contact-chip{
display:inline-flex;
align-items:center;
gap:10px;
padding:10px 16px;
border-radius:999px;
background:rgba(255,255,255,0.1);
color:#fff;
text-decoration:none;
font-weight:500;
}

.contact-chip i{
color:var(--auriu);
}

.contact-email{
color:#f2f5ff;
text-underline-offset:3px;
}

.social-row{
display:flex;
justify-content:center;
align-items:center;
flex-wrap:wrap;
gap:12px;
}

@media(max-width:640px){
.contact-card{
padding:22px 16px;
}

.button-social{
width:100%;
justify-content:center;
}
}
