* { box-sizing: border-box; }
.ec-header { max-width:1280px; margin:auto; padding:20px 24px 26px; text-align:center; }
.ec-logo { display:block; width:min(620px,82vw); height:auto; margin:0 auto 24px; }
.ec-header nav { display:flex; justify-content:center; gap:40px; }
.ec-header nav a { color:#1b1b1b; text-decoration:none; font-family:'Source Sans Pro',Arial,sans-serif; font-size:18px; }
.ec-header nav a[aria-current] { border-bottom:2px solid #1b1b1b; }
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible { outline:3px solid #1275b9!important; outline-offset:4px; }
.ec-hero { max-width:1440px; margin:auto; display:grid; grid-template-columns:1fr 2fr; align-items:center; padding-bottom:64px; }
.ec-hero>img { width:100%; height:310px; object-fit:cover; }
.ec-hero>div { text-align:center; padding:32px 24px; }
.ec-hero h1,.ec-gallery h2 { font-family:Righteous,Arial,sans-serif; font-weight:400; text-transform:uppercase; letter-spacing:3px; color:#1b1b1b; font-size:34px; line-height:1.3; }
.ec-hero p { font-family:'Source Sans Pro',Arial,sans-serif; font-size:24px; line-height:1.5; margin:20px 0 28px; }
.ec-button { display:inline-block; background:#000; color:white!important; padding:20px 32px; text-decoration:none; text-transform:uppercase; letter-spacing:1px; font-family:'Source Sans Pro',Arial,sans-serif; font-size:14px; font-weight:700; border:0; cursor:pointer; }
.ec-gallery { max-width:1280px; margin:0 auto; padding:56px 24px; text-align:center; }
.ec-gallery h2 { color:#929b9d; margin:0 0 32px; }
.ec-gallery-images { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.ec-gallery-images img { width:100%; height:auto; border:1px solid #ddd; }
.ec-gallery p { font-family:'Source Sans Pro',Arial,sans-serif; color:#5e5e5e; }
@media(max-width:700px){.ec-header{padding:16px 18px 24px}.ec-header nav{gap:30px}.ec-logo{margin-bottom:18px}.ec-hero{grid-template-columns:1fr;padding-bottom:24px}.ec-hero>img{height:230px}.ec-hero h1{font-size:28px}.ec-hero p{font-size:21px}.ec-gallery h2{font-size:27px}.ec-gallery-images{grid-template-columns:1fr}.ec-gallery-images img{max-height:440px;object-fit:contain}}
.ec-contact-form { font-family:'Source Sans Pro',Arial,sans-serif; color:#1b1b1b; }
.ec-contact-form h4 { font-size:22px; margin:0 0 24px; font-weight:400; }
.ec-contact-form label { display:block; font-size:16px; text-align:left; margin-bottom:18px; }
.ec-contact-form input,.ec-contact-form textarea { display:block; width:100%; margin-top:8px; border:1px solid #929b9d; background:white; border-radius:0; padding:13px; font:18px 'Source Sans Pro',Arial,sans-serif; color:#1b1b1b; }
.ec-contact-form .ec-button { width:100%; }
.ec-contact-form [role=status] { line-height:1.5; }
.ec-contact-help { font-size:16px; line-height:1.5; }
.ec-honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.ec-consent { position:fixed; bottom:12px; right:12px; left:12px; z-index:1000; max-width:520px; margin-left:auto; padding:20px; background:#fff; border:1px solid #777; box-shadow:0 4px 20px #0002; font:16px/1.5 'Source Sans Pro',Arial,sans-serif; }
.ec-consent p { margin:0 0 12px; }
.ec-consent button { padding:8px 16px; margin-right:12px; cursor:pointer; }
