/* Studio Legale Capece - Template 1 (Classico) */
:root{
  --blue:#0b2a5b;
  --blue-dark:#071b3d;
  --blue-light:#1b4a9a;
  --gold:#c9a45c;
  --text:#1c2433;
  --muted:#5b6578;
  --bg-soft:#f3f6fb;
  --white:#fff;
  --radius:6px;
  --max:1140px;
  --header-h:76px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--text);line-height:1.65;background:var(--white)}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.25;font-weight:700}
.container{width:100%;max-width:var(--max);margin:0 auto;padding:0 24px}

/* Header / menu top */
.site-header{position:sticky;top:0;z-index:100;background:var(--blue);color:var(--white);height:var(--header-h);box-shadow:0 2px 12px rgba(0,0,0,.25)}
.site-header .container{display:flex;align-items:center;justify-content:space-between;height:100%}
.logo{display:flex;flex-direction:column;line-height:1.1}
.logo strong{font-family:Georgia,serif;font-size:1.45rem;letter-spacing:.5px}
.logo span{font-size:.7rem;letter-spacing:3px;text-transform:uppercase;color:var(--gold)}
.main-nav ul{list-style:none;display:flex;gap:6px;align-items:center}
.main-nav a{display:block;padding:10px 16px;font-size:.95rem;border-radius:var(--radius);color:var(--white);transition:background .2s,color .2s}
.main-nav a:hover{background:var(--blue-light)}
.main-nav a.active{background:var(--blue-dark);box-shadow:inset 0 -3px 0 var(--gold)}
.main-nav a.cta{background:var(--gold);color:var(--blue-dark);font-weight:600;margin-left:8px}
.main-nav a.cta:hover{background:#dbb877}
.nav-toggle{display:none;background:none;border:0;color:var(--white);cursor:pointer;width:44px;height:44px}
.nav-toggle span,.nav-toggle span::before,.nav-toggle span::after{display:block;width:26px;height:2px;background:var(--white);position:relative;transition:.25s;margin:0 auto}
.nav-toggle span::before,.nav-toggle span::after{content:"";position:absolute;left:0}
.nav-toggle span::before{top:-8px}
.nav-toggle span::after{top:8px}
.nav-open .nav-toggle span{background:transparent}
.nav-open .nav-toggle span::before{top:0;transform:rotate(45deg)}
.nav-open .nav-toggle span::after{top:0;transform:rotate(-45deg)}

/* Hero */
.hero{background:linear-gradient(135deg,var(--blue-dark),var(--blue) 55%,var(--blue-light));color:var(--white);padding:110px 0 120px;position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;right:-120px;top:-120px;width:420px;height:420px;border:60px solid rgba(255,255,255,.05);border-radius:50%}
.hero h1{font-size:clamp(2rem,5vw,3.4rem);max-width:760px;margin-bottom:20px}
.hero p{font-size:1.15rem;max-width:620px;opacity:.92;margin-bottom:32px}
.page-hero{padding:70px 0;background:var(--blue);color:var(--white)}
.page-hero h1{font-size:clamp(1.8rem,4vw,2.6rem)}
.breadcrumb{font-size:.85rem;opacity:.75;margin-bottom:10px}
.breadcrumb a:hover{text-decoration:underline}

/* Buttons */
.btn{display:inline-block;padding:14px 28px;border-radius:var(--radius);font-weight:600;border:2px solid transparent;cursor:pointer;font-size:1rem;transition:.2s}
.btn-gold{background:var(--gold);color:var(--blue-dark)}
.btn-gold:hover{background:#dbb877}
.btn-outline{border-color:var(--white);color:var(--white);margin-left:12px}
.btn-outline:hover{background:var(--white);color:var(--blue)}
.btn-blue{background:var(--blue);color:var(--white)}
.btn-blue:hover{background:var(--blue-light)}

/* Sections */
section{padding:80px 0}
.section-title{text-align:center;margin-bottom:48px}
.section-title h2{font-size:clamp(1.6rem,3.5vw,2.2rem);color:var(--blue)}
.section-title p{color:var(--muted);margin-top:10px;max-width:640px;margin-inline:auto}
.section-title::after{content:"";display:block;width:60px;height:3px;background:var(--gold);margin:18px auto 0}
.bg-soft{background:var(--bg-soft)}
.bg-blue{background:var(--blue);color:var(--white)}
.bg-blue .section-title h2{color:var(--white)}
.bg-blue .section-title p{color:rgba(255,255,255,.8)}

.grid{display:grid;gap:28px}
.grid-3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.grid-2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:center}
.grid-4{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}

.card{background:var(--white);border-radius:var(--radius);padding:34px 28px;box-shadow:0 4px 20px rgba(11,42,91,.08);border-top:4px solid var(--blue);transition:transform .25s,box-shadow .25s}
.card:hover{transform:translateY(-5px);box-shadow:0 10px 28px rgba(11,42,91,.16)}
.card h3{color:var(--blue);margin-bottom:10px;font-size:1.2rem}
.card p{color:var(--muted);font-size:.97rem}
.card .icon{font-size:2rem;margin-bottom:14px}
.card.dark{background:var(--blue-light);border-top-color:var(--gold);color:var(--white)}
.card.dark h3{color:var(--white)}
.card.dark p{color:rgba(255,255,255,.85)}

.stat{text-align:center}
.stat strong{display:block;font-family:Georgia,serif;font-size:2.8rem;color:var(--gold)}
.stat span{font-size:.95rem;opacity:.9}

/* Team */
.person{text-align:center}
.avatar{width:160px;height:160px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--blue-light));color:var(--white);display:flex;align-items:center;justify-content:center;font-family:Georgia,serif;font-size:2.6rem;margin:0 auto 18px;border:4px solid var(--gold)}
.person h3{color:var(--blue)}
.person .role{color:var(--gold);font-size:.85rem;text-transform:uppercase;letter-spacing:1.5px;margin:4px 0 10px;font-weight:600}
.person p{color:var(--muted);font-size:.95rem}

/* News */
.news-card{background:var(--white);border-radius:var(--radius);overflow:hidden;box-shadow:0 4px 20px rgba(11,42,91,.08)}
.news-thumb{height:160px;background:linear-gradient(135deg,var(--blue-light),var(--blue-dark))}
.news-body{padding:24px}
.news-body time{font-size:.8rem;color:var(--gold);font-weight:600;text-transform:uppercase;letter-spacing:1px}
.news-body h3{color:var(--blue);margin:8px 0;font-size:1.1rem}
.news-body p{color:var(--muted);font-size:.95rem;margin-bottom:12px}
.news-body a{color:var(--blue-light);font-weight:600}
.news-body a:hover{text-decoration:underline}

/* Lists */
.check-list{list-style:none}
.check-list li{padding:8px 0 8px 32px;position:relative}
.check-list li::before{content:"✓";position:absolute;left:0;color:var(--gold);font-weight:700}
.prose p{margin-bottom:16px;color:var(--muted)}
.prose h2{color:var(--blue);margin:8px 0 14px}
.quote-box{background:var(--blue);color:var(--white);padding:40px;border-radius:var(--radius);font-family:Georgia,serif;font-size:1.3rem;border-left:6px solid var(--gold)}

/* Contact form */
.contact-info li{list-style:none;margin-bottom:18px;display:flex;gap:14px}
.contact-info b{display:block;color:var(--gold);font-size:.8rem;letter-spacing:1.5px;text-transform:uppercase}
form .field{margin-bottom:18px}
label{display:block;font-weight:600;margin-bottom:6px;font-size:.92rem;color:var(--blue)}
input,select,textarea{width:100%;padding:13px 14px;border:1px solid #cbd3e1;border-radius:var(--radius);font:inherit;background:var(--white);color:var(--text);transition:border .2s,box-shadow .2s}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--blue-light);box-shadow:0 0 0 3px rgba(27,74,154,.18)}
textarea{min-height:150px;resize:vertical}
.privacy{display:flex;gap:10px;font-size:.85rem;color:var(--muted);align-items:flex-start;margin-bottom:18px}
.privacy input{width:auto;margin-top:4px}
.map-placeholder{height:320px;border-radius:var(--radius);background:var(--bg-soft);border:1px dashed var(--blue-light);display:flex;align-items:center;justify-content:center;color:var(--muted);text-align:center;padding:20px}
.map-placeholder iframe{width:100%;height:100%;border:0}

/* CTA band */
.cta-band{text-align:center}
.cta-band h2{font-size:clamp(1.5rem,3vw,2.1rem);margin-bottom:14px}
.cta-band p{opacity:.9;margin-bottom:26px}

/* Footer */
.site-footer{background:var(--blue-dark);color:rgba(255,255,255,.85);padding:60px 0 0;font-size:.93rem}
.footer-grid{display:grid;gap:36px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));padding-bottom:40px}
.site-footer h4{color:var(--white);font-family:Georgia,serif;margin-bottom:14px;font-size:1.05rem}
.site-footer ul{list-style:none}
.site-footer li{margin-bottom:8px}
.site-footer a:hover{color:var(--gold)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding:20px 0;text-align:center;font-size:.82rem;opacity:.75}

/* Responsive */
@media(max-width:900px){
  .nav-toggle{display:block}
  .main-nav{position:absolute;top:var(--header-h);left:0;right:0;background:var(--blue-dark);max-height:0;overflow:hidden;transition:max-height .35s ease}
  .nav-open .main-nav{max-height:520px}
  .main-nav ul{flex-direction:column;align-items:stretch;padding:12px 24px 22px;gap:2px}
  .main-nav a{padding:14px 12px}
  .main-nav a.cta{margin:10px 0 0;text-align:center}
  section{padding:56px 0}
  .hero{padding:80px 0}
  .btn-outline{margin:12px 0 0}
}
