/* IJ CARE V23.1 — mobile usability and accessible interactions */
.skip-link{position:fixed;top:-100px;left:12px;z-index:200;background:#173d36;color:#fff;padding:12px 18px;border-radius:10px;font-weight:700}
.skip-link:focus{top:12px}
body.modal-active{overflow:hidden}
.modal.open{overflow-y:auto}
.modal-card{max-height:calc(100dvh - 32px);overflow-y:auto}
.compare input[type="range"]:focus-visible{opacity:1;appearance:none;-webkit-appearance:none;background:transparent;outline:3px solid #d3b48b;outline-offset:-4px}
.compare input[type="range"]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:32px;height:48px;border:2px solid #fff;border-radius:10px;background:#173d36;box-shadow:0 0 0 2px #173d36;cursor:ew-resize}
.compare input[type="range"]::-moz-range-thumb{width:30px;height:46px;border:2px solid #fff;border-radius:10px;background:#173d36;cursor:ew-resize}
@media(max-width:760px){
  .wrap{padding-left:18px;padding-right:18px}
  .nav{min-height:70px;height:auto;flex-wrap:wrap;gap:8px;padding-top:12px;padding-bottom:12px}
  .brand{font-size:18px}
  .hero-grid,.contact,.work-grid,.story-grid,.services,.reviews{grid-template-columns:1fr}
  .hero{padding-top:42px}
  .hero h1{font-size:clamp(36px,9vw,52px);letter-spacing:-1.5px}
  .hero .actions{gap:10px}
  .hero .actions .btn{min-height:48px}
  .compare{height:clamp(280px,75vw,430px)}
  .modal-card{padding:22px}
  .float{right:12px;bottom:12px;padding:12px 15px}
  img{max-width:100%}
}
@media(max-width:420px){.hero .actions .btn{width:100%}.contact .actions .btn{width:100%}}
@media(prefers-reduced-motion:reduce){.service-card,.btn{transition:none!important;transform:none!important}}

/* V23.2 — single-frame before/after reveal */
.compare[data-compare]{--split:50%;touch-action:pan-y;isolation:isolate}
.compare[data-compare] .before-wrap{inset:0;width:100%;clip-path:inset(0 calc(100% - var(--split)) 0 0);pointer-events:none}
.compare[data-compare] .before-wrap img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:center}
.compare[data-compare] .after{object-position:center}
.compare[data-compare] .divider{left:var(--split);width:3px;z-index:3;pointer-events:none;display:flex;align-items:center;justify-content:center}
.compare[data-compare] .compare-handle{display:flex;align-items:center;justify-content:center;width:46px;height:46px;flex:none;border-radius:50%;background:#173d36;color:white;border:3px solid white;box-shadow:0 3px 15px #0007;font-size:24px;font-weight:700}
.compare[data-compare] input[type=range]{z-index:5;opacity:0;touch-action:pan-y;cursor:ew-resize}
.compare[data-compare] input[type=range]:focus-visible{opacity:0;outline:none}
.compare[data-compare]:focus-within{outline:3px solid #d3b48b;outline-offset:3px}
.compare[data-compare] .tag{z-index:4;pointer-events:none}
