/* SZN ORIGINAL BRAND REFRESH — Contao custom.css archival palette, 2026-10-27.
   Original blue #307abf / #2b76bb, graphite #353e47, heading gray #5d656c.
   Static-only styling, no external assets, no JavaScript. */
:root {
  --szn-blue:#307abf; --szn-blue-deep:#245e99; --szn-button:#2b76bb;
  --szn-charcoal:#353e47; --szn-head:#5d656c;
  --szn-muted:#67727a; --szn-pale:#f2f5f8; --szn-border:#dae3ea;
}
html { scroll-behavior:smooth; }
body { color:var(--szn-charcoal); background:#fff; font-family:Arial,Helvetica,system-ui,sans-serif; }
h1,h2,h3 { color:var(--szn-charcoal); letter-spacing:-.018em; }
h1 { color:var(--szn-head); font-weight:800; text-transform:uppercase; font-size:clamp(1.75rem,3.2vw,2.65rem); }
h2 { color:var(--szn-blue); font-weight:780; }
h3 { color:var(--szn-charcoal); }
a { color:var(--szn-blue); }
a:hover { color:var(--szn-blue-deep); }
.eyebrow,.text-link { color:var(--szn-blue); }
.masthead { border-bottom:3px solid var(--szn-blue); box-shadow:0 4px 12px #353e4712; background:#fff; }
.header-wrap { min-height:90px; }
.brand img { display:block; width:260px; height:50px; object-fit:contain; }
.nav a { color:var(--szn-charcoal); border-radius:2px; font-weight:700; }
.nav a:hover,.nav a[aria-current] { background:#eaf2fb; color:var(--szn-blue); }
.header-phone { color:var(--szn-blue); font-weight:700; }
.btn { background:var(--szn-button); border-color:var(--szn-button); border-radius:20px; text-transform:uppercase; font-size:.87rem; letter-spacing:.035em; }
.btn:hover { background:var(--szn-blue-deep); border-color:var(--szn-blue-deep); }
.btn.dark { background:var(--szn-button); border-color:var(--szn-button); }
.btn.secondary,.btn.outline { background:transparent; border-color:var(--szn-button); color:var(--szn-blue); }
.btn.secondary:hover,.btn.outline:hover { background:#e9f2fb; color:var(--szn-blue-deep); border-color:var(--szn-blue-deep); }
.section.pale,.pale { background:var(--szn-pale); }
.section { padding:64px 0; }
.section-head { max-width:920px; }
.section-head p,.muted { color:var(--szn-muted); }
.subhero { background:#f4f7fa; border-bottom:1px solid var(--szn-border); padding:45px 0 40px; }
.subhero.compact { padding:34px 0; }
.subhero h1 { margin-bottom:.3em; }
.hero { height:auto; min-height:0; background:#fff; overflow:visible; }
.hero-photo { position:relative; display:block; width:100%; height:auto; max-height:none; object-fit:contain; object-position:center; filter:none; }
.hero-shade { display:none; }
.hero-content { background:#fff; color:var(--szn-charcoal); min-height:0; display:block; padding:45px 0 50px; }
.hero h1 { max-width:1010px; margin:.28em 0 .42em; color:var(--szn-head); font-size:clamp(1.8rem,3.15vw,2.8rem); text-transform:uppercase; letter-spacing:-.012em; }
.hero p { color:var(--szn-charcoal); font-size:1.08rem; max-width:800px; }
.eyebrow.light { color:var(--szn-blue); }
.hero .actions { margin-top:20px; }
.hero .btn.outline { background:transparent; border-color:var(--szn-blue); color:var(--szn-blue); }
.hero .btn.outline:hover { background:#eaf2fa; color:var(--szn-blue-deep); }
.szn-intro-grid { display:grid; grid-template-columns:minmax(0,1.16fr) minmax(290px,.84fr); gap:45px; align-items:center; }
.szn-intro-grid .lead-content { max-width:none; }
.szn-intro-grid .lead-content p { font-size:1.06rem; line-height:1.75; }
.szn-intro-figure { margin:0; overflow:hidden; background:#edf2f6; border:1px solid #d8e0e5; }
.szn-intro-figure img { display:block; width:100%; height:auto; aspect-ratio:500/334; object-fit:cover; }
.szn-road-strip { position:relative; height:270px; background:#42617d url('/files/szn/img/trenner/trenner_home_v3.jpg') center center/cover no-repeat; display:flex; align-items:center; justify-content:center; }
.szn-road-strip:before { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#12263f70,#132d4d48); }
.szn-road-strip .wrap { position:relative; z-index:1; }
.szn-road-strip h2 { color:#fff; text-transform:uppercase; font-size:clamp(2rem,4vw,3.2rem); text-shadow:0 2px 10px #1c2f4bb0; margin:0; }
.szn-road-strip p { color:#fff; font-size:1.03rem; margin:12px 0 0; }
.szn-wide-visual { display:block; margin:0; background:#122a43; line-height:0; }
.szn-wide-visual img { display:block; width:100%; height:auto; object-fit:contain; }
.szn-firm-photo { display:block; width:100%; margin:0; background:#f4f7fa; overflow:hidden; line-height:0; }
.szn-firm-photo img { display:block; width:100%; height:auto; max-height:480px; object-fit:cover; object-position:center 40%; }
.people-grid,.service-grid { gap:18px; }
.person-card,.service-card { border-radius:2px; border-color:var(--szn-border); box-shadow:0 5px 16px #23374b10; }
.person-card { border-top:3px solid var(--szn-blue); }
.person-image { background:linear-gradient(150deg,#f8fafc,#e6edf2); }
.person-body h3 a,.person-body h3 { color:var(--szn-charcoal); }
.person-body p,.service-card p { color:var(--szn-muted); }
.service-card { border-top:3px solid var(--szn-blue); }
.service-card:hover { box-shadow:0 8px 23px #20374d21; border-color:var(--szn-blue); }
.service-icon { width:86px; height:78px; object-fit:contain; }
.service-section { border-color:var(--szn-border); }
.service-section h2,.service-section .faq summary { color:var(--szn-blue); }
.faq { border-radius:2px; border-color:var(--szn-border); }
.faq summary { background:#f7f9fb; }
.faq summary:hover { background:#eaf2fa; }
.contact-strip { background:var(--szn-charcoal); }
.contact-strip h2 { color:#fff; }
.contact-strip p { color:#f3f4f5; }
.contact-strip .eyebrow.light { color:#b5d8fb; }
.contact-panel { border-radius:2px; background:#f6f8fa; border-color:var(--szn-border); }
.contact-panel.route { background:#fff; }
.news-item { border-radius:2px; border-color:var(--szn-border); border-top:3px solid var(--szn-blue); }
.news-item h2 { color:var(--szn-blue); }
footer { background:var(--szn-charcoal); color:#e8ebef; border-top:4px solid var(--szn-blue); }
footer strong,footer p { color:#fff; }
footer a { color:#d8eafd; }
footer a:hover { color:#fff; }
a:focus-visible,summary:focus-visible { outline:3px solid var(--szn-blue); }
@media(max-width:1100px) {
  .szn-intro-grid { gap:25px; }
}
@media(max-width:800px) {
  .szn-intro-grid { grid-template-columns:1fr; }
  .szn-intro-figure { max-width:620px; }
  .szn-road-strip { height:220px; }
  .hero { height:auto; min-height:0; }
  .hero-shade { display:none; }
}
@media(max-width:510px) {
  .hero { height:auto; min-height:0; }
  .hero h1 { font-size:1.75rem; }
  .hero-content { padding:32px 0 42px; }
  .hero-photo { position:relative; width:100%; height:auto; object-fit:contain; }
  .szn-road-strip { height:180px; }
  .szn-road-strip h2 { font-size:1.8rem; }
  .szn-firm-photo img { height:auto; }
  .brand img { width:225px; height:auto; }
}

/* Mobile navigation correction 2026-10-27 */
@media (max-width:510px) {
  .header-wrap { justify-content:center; }
  .nav { width:100%; overflow-x:visible; flex-wrap:wrap; justify-content:center; gap:3px 5px; }
  .nav a { padding:8px 9px; font-size:.83rem; }
  .brand img { width:240px; }
  .header-phone { display:none; }
}
