
/* Authenticated on-page hero editor. Hidden completely until an admin session is verified. */
.ktm-inline-edit-button{position:absolute;top:24px;right:max(22px,calc((100vw - 1250px)/2));z-index:9;border:1px solid #d4ad56;background:#fff;color:#193729;padding:11px 15px;font-weight:850;font-size:13px;border-radius:6px;box-shadow:0 3px 18px #0003;display:flex;gap:9px;align-items:center;line-height:1.2}
.ktm-inline-edit-button:hover{background:#e8bd60;color:#10261c}
.page-hero{position:relative}
body.ktm-inline-editing{overflow:hidden}
body.ktm-inline-editing #mainhero,body.ktm-inline-editing .page-hero{cursor:grab;touch-action:none}
body.ktm-inline-editing .ktm-dragging{cursor:grabbing!important}
body.ktm-inline-editing .ktm-inline-edit-button{display:none}
#ktm-edit-overlay{position:fixed;top:0;bottom:0;right:0;z-index:2000;width:min(445px,100vw);background:#fff;box-shadow:-12px 0 50px #071a1470;display:flex;flex-direction:column;font-family:Inter,Arial,sans-serif;color:#233a2b}
#ktm-edit-overlay *{box-sizing:border-box}
.ktm-editor-bar{flex-shrink:0;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 22px;border-bottom:1px solid #dce4d9;background:#f6f8f3}
.ktm-editor-bar b{display:block;font-size:19px}
.ktm-editor-bar small{display:block;color:#607567;font-size:12px;margin-top:3px}
#ktm-inline-close{font-size:29px;background:#fff;border:1px solid #d7ded4;border-radius:6px;line-height:1;padding:4px 10px;color:#344737}
.ktm-editor-scroll{padding:20px 22px;overflow-y:auto;overscroll-behavior:contain;flex:1;min-height:0}
.ktm-edit-intro{font-size:12px;line-height:1.5;color:#64776a;margin-bottom:17px}
.ktm-edit-label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:800;margin-bottom:16px}
.ktm-edit-label input,.ktm-edit-label textarea{padding:12px 13px;border:1px solid #cad8c9;border-radius:5px;color:#243e31;font:inherit;font-weight:450;width:100%;outline-offset:3px}
.ktm-edit-label textarea{resize:vertical;min-height:78px}
.ktm-photo-group{border-top:1px solid #e2e7e0;padding:18px 0 13px}
.ktm-photo-header{display:flex;align-items:center;justify-content:space-between;gap:10px}
.ktm-photo-header b{font-size:14px}
.ktm-photo-header span{font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:175px;color:#637869}
.ktm-edit-actions{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0 14px}
.ktm-edit-actions button,.ktm-gallery-head button,.ktm-gallery-pager button{border:1px solid #d4dfd1;background:#f5f8f3;border-radius:5px;padding:9px 12px;font-weight:750;font-size:12px;color:#2d503b;cursor:pointer}
.ktm-edit-actions button:hover{background:#e7f0e5}
.ktm-range-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ktm-range-row label{font-size:12px;color:#536f5b}
.ktm-range-row input{display:block;padding:0;margin:8px 0 4px;width:100%;accent-color:#c69a44;min-width:0}
.ktm-photo-group>small{display:block;font-size:11px;font-variant-numeric:tabular-nums;color:#6c7c71}
.ktm-drag-tip{font-size:11px;color:#687d6d;margin:8px 0 0}
.ktm-inline-stage{margin:14px auto 16px;min-height:285px;width:195px;max-width:100%;aspect-ratio:.68;background:#173729 center/cover no-repeat;border-radius:7px;color:#fff;display:flex;align-items:center;justify-content:center;cursor:grab;touch-action:none;overflow:hidden;isolation:isolate}
.ktm-inline-stage>div{text-align:center;max-width:100%;padding:13px;pointer-events:none}
.ktm-inline-stage span{font-size:8px;color:#e3bf65;font-weight:800;letter-spacing:.11em}
.ktm-inline-stage h3{font-size:22px;line-height:1.1;overflow-wrap:anywhere;color:white;letter-spacing:-.05em;margin:9px 0}
.ktm-inline-stage p{font-size:9px;line-height:1.45;color:#ecf0e9;margin:0}
#ktm-gallery-wrap{border-top:1px solid #dce7db;padding-top:20px}
#ktm-gallery-wrap[hidden]{display:none}
.ktm-gallery-head{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:13px}
#ktm-gallery-search{display:block;width:100%;border:1px solid #cbd7ca;border-radius:5px;padding:11px;margin:13px 0}
#ktm-edit-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
#ktm-edit-gallery button{border:1px solid #e1e6de;border-radius:4px;background:#fff;padding:5px;text-align:left;min-width:0;cursor:pointer}
#ktm-edit-gallery button:hover{border-color:#d0a855}
#ktm-edit-gallery img{width:100%;height:75px;object-fit:cover;border-radius:3px;display:block}
#ktm-edit-gallery span{font-size:10px;line-height:1.2;color:#4d6353;display:block;margin-top:5px;word-break:break-word;max-height:28px;overflow:hidden}
.ktm-gallery-pager{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:12px}
.ktm-gallery-pager span{font-size:11px;color:#637b6d}
.ktm-gallery-pager button:disabled{opacity:.4;cursor:default}
.ktm-editor-foot{padding:12px 21px 17px;border-top:1px solid #e0e7df;box-shadow:0 -4px 15px #15271a08;background:#fff;flex-shrink:0}
#ktm-edit-status{min-height:18px;font-size:12px;color:#4f6e53;margin-bottom:6px}
.ktm-editor-foot>div:last-child{display:flex;gap:10px}
.ktm-editor-foot button{padding:12px 17px;border-radius:5px;cursor:pointer;font-size:13px;font-weight:800}
#ktm-inline-cancel{border:1px solid #d7dfd4;background:white;color:#425748;flex:1}
#ktm-inline-save{border:1px solid #d4ac53;background:#d4ac53;color:#18291e;flex:1.4}
#ktm-inline-save:disabled{opacity:.65;cursor:wait}
@media(max-width:720px){.ktm-inline-edit-button{top:14px;right:16px;font-size:12px;padding:9px 12px}#ktm-edit-overlay{width:100vw}.ktm-editor-scroll{padding:16px 18px}.ktm-inline-stage{min-height:250px}}
/* No blurring or border stripe through the homepage image and CTA region. */
.hero .hero-bottom{border-top:0!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.hero > .wrap{isolation:isolate}
.hero .cta{position:relative;z-index:2;gap:15px}
.hero .cta .btn{white-space:normal;min-height:54px;max-width:100%;line-height:1.3}
.hero h1{overflow-wrap:normal}
@media(max-width:650px){.hero .cta{gap:11px}.hero .cta .btn{flex:1 1 200px}}

/* Use exactly one background layer at each viewport: no duplicate injected styles. */
@media(max-width:650px){
 #mainhero{background-image:var(--hero-mobile-bg)!important;background-position:var(--hero-mobile-position,center)!important}
 .page-hero.photo-hero{background-image:var(--service-mobile-bg)!important;background-position:var(--service-mobile-position,center)!important}
}

/* The full navigation is too wide beside the supplied logo at laptop widths. */
@media(max-width:1190px){
 .menu-button{display:block}
 header nav{display:none;position:absolute;left:0;right:0;top:100%;padding:18px 26px 26px;flex-direction:column;align-items:stretch;gap:0;background:#fff;box-shadow:0 18px 34px #0d271e24}
 header nav.open{display:flex}
 header nav a{padding:13px 0;border-bottom:1px solid #e4ebe4}
 header nav .nav-quote{margin-top:13px;text-align:center}
 .header-inner{min-height:79px}
}
