/* Photographic feature cards. Defaults stay visible when JavaScript is unavailable. */
html{scrollbar-gutter:stable}
.feature-card.feature-card--visual{
  display:flex;flex-direction:column;align-items:stretch;gap:0;padding:0;
  position:relative;overflow:hidden;text-align:left;background:#fff;
  border:1px solid #cce5eb;border-radius:22px;isolation:isolate;
  box-shadow:0 10px 28px #0a516b08;
  transform:perspective(1100px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));
  transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease,opacity .65s ease;
}
.feature-card--visual:focus-within{border-color:#168e94;box-shadow:0 16px 40px #0a657517}
.feature-media{display:block;position:relative;overflow:hidden;background:#dceff1;text-decoration:none;aspect-ratio:16/10;flex-shrink:0}
.feature-media>img{width:100%;height:100%;aspect-ratio:16/10;object-fit:cover;transform:scale(1.005);transition:transform .7s cubic-bezier(.2,.65,.2,1)}
.feature-media::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 50%,#001d2d33);z-index:1}
.feature-media:focus-visible{outline:3px solid #6bfff0;outline-offset:-6px}
.feature-zoom{position:absolute;right:16px;bottom:16px;z-index:2;display:flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid #ffffff45;border-radius:999px;background:#002a3de8;color:#fff;font-size:16px;font-weight:600;line-height:1.4;transition:opacity .2s ease,transform .2s ease}
.feature-zoom .icon{width:18px;height:18px;stroke-width:1.8}
.feature-body{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:13px;flex-grow:1;padding:37px 25px 28px}
.feature-card--visual .feature-body .icon-circle{position:absolute;top:-25px;left:25px;display:inline-grid;width:50px;height:50px;margin:0;border:1px solid #6acdc9;background:linear-gradient(150deg,#fff,#e2faf5);box-shadow:0 5px 14px #003f5612;z-index:3}
.feature-card--visual .feature-body .icon-circle .icon{width:24px;height:24px;transition:transform .35s ease}
.feature-card--visual h3{font-size:21px;line-height:1.4;letter-spacing:-.035em;margin:0}
.feature-card--visual p{font-size:16px;line-height:1.75;margin:0;color:#4d6e85}
.has-feature-motion .feature-card--visual:not(.is-revealed){opacity:0;transform:translateY(26px) scale(.985)}
.has-feature-motion .feature-card--visual.is-revealed{transition:opacity .65s ease var(--reveal-delay,0ms),transform .24s ease,border-color .24s ease,box-shadow .24s ease}
.has-feature-motion .feature-card--visual:not(.is-revealed) .feature-media>img{transform:scale(1.085)}
@media(hover:hover) and (pointer:fine){
  .feature-card--visual .feature-zoom{opacity:0;transform:translateY(7px)}
  .feature-card--visual:hover,.feature-card--visual:focus-within{border-color:#48b8b6;box-shadow:0 20px 42px #0a62771f}
  .feature-card--visual:hover .feature-zoom,.feature-card--visual:focus-within .feature-zoom{opacity:1;transform:translateY(0)}
  .feature-card--visual.is-pointer-active .feature-media>img{animation:none;transform:scale(1.055)}
  .feature-card--visual.is-pointer-active .feature-body .icon-circle .icon{transform:rotate(-7deg)}
  .feature-card--visual::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:4;opacity:0;background:radial-gradient(500px circle at var(--pointer-x,50%) var(--pointer-y,50%),#71f5e91c,transparent 60%);transition:opacity .25s ease}
  .feature-card--visual.is-pointer-active::after{opacity:1}
}

/* A native modal keeps the keyboard focus and background inert without a library. */
.feature-gallery:not([open]){display:none}
.feature-gallery{width:min(1120px,calc(100% - 48px));max-width:none;max-height:calc(100dvh - 48px);margin:auto;padding:0;border:1px solid #92d8d94d;border-radius:23px;background:#052c3e;color:#fff;box-shadow:0 28px 100px #00131dcc;overflow:auto}
.feature-gallery[open]{animation:feature-gallery-enter .25s cubic-bezier(.2,.65,.2,1)}
.feature-gallery::backdrop{background:#001521e6;backdrop-filter:blur(9px);animation:feature-backdrop-enter .2s ease}
.feature-gallery-shell{display:flex;flex-direction:column;min-width:0}
.feature-gallery-header{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:21px 25px;border-bottom:1px solid #a4f1f122}
.feature-gallery-kicker{color:#61e1d6;font-size:16px;font-weight:600;margin:0 0 5px}
.feature-gallery-header h3{font-size:23px;line-height:1.35;color:#fff;letter-spacing:-.035em}
.feature-gallery-close{display:flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:10px 13px;background:#0e4051;border:1px solid #a9e6e84d;border-radius:12px;color:#e4fcff;font-size:16px;line-height:1.5;flex-shrink:0}
.feature-gallery-close .icon{width:21px;height:21px;transform:rotate(45deg)}
.feature-gallery-close:hover,.feature-gallery-controls button:hover{background:#1b5865;border-color:#7be5df}
.feature-gallery-stage{min-width:0;background:#001e2d;overflow:hidden;touch-action:pan-y pinch-zoom;display:grid;place-items:center}
.feature-gallery-stage img{display:block;width:100%;height:min(65dvh,660px);object-fit:contain;min-height:160px}
.feature-gallery-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 25px;border-top:1px solid #a4f1f122}
.feature-gallery-footer p{font-size:16px;color:#aed5df;line-height:1.5}
#feature-gallery-count{display:inline-block;min-width:44px;white-space:nowrap;font-variant-numeric:tabular-nums;color:#e4fcff}
.feature-gallery-controls{display:flex;gap:10px;flex-shrink:0}
.feature-gallery-controls button{display:grid;place-items:center;width:46px;height:46px;background:#0e4051;border:1px solid #a9e6e84d;border-radius:12px;color:#ddfffd}
.feature-gallery-controls .icon{width:22px;height:22px}
.feature-gallery-controls [data-gallery-prev] .icon{transform:rotate(180deg)}
.feature-gallery button:focus-visible{outline:3px solid #69f0e5;outline-offset:3px}
@keyframes feature-gallery-enter{from{opacity:0;transform:translateY(14px) scale(.975)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes feature-backdrop-enter{from{opacity:0}to{opacity:1}}
@media(max-width:1023px){.feature-body{padding:35px 23px 25px}.feature-card--visual .feature-body .icon-circle{left:23px}.feature-card--visual h3{font-size:21px}}
@media(max-width:767px){.feature-card.feature-card--visual{border-radius:20px}.feature-gallery{width:calc(100% - 28px);max-height:calc(100dvh - 28px);border-radius:18px}.feature-gallery-header{gap:15px;padding:17px}.feature-gallery-header h3{font-size:20px}.feature-gallery-close{width:44px;height:44px;min-height:44px;padding:0;border-radius:11px}.feature-gallery-close>span{display:none}.feature-gallery-stage img{height:auto;min-height:0;max-height:65dvh;aspect-ratio:3/2;object-fit:contain}.feature-gallery-footer{padding:14px 17px;gap:12px}.feature-gallery-footer p{font-size:16px;max-width:210px}.feature-gallery-controls{gap:8px}.feature-gallery-controls button{width:44px;height:44px}}
@media(max-width:480px){.feature-body{padding:35px 23px 25px;gap:12px}.feature-card--visual h3{font-size:21px}.feature-card--visual p{font-size:16px}.feature-card--visual .feature-body .icon-circle{left:23px;width:48px;height:48px;top:-24px}.feature-zoom{right:14px;bottom:14px;padding:8px 11px}.feature-gallery-footer p{max-width:170px}.feature-gallery-stage img{aspect-ratio:3/2}}
@media(prefers-reduced-transparency:reduce){.feature-gallery::backdrop{backdrop-filter:none;background:#001521f5}}
@media(prefers-reduced-motion:reduce){
  .feature-card.feature-card--visual,.has-feature-motion .feature-card--visual:not(.is-revealed){opacity:1!important;transform:none!important;transition:none!important}
  .feature-card--visual .feature-media>img,.feature-card--visual.is-pointer-active .feature-media>img{animation:none!important;transform:none!important;transition:none!important}
  .feature-card--visual .feature-zoom,.feature-card--visual.is-pointer-active .feature-body .icon-circle .icon{transform:none!important;transition:none!important}
  .feature-card--visual::after{display:none}
  .feature-gallery[open],.feature-gallery::backdrop{animation:none!important}
}
