
:root{
 --ec-navy:#0E2746;
 --ec-gold:#C4A76B;
 --ec-gold-dark:#8A6B36;
 --ec-ivory:#F9F7F2;
 --ec-stone:#D6D1C7;
 --ec-text:#3D4652;
 --ec-soft:#F4F1EC;
 --ec-white:#FFFFFF;
}
body.ec4-site-active{color:var(--ec-text);background:#fff;}
body.ec4-managed-page .hero-section{display:none!important;}
body.ec4-managed-page .site-main{padding-top:0!important;padding-bottom:0!important;}
body.ec4-site-active footer.ct-footer{display:none!important;}

.ec4-page{font-family:Montserrat,Arial,sans-serif;color:var(--ec-text);}
.ec4-page *{box-sizing:border-box;}
.ec4-page h1,.ec4-page h2,.ec4-page h3{
 font-family:"Playfair Display",Georgia,serif;
 font-weight:500;
 color:var(--ec-navy);
 line-height:1.08;
 letter-spacing:-.018em;
}
.ec4-page h1{font-size:clamp(3.1rem,5.5vw,5.7rem);margin:.05em 0 .24em;}
.ec4-page h2{font-size:clamp(2.15rem,3.5vw,3.35rem);margin:.05em 0 .5em;}
.ec4-page h3{font-size:1.45rem;margin:.05em 0 .45em;}
.ec4-page p{font-size:1rem;line-height:1.76;}
.ec4-full{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);}
.ec4-wrap{max-width:1240px;margin:0 auto;padding:0 4vw;}
.ec4-narrow{max-width:840px;margin-left:auto;margin-right:auto;}
.ec4-section{padding:88px 0;}
.ec4-soft{background:var(--ec-soft);}
.ec4-ivory{background:var(--ec-ivory);}
.ec4-kicker{
 text-transform:uppercase;letter-spacing:.23em;
 color:var(--ec-gold-dark);font-size:.72rem!important;font-weight:500;margin:0 0 1.05rem;
}
.ec4-rule{width:44px;height:2px;background:var(--ec-gold);margin:0 0 24px;}
.ec4-link{
 display:inline-block;text-decoration:none!important;color:var(--ec-navy)!important;
 border-bottom:1px solid var(--ec-gold);padding-bottom:3px;font-weight:500;
}
.ec4-link:hover{color:var(--ec-gold-dark)!important;}

/* Header */
body.ec4-site-active .ct-header{border-bottom:1px solid rgba(14,39,70,.07);}
body.ec4-site-active .ct-header [data-id="menu"] a,
body.ec4-site-active .ct-header .menu-item a{
 font-family:Montserrat,Arial,sans-serif;font-size:.92rem;font-weight:500;
}
body.ec4-site-active .ct-header .menu-item a:hover{color:var(--ec-gold-dark)!important;}

/* Hero: real Coimbra photo with fade, inspired by the approved mock-up */
.ec4-hero{
 position:relative;min-height:610px;overflow:hidden;background:var(--ec-ivory);
 display:flex;align-items:stretch;
}
.ec4-hero-media{position:absolute;inset:0;}
.ec4-hero-media img{
 width:100%;height:100%;object-fit:cover;object-position:center 48%;
 filter:brightness(1.10) contrast(.94) saturate(.88) sepia(.03);
}
.ec4-hero-media:after{
 content:"";position:absolute;inset:0;
 background:
   linear-gradient(90deg, rgba(249,247,242,1) 0%, rgba(249,247,242,.98) 26%, rgba(249,247,242,.72) 43%, rgba(249,247,242,.16) 64%, rgba(14,39,70,.03) 100%),
   linear-gradient(180deg,rgba(255,255,255,.06),rgba(14,39,70,.05));
}
.ec4-hero-inner{
 position:relative;z-index:2;width:100%;max-width:1240px;margin:auto;padding:94px 4vw 86px;
 display:flex;align-items:center;
}
.ec4-hero-copy{max-width:620px;}
.ec4-hero-copy h1{max-width:600px;}
.ec4-hero-copy .lead{font-size:1.12rem;max-width:570px;}
.ec4-hero-action{margin-top:28px;}
.ec4-btn{
 display:inline-block;padding:12px 20px;border:1px solid var(--ec-gold);
 background:var(--ec-gold);color:var(--ec-navy)!important;text-decoration:none!important;
 font-size:.9rem;font-weight:500;
}
.ec4-btn:hover{background:#b99a5d;border-color:#b99a5d;}

/* Focus */
.ec4-section-head{
 display:grid;grid-template-columns:1fr .74fr;gap:70px;align-items:end;margin-bottom:36px;
}
.ec4-section-head p{margin-bottom:.2em;}
.ec4-focus-grid{
 display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;
}
.ec4-focus-card{
 background:#fff;border:1px solid rgba(14,39,70,.07);
 overflow:hidden;box-shadow:0 9px 32px rgba(14,39,70,.035);
}
.ec4-focus-media{aspect-ratio:1.42/1;overflow:hidden;background:#ddd;}
.ec4-focus-media img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease, filter .25s ease;}
.ec4-focus-card:hover .ec4-focus-media img{transform:scale(1.025);}
.ec4-focus-card:nth-child(1) .ec4-focus-media img{filter:saturate(.76) brightness(1.03);}
.ec4-focus-card:nth-child(2) .ec4-focus-media img{filter:saturate(.78) brightness(1.05);}
.ec4-focus-card:nth-child(3) .ec4-focus-media img{filter:saturate(.72) brightness(1.05);}
.ec4-focus-body{padding:26px 26px 29px;}
.ec4-focus-no{font-size:.69rem;letter-spacing:.19em;color:var(--ec-gold-dark);margin-bottom:22px;}
.ec4-focus-body h3{min-height:3.05em;font-size:1.52rem;}
.ec4-focus-body p{font-size:.93rem;}

/* Areas */
.ec4-practice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--ec-stone);}
.ec4-practice{padding:27px 24px 29px 0;border-bottom:1px solid var(--ec-stone);margin-right:24px;}
.ec4-practice h3{font-size:1.25rem;}
.ec4-practice p{font-size:.88rem;margin:.35em 0 0;}

/* Lawyers */
.ec4-lawyers-layout{
 display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:center;
}
.ec4-lawyers-copy{padding-right:15px;}
.ec4-portraits{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.ec4-portrait{position:relative;background:var(--ec-ivory);overflow:hidden;}
.ec4-portrait-media{aspect-ratio:4/5;overflow:hidden;background:#ddd;}
.ec4-portrait-media img{width:100%;height:100%;object-fit:cover;object-position:center 18%;}
.ec4-portrait-meta{padding:18px 18px 21px;background:#fff;border-top:1px solid rgba(14,39,70,.08);}
.ec4-portrait-meta strong{
 display:block;color:var(--ec-navy);font-family:"Playfair Display",Georgia,serif;font-size:1.18rem;font-weight:500;
}
.ec4-portrait-meta span{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ec-gold-dark);}

/* Office strip */
.ec4-office-strip{display:grid;grid-template-columns:1fr 1fr;gap:0;}
.ec4-office-photo{min-height:440px;overflow:hidden;}
.ec4-office-photo img{width:100%;height:100%;object-fit:cover;}
.ec4-office-copy{background:var(--ec-navy);color:#f4f0e8;padding:64px 6vw;display:flex;flex-direction:column;justify-content:center;}
.ec4-office-copy h2{color:#fff;}
.ec4-office-copy p{color:#f4f0e8;}
.ec4-office-copy .ec4-kicker{color:var(--ec-gold);}

/* Knowledge */
.ec4-knowledge-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}
.ec4-knowledge{padding:28px 26px 30px;background:#fff;border-top:2px solid var(--ec-gold);}
.ec4-knowledge .meta{font-size:.69rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ec-gold-dark);}
.ec4-knowledge p{font-size:.91rem;}

/* Detail pages */
.ec4-detail-hero{
 display:grid;grid-template-columns:.96fr 1.04fr;background:var(--ec-ivory);min-height:500px;
}
.ec4-detail-copy{padding:78px 5vw 74px max(4vw,calc((100vw - 1240px)/2 + 4vw));display:flex;flex-direction:column;justify-content:center;}
.ec4-detail-copy h1{font-size:clamp(2.8rem,4.7vw,4.8rem);}
.ec4-detail-copy .lead{font-size:1.08rem;}
.ec4-detail-media{min-height:500px;}
.ec4-detail-media img{width:100%;height:100%;object-fit:cover;}
.ec4-two{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start;}
.ec4-grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}
.ec4-card{background:#fff;border-top:2px solid var(--ec-gold);padding:26px 24px;box-shadow:0 8px 28px rgba(14,39,70,.035);}
.ec4-card p{font-size:.92rem;}
.ec4-list{padding-left:1.1em;}
.ec4-list li{margin:.62em 0;line-height:1.62;}
.ec4-note{border-left:3px solid var(--ec-gold);background:var(--ec-ivory);padding:16px 19px;margin:27px 0;}
.ec4-faq{border-top:1px solid var(--ec-stone);padding:24px 0;}
.ec4-faq:last-child{border-bottom:1px solid var(--ec-stone);}

/* Contact */
.ec4-contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:62px;}
.ec4-contact-box{background:var(--ec-ivory);padding:32px;border-top:2px solid var(--ec-gold);}
.ec4-form label{display:block;font-size:.82rem;font-weight:500;margin:0 0 7px;color:var(--ec-navy);}
.ec4-field{margin-bottom:16px;}
.ec4-form input,.ec4-form textarea{
 width:100%;border:1px solid #d9d3c9;background:#fff;padding:12px 13px;font:inherit;color:var(--ec-text);
}
.ec4-form textarea{min-height:140px;resize:vertical;}
.ec4-form button{border:0;background:var(--ec-navy);color:#fff;padding:12px 18px;font:500 .9rem Montserrat,Arial,sans-serif;cursor:pointer;}
.ec4-consent{display:flex!important;gap:9px;align-items:flex-start;font-weight:400!important;line-height:1.42;}
.ec4-consent input{width:auto;margin-top:4px;}
.ec4-hp{position:absolute!important;left:-9999px!important;}
.ec4-msg{padding:12px 14px;border-left:3px solid var(--ec-gold);background:#eeeae2;margin-bottom:18px;}

/* Footer */
.ec4-footer{background:var(--ec-navy);color:#eee9df;padding:44px 4vw 40px;}
.ec4-footer-inner{max-width:1240px;margin:auto;display:grid;grid-template-columns:1.35fr .8fr .8fr;gap:48px;}
.ec4-footer strong{color:#fff;font-weight:500;}
.ec4-footer p{font:400 .86rem/1.7 Montserrat,Arial,sans-serif;}
.ec4-footer a{color:#fff;text-decoration:none;}
.ec4-footer a:hover{color:var(--ec-gold);}
.ec4-footer-rule{width:42px;height:2px;background:var(--ec-gold);margin:14px 0;}

@media(max-width:980px){
 .ec4-section-head,.ec4-lawyers-layout,.ec4-office-strip,.ec4-detail-hero,.ec4-two,.ec4-contact-grid{grid-template-columns:1fr;}
 .ec4-focus-grid,.ec4-grid3,.ec4-knowledge-grid{grid-template-columns:1fr;}
 .ec4-practice-grid{grid-template-columns:repeat(2,1fr);}
 .ec4-detail-copy{padding:70px 6vw;}
 .ec4-detail-media{min-height:390px;}
 .ec4-footer-inner{grid-template-columns:1fr 1fr;}
 .ec4-hero-media img{object-position:62% center;}
 .ec4-hero-media:after{
  background:linear-gradient(90deg,rgba(249,247,242,1) 0%,rgba(249,247,242,.94) 48%,rgba(249,247,242,.30) 78%,rgba(14,39,70,.03) 100%);
 }
}
@media(max-width:650px){
 .ec4-section{padding:62px 0;}
 .ec4-wrap{padding:0 22px;}
 .ec4-practice-grid,.ec4-portraits,.ec4-footer-inner{grid-template-columns:1fr;}
 .ec4-hero{min-height:680px;}
 .ec4-hero-inner{padding:58px 22px;}
 .ec4-hero-media img{object-position:70% center;}
 .ec4-hero-media:after{background:linear-gradient(180deg,rgba(249,247,242,.98) 0%,rgba(249,247,242,.92) 52%,rgba(249,247,242,.36) 100%);}
}

.ec4-google-actions{
 display:flex;flex-wrap:wrap;gap:18px 24px;
 margin:24px 0 28px;
}
.ec4-google-actions .ec4-link{font-size:.92rem;}
