*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#1f2937;background:#f4f5f7;line-height:1.6}a{color:#d91d1e;text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;display:block}.container{width:min(1180px,calc(100% - 32px));margin:0 auto}.text-center{text-align:center}.section{padding:32px 0}.section--tight{padding-top:12px}.hero{position:relative;background:#111}.hero-slider{position:relative;overflow:hidden}.hero-slide{min-height:360px;background-size:cover;background-position:center;display:none;position:relative}.hero-slide.is-active{display:block}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.6),rgba(0,0,0,.15))}.hero-content{position:relative;z-index:2;padding:72px 0;display:flex;align-items:center;min-height:360px}.hero-copy{max-width:620px;color:#fff}.hero-copy .eyebrow{display:inline-block;margin-bottom:10px;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;background:rgba(255,255,255,.16);padding:6px 10px;border-radius:999px}.hero-copy h1{margin:0 0 12px;font-size:clamp(2rem,5vw,3.2rem);line-height:1.05}.hero-copy p{font-size:1.05rem;max-width:58ch}.hero-dots{position:absolute;left:50%;transform:translateX(-50%);bottom:18px;display:flex;gap:10px;z-index:3}.hero-dot{width:12px;height:12px;border-radius:999px;border:0;background:rgba(255,255,255,.45);cursor:pointer}.hero-dot.is-active{background:#fff}.main-nav{background:#d91d1e;color:#fff;position:sticky;top:0;z-index:30;box-shadow:0 6px 18px rgba(0,0,0,.12)}.nav-inner{display:flex;align-items:center;justify-content:center;min-height:64px}.nav-list{display:flex;list-style:none;margin:0;padding:0;gap:8px;flex-wrap:wrap;justify-content:center}.nav-list a{display:block;color:#fff;font-weight:700;font-size:.94rem;padding:12px 14px;border-radius:8px;text-transform:uppercase;letter-spacing:.02em}.nav-list a:hover{background:rgba(255,255,255,.14);text-decoration:none}.nav-toggle{display:none;background:#fff;color:#d91d1e;border:0;border-radius:8px;padding:10px 14px;font-weight:700}.logo-strip{background:#fff;padding:26px 0 10px;box-shadow:inset 0 -1px 0 rgba(0,0,0,.06)}.brand-logo{margin:0 auto;max-height:138px;width:auto}.section-head{margin-bottom:22px}.section-head h2{margin:0 0 8px;font-size:2rem;color:#20293a}.section-head p{margin:0;color:#556070;max-width:70ch}.panel{background:#fff;border-radius:18px;padding:26px;box-shadow:0 12px 32px rgba(16,24,40,.08)}.panel--spaced{margin-top:20px}.two-col,.home-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.cards-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:20px}.card{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 16px 36px rgba(16,24,40,.10);display:flex;flex-direction:column}.card-media{display:block;aspect-ratio:4/3;overflow:hidden}.card-media img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.card:hover .card-media img{transform:scale(1.04)}.card-body{padding:18px;display:flex;flex-direction:column;gap:12px}.card-body h3{margin:0;font-size:1.05rem}.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 16px;border-radius:10px;font-weight:700;border:0;cursor:pointer}.btn-primary{background:#d91d1e;color:#fff}.btn-primary:hover{text-decoration:none;filter:brightness(1.05)}.btn-secondary{background:#eef2f7;color:#111827}.richtext{font-size:1rem}.richtext img{height:auto;border-radius:12px}.richtext p:first-child{margin-top:0}.richtext p:last-child{margin-bottom:0}.service-list{display:grid;gap:18px;margin-top:20px}.service-card{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 16px 36px rgba(16,24,40,.08)}.service-card__head{background:#d91d1e;color:#fff;padding:18px 22px}.service-card__head h3{margin:0;font-size:1.25rem}.service-card__body{padding:22px}.video-stack{display:grid;gap:18px}.video-card{background:#fff;border-radius:18px;padding:18px;box-shadow:0 12px 32px rgba(16,24,40,.08)}.video-card img{border-radius:14px}.video-note{margin:0 0 12px;font-weight:700;color:#d91d1e}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:22px}.gallery-item{display:block;background:#fff;padding:8px;border-radius:16px;box-shadow:0 10px 24px rgba(16,24,40,.08)}.gallery-item img{border-radius:12px;width:100%;aspect-ratio:1/1;object-fit:cover}.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.88);display:grid;place-items:center;padding:28px;z-index:80}.lightbox img{max-width:min(1100px,92vw);max-height:88vh;border-radius:18px}.lightbox-close{position:absolute;top:18px;right:22px;background:#fff;border:0;border-radius:999px;width:42px;height:42px;font-size:1.9rem;line-height:1;cursor:pointer}.contact-form{display:grid;gap:14px}.contact-form label span{display:block;font-weight:700;margin-bottom:6px}.contact-form input,.contact-form textarea{width:100%;padding:12px 14px;border:1px solid #d0d5dd;border-radius:10px;font:inherit}.checkbox{display:flex;gap:10px;align-items:flex-start}.checkbox input{width:auto;margin-top:5px}.message{padding:14px 16px;border-radius:12px;margin-bottom:16px}.message--success{background:#ecfdf3;color:#027a48;border:1px solid #abefc6}.message--error{background:#fef3f2;color:#b42318;border:1px solid #fecdca}.site-footer{margin-top:42px;background:#d91d1e;color:#fff}.footer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:50px 0 24px}.footer-grid h3{margin:0 0 10px;font-size:1.05rem}.footer-grid a{color:#fff}.footer-badge img{max-width:128px}.footer-links{list-style:none;margin:0;padding:0;display:grid;gap:6px}.copyright{text-align:center;padding:18px 0;border-top:1px solid rgba(255,255,255,.16);font-size:.95rem}.mobile-only{display:none}
@media (max-width:1080px){.cards-grid{grid-template-columns:repeat(3,1fr)}.gallery-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:820px){.nav-toggle{display:inline-flex}.nav-inner{justify-content:space-between}.nav-list{display:none;position:absolute;left:16px;right:16px;top:64px;background:#d91d1e;padding:14px;border-radius:0 0 14px 14px;box-shadow:0 16px 30px rgba(0,0,0,.22)}.nav-list.is-open{display:grid}.two-col,.home-grid,.footer-grid{grid-template-columns:1fr}.cards-grid{grid-template-columns:repeat(2,1fr)}.gallery-grid{grid-template-columns:repeat(2,1fr)}.hero-content{padding:52px 0;min-height:300px}.hero-slide{min-height:300px}}
@media (max-width:560px){.container{width:min(100% - 20px,1180px)}.cards-grid,.gallery-grid{grid-template-columns:1fr}.panel,.service-card__body,.video-card{padding:18px}.hero-copy h1{font-size:2rem}.main-nav{position:relative}}
