/* ==========================================================================
   Facility page — /capacity/<facility> — and the enquiry form
   ========================================================================== */

.acur-ghead__prop--wide { max-width: 60ch; }
.acur-facility .acur-ghead__foot { gap: 12px; }
.acur-tgrid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }

/* Services */
.acur-services { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 24px 0 0; padding: 0; list-style: none; }
.acur-service { position: relative; padding: clamp(16px, 2vw, 24px); border-radius: 16px; background: rgba(255, 255, 255, .75); box-shadow: inset 0 1px 0 #fff, 0 0 0 1px rgba(0, 55, 123, .08); }
.acur-service__num { color: var(--acur-orange-d); font-family: var(--acur-font-heading); font-size: .9375rem; font-weight: 700; letter-spacing: .08em; }
.acur-service__title { margin-top: 8px; font-size: var(--acur-fs-h4); line-height: 1.25; }
.acur-service__text { margin-top: 6px; color: var(--acur-ink); font-size: var(--acur-fs-sm); line-height: 1.6; }

/* Equipment */
.acur-kit { display: grid; gap: 12px; margin: 20px 0 0; padding: 0; list-style: none; }
.acur-kit__item { display: grid; grid-template-columns: 132px minmax(0, 1fr); gap: clamp(14px, 2vw, 24px); align-items: center; padding: 10px; border-radius: 16px; background: rgba(255, 255, 255, .75); box-shadow: inset 0 1px 0 #fff, 0 0 0 1px rgba(0, 55, 123, .08); }
.acur-kit__media { position: relative; display: grid; place-items: center; overflow: hidden; aspect-ratio: 4 / 3; border-radius: 14px; background: linear-gradient(160deg, #0E56B2, var(--acur-navy) 55%, var(--acur-navy-dd)); color: rgba(255, 255, 255, .85); }
.acur-kit__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.acur-kit__text { display: grid; gap: 2px; padding-right: 12px; line-height: 1.4; }
.acur-kit__name { color: var(--acur-navy); font-family: var(--acur-font-heading); font-size: 1.125rem; font-weight: 700; }
.acur-kit__model { color: var(--acur-ink-2); font-size: var(--acur-fs-xs); }
.acur-kit__use { margin-top: 4px; color: var(--acur-ink); font-size: var(--acur-fs-sm); line-height: 1.55; }

/* Gallery */
.acur-gal { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 20px 0 0; padding: 0; list-style: none; }
.acur-gal__item { overflow: hidden; aspect-ratio: 4 / 3; border-radius: 18px; }
.acur-gal__img { width: 100%; height: 100%; object-fit: cover; transition: transform .9s var(--acur-ease); }
.acur-gal__item:hover .acur-gal__img { transform: scale(1.06); }

/* Pricing */
.acur-price { margin-top: 24px; overflow-x: auto; border-radius: 16px; background: rgba(255, 255, 255, .8); box-shadow: inset 0 1px 0 #fff, 0 0 0 1px rgba(0, 55, 123, .1); }
.acur-price__table { width: 100%; min-width: 520px; border-collapse: collapse; font-size: var(--acur-fs-sm); line-height: 1.4; }
.acur-price__th { padding: 14px 18px; background: var(--acur-navy); color: #fff; font-size: .75rem; font-weight: 700; letter-spacing: .1em; text-align: left; text-transform: uppercase; }
.acur-price__service, .acur-price__td { padding: 14px 18px; border-top: 1px solid var(--acur-line-navy); text-align: left; }
.acur-price__service { color: var(--acur-navy); font-weight: 600; }
.acur-price__td { color: var(--acur-ink); font-variant-numeric: tabular-nums; }
.acur-price__td--unit { color: var(--acur-ink-2); }
.acur-price__note { margin-top: 12px; color: var(--acur-ink-2); font-size: var(--acur-fs-sm); }
.acur-fcontact { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; align-items: center; margin-top: 24px; padding-top: 24px; border-top: 1px solid var(--acur-line-navy); }
.acur-fcontact__loc { display: flex; align-items: flex-start; gap: 10px; color: var(--acur-ink); font-size: var(--acur-fs-sm); line-height: 1.5; }
.acur-fcontact__loc .acur-icon { flex: none; color: var(--acur-orange-d); }

/* Enquiry form — one compact glass panel: head row, three steps in a line,
   a symmetric 2 × 3 grid of fields, consent and the button on one closing row. */
.acur-enq { display: grid; gap: clamp(20px, 2.4vw, 30px); padding: clamp(24px, 3vw, 44px); overflow: hidden; border-radius: 26px; scroll-margin-top: 150px; }
.acur-enq::before { background: linear-gradient(160deg, rgba(255, 255, 255, .92), rgba(236, 243, 252, .84) 55%, rgba(226, 236, 251, .88)); }
/* Soft colour fields and a faint dot grid give the panel depth without weight */
.acur-enq::after { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: radial-gradient(520px 320px at 100% 0%, rgba(106, 79, 224, .12), transparent 70%), radial-gradient(560px 360px at 0% 100%, rgba(243, 112, 33, .1), transparent 70%), radial-gradient(640px 400px at 50% 50%, rgba(31, 111, 214, .07), transparent 70%), radial-gradient(rgba(0, 55, 123, .14) 1px, transparent 1.2px) 0 0 / 26px 26px; -webkit-mask-image: linear-gradient(180deg, #000, rgba(0, 0, 0, .4)); mask-image: linear-gradient(180deg, #000, rgba(0, 0, 0, .4)); }
.acur-enq__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px 32px; }
.acur-enq__head-text { max-width: 62ch; }
.acur-enq__label.acur-kicker { margin: 0; }
.acur-enq__title { margin-top: 12px; font-size: var(--acur-fs-h2); line-height: 1.1; }
.acur-enq__text { margin-top: 10px; color: var(--acur-ink-2); font-size: var(--acur-fs-base); line-height: 1.6; }
.acur-enq__tel { display: inline-flex; align-items: center; gap: 12px; flex: none; padding: 8px 20px 8px 8px; border-radius: 999px; background: rgba(255, 255, 255, .8); box-shadow: inset 0 1px 0 #fff, 0 0 0 1px rgba(0, 55, 123, .1), 0 12px 24px -16px rgba(0, 43, 94, .5); color: var(--acur-navy); text-decoration: none; transition: transform .35s var(--acur-ease), background-color .25s var(--acur-ease); }
.acur-enq__tel:hover { transform: translateY(-2px); background: #fff; color: var(--acur-navy); }
.acur-enq__tel-icon { display: grid; place-items: center; flex: none; width: 40px; height: 40px; border-radius: 50%; background: var(--acur-orange); color: var(--acur-navy-dd); }
.acur-enq__tel-text { display: grid; gap: 1px; line-height: 1.25; }
.acur-enq__tel-label { color: var(--acur-ink-3); font-size: .625rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.acur-enq__tel-no { font-size: .9375rem; font-weight: 700; font-variant-numeric: tabular-nums; }

.acur-enq .acur-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.acur-steps__item { display: flex; align-items: center; gap: 14px; min-height: 68px; padding: 12px 18px 12px 12px; border-radius: 18px; background: rgba(255, 255, 255, .72); box-shadow: inset 0 1px 0 #fff, 0 0 0 1px rgba(0, 55, 123, .08), 0 14px 28px -20px rgba(0, 43, 94, .5); }
.acur-steps__num { display: grid; place-items: center; flex: none; width: 40px; height: 40px; border-radius: 12px; background: linear-gradient(160deg, #3C86E6, var(--acur-royal)); box-shadow: 0 10px 18px -10px rgba(11, 78, 166, .7); color: #fff; font-family: var(--acur-font-heading); font-size: 1rem; font-weight: 800; }
.acur-steps__item:nth-child(2) .acur-steps__num { background: linear-gradient(160deg, #22B8A6, #0E9F8E); box-shadow: 0 10px 18px -10px rgba(14, 159, 142, .7); }
.acur-steps__item:nth-child(3) .acur-steps__num { background: linear-gradient(160deg, var(--acur-orange-l), var(--acur-orange)); box-shadow: 0 10px 18px -10px rgba(243, 112, 33, .7); }
.acur-steps__text { display: grid; gap: 2px; min-width: 0; line-height: 1.35; }
.acur-steps__title { color: var(--acur-navy); font-size: var(--acur-fs-sm); font-weight: 600; }
.acur-steps__desc { color: var(--acur-ink-2); font-size: var(--acur-fs-xs); }

.acur-enq__form { display: grid; gap: 16px; padding-top: clamp(18px, 2vw, 26px); border-top: 1px solid rgba(0, 55, 123, .1); }
.acur-enq__form.is-busy { opacity: .7; pointer-events: none; }
.acur-enq__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.acur-fld { display: grid; gap: 8px; min-width: 0; margin: 0; }
.acur-fld--area { grid-column: 1 / -1; }
.acur-fld__label { color: var(--acur-ink-2); font-size: .6875rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.acur-fld__req { color: var(--acur-orange-d); }
.acur-fld__input { display: block; width: 100%; min-height: 54px; padding: 0 20px; border: 0; border-radius: 999px; background: rgba(255, 255, 255, .78); box-shadow: inset 0 2px 5px rgba(0, 43, 94, .08), inset 0 0 0 1px rgba(0, 55, 123, .12); color: var(--acur-navy); font-family: inherit; font-size: .9375rem; font-weight: 500; transition: box-shadow .2s var(--acur-ease), background-color .2s var(--acur-ease); }
.acur-fld__input::placeholder { color: var(--acur-ink-3); font-weight: 400; opacity: 1; }
.acur-fld__input:focus, .acur-fld__input:focus-visible { outline: none; background: #fff; box-shadow: inset 0 0 0 2px var(--acur-navy), 0 0 0 5px rgba(30, 99, 200, .16); }
.acur-fld__input--area { min-height: 132px; padding: 16px 20px; border-radius: 22px; resize: vertical; line-height: 1.55; }
.acur-fld__select { position: relative; display: block; }
.acur-fld__input--select { appearance: none; -webkit-appearance: none; padding-right: 48px; }
.acur-fld__chev { position: absolute; top: 50%; right: 20px; transform: translateY(-50%); color: var(--acur-navy); pointer-events: none; }
.acur-enq__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 24px; padding-top: 4px; }
.acur-consent { display: flex; align-items: flex-start; gap: 10px; flex: 1 1 320px; max-width: 60ch; margin: 0; color: var(--acur-ink-2); font-size: var(--acur-fs-xs); line-height: 1.5; cursor: pointer; }
.acur-consent__input { flex: none; width: 18px; height: 18px; margin: 1px 0 0; accent-color: var(--acur-navy); }
.acur-consent__link { color: var(--acur-navy); font-weight: 600; }
.acur-enq__submit { flex: none; min-width: 220px; min-height: 54px; }
.acur-enq__msg { margin: 0; color: #9B1C1C; font-size: var(--acur-fs-xs); font-weight: 600; }
.acur-enq__msg:empty { display: none; }
.acur-enq__msg:not(:empty) { padding: 10px 16px; border-radius: 14px; background: rgba(155, 28, 28, .08); box-shadow: inset 0 0 0 1px rgba(155, 28, 28, .2); }
.acur-enq__done { display: flex; align-items: center; gap: 14px; padding: 16px 18px; border-radius: 16px; background: rgba(20, 83, 45, .08); box-shadow: inset 0 0 0 1px rgba(20, 83, 45, .2); color: #14532D; font-size: var(--acur-fs-sm); font-weight: 600; line-height: 1.5; }

@media (max-width: 899px) {
	.acur-enq .acur-steps { grid-template-columns: minmax(0, 1fr); }
	.acur-steps__item { min-height: 0; }
}
@media (max-width: 782px) {
	.acur-services, .acur-fcontact, .acur-tgrid--2 { grid-template-columns: minmax(0, 1fr); }
	.acur-gal { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.acur-kit__item { grid-template-columns: 88px minmax(0, 1fr); }
	.acur-enq__grid { grid-template-columns: minmax(0, 1fr); }
	.acur-fld__input { font-size: 1rem; }
	.acur-facility .acur-ghead__foot .acur-btn { flex: 1 1 100%; }
}

.acur-pick { position: relative; display: inline-flex; }
.acur-pick__input { position: absolute; opacity: 0; }
.acur-pick__label { display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px; border-radius: 999px; font-size: var(--acur-fs-sm); font-weight: 500; cursor: pointer; }
