/* Small additions to the preserved 1.0 layout. */
:focus-visible{outline:3px solid #b78720;outline-offset:5px}
.hero{background:#04101f}
.brand-logo{width:48px;height:56px;object-fit:contain;display:block;flex-shrink:0}
.mobile-menu{display:none}.equipment-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.equipment .service-card{background:var(--paper);box-shadow:none}
.photo-grid{display:block;columns:4;column-gap:14px}
.photo-grid a{display:block;height:auto;margin:0 0 14px;break-inside:avoid;border:0;box-shadow:none;background:none;overflow:hidden}
.photo-grid img{width:100%;height:auto;display:block;object-fit:initial;transition:opacity .2s}
.photo-grid a:hover img{transform:none;opacity:.88}
.gallery-dialog{width:min(1200px,calc(100vw - 24px));max-width:none;max-height:calc(100dvh - 20px);border:0;padding:12px 18px;background:transparent;color:white;overflow:auto}
.gallery-dialog::backdrop{background:rgba(2,10,20,.96)}
.gallery-dialog button{font:600 15px "Source Sans 3",sans-serif;cursor:pointer;min-height:44px;padding:8px 16px;background:transparent;border:1px solid #6b7b8b;color:white;border-radius:3px}
.gallery-dialog button:hover{background:#154b79}.viewer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:12px}
.viewer-toolbar h2{font-size:17px;margin:0;letter-spacing:0}.viewer-close{flex-shrink:0}.viewer-close span{font-size:22px;margin-left:6px}
.viewer-figure{margin:0}.viewer-figure img{display:block;max-width:100%;width:100%;height:66dvh;object-fit:contain;touch-action:pan-y pinch-zoom}
.viewer-figure figcaption{text-align:center;font-size:16px;margin-top:12px}
.viewer-controls{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px}.viewer-controls p{margin:0;font-size:15px}
#gallery-help,#viewer-error{text-align:center;font-size:13px;color:#bfccd7;margin:12px 0 0}
.blog-section{background:var(--paper)}.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.blog-card{border-top:3px solid var(--gold);padding:26px;background:white;min-width:0}
.blog-card h3{font-size:22px;line-height:1.35}.blog-card p{color:var(--muted);font-size:17px}.blog-card a:hover{text-decoration:underline}
.read-article{display:inline-block;font-weight:700;color:var(--blue);text-decoration:underline;text-underline-offset:4px}
.blog-page .section-heading{max-width:850px}.blog-page h1,.article-page h1{font-size:clamp(34px,4.6vw,58px);line-height:1.12;max-width:900px}
.breadcrumbs{display:flex!important;flex-wrap:wrap;font-size:15px;gap:10px;margin-bottom:32px}.breadcrumbs a{color:var(--blue);text-decoration:underline}
.article-page{max-width:1100px;margin:auto}.article-page .article-summary{font-size:23px;color:var(--muted);margin-bottom:36px}
.article-body{max-width:760px}.article-body h2{font-size:30px;margin:42px 0 18px;line-height:1.25}.article-body h3{font-size:22px;margin-top:30px}.article-body p,.article-body li{line-height:1.75}
.article-body li{margin:10px 0}.article-body a{color:var(--blue);text-decoration:underline}.article-body table{width:100%;border-collapse:collapse}.article-body th,.article-body td{border:1px solid var(--line);padding:12px;text-align:left}
.article-contact{margin-top:44px;border-top:1px solid var(--line);padding-top:28px}.article-contact h2{font-size:26px}.related-articles{margin-top:50px;border-top:1px solid var(--line);padding-top:30px}.related-articles h2{font-size:28px}
.related-articles ul{padding-left:22px}.related-articles a{color:var(--blue);text-decoration:underline}.pagination{margin-top:35px;display:flex;gap:15px;flex-wrap:wrap;color:var(--blue)}
@media(max-width:1250px){.site-header{gap:18px;padding-inline:25px}.site-header nav{gap:18px;font-size:15px}.header-cta{padding:13px 12px;font-size:12px}}
@media(max-width:1020px){.mobile-menu{display:block;position:relative;margin-left:auto}.mobile-menu summary{cursor:pointer;padding:10px;border:1px solid #617184;min-height:44px}.mobile-menu nav{display:flex;position:absolute;right:0;top:54px;width:235px;padding:10px;background:var(--navy);border:1px solid #617184;flex-direction:column;gap:0}.mobile-menu nav a{padding:12px}.equipment-grid,.blog-grid{grid-template-columns:1fr 1fr}.photo-grid{columns:3}}
@media(max-width:620px){.brand-logo{width:40px;height:47px}.equipment-grid,.blog-grid{grid-template-columns:1fr}.photo-grid{columns:1}.photo-grid a{height:auto;margin-bottom:18px}.viewer-toolbar h2{font-size:14px;max-width:175px}.gallery-dialog{padding:8px;max-height:calc(100dvh - 12px)}.viewer-figure img{height:58dvh}.viewer-figure figcaption{font-size:14px}.gallery-dialog button{padding:8px 12px}.viewer-controls p{font-size:13px}.article-page h1{font-size:35px}.article-page .article-summary{font-size:20px}.article-body h2{font-size:27px}.brand small{font-size:10px}.blog-card{padding:24px}.article-contact .button{margin-top:12px}}
@media(max-width:360px){.brand strong{font-size:12px}.site-header{gap:10px;padding-inline:14px}.brand{gap:9px}.brand small{letter-spacing:.04em}.mobile-menu summary{font-size:15px}.viewer-controls button span{display:none}h1{font-size:39px}}
@media(prefers-reduced-motion:reduce){.photo-grid img{transition:none}}
@media(max-width:620px){.hero{padding-top:280px}}
.contact-trap{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}
.contact-email-option{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:0 5px;margin:8px 0 0;font-size:15px;line-height:1.5;color:var(--muted)}
.contact-email-link{appearance:none;min-height:44px;padding:8px 0;border:0;background:transparent;color:var(--navy);font:inherit;font-weight:600;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.contact-email-link:hover{color:var(--blue)}
.lead-form [hidden]{display:none}
.contact-fallback{display:block;margin-top:12px;color:var(--navy);text-decoration:underline;line-height:1.5}
.contact-status{margin:14px 0 0;padding:14px;border-left:3px solid #21643a;background:#edf6f0;color:#163b25;font-size:16px;line-height:1.5}
.contact-status.is-error{background:#fff2eb;color:#782c13;border-color:#a63f1b}
.lead-form button:disabled{opacity:.65;cursor:wait}
.company-purpose{display:grid;grid-template-columns:1fr 1fr;gap:44px;margin:0 0 42px;padding:30px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.company-purpose article{padding-left:22px;border-left:3px solid var(--gold)}
.company-purpose h3{font-size:24px;line-height:1.3;margin:0 0 12px;color:var(--navy)}
.company-purpose p{font-size:18px;line-height:1.7;margin:0;color:var(--muted)}
@media(max-width:620px){.company-purpose{grid-template-columns:1fr;gap:28px}.company-purpose article{padding-left:18px}}
.equipment-illustration{width:160px;height:112px;display:block;object-fit:contain;margin:0 0 26px}
.equipment .service-card{border-top:3px solid var(--gold)}
@media(max-width:620px){.equipment-illustration{width:140px;height:98px;margin-bottom:22px}}
