/* ============ SH Category Panels ============ */
.shcp-cats{
	--shcp-navy2:#061d40;
	--shcp-cyan:#58cef1;
	--shcp-purple:#8A38F5;
	--shcp-kicker:#58cef1;
	--shcp-heading:#fff;
	--shcp-desc:#c8d4e1;
	--shcp-panel-bg:#0c294e;
	--shcp-overlay-strong:rgba(4,20,43,.9);
	--shcp-overlay-soft:rgba(4,20,43,.15);
	--shcp-img-opacity:.5;
	--shcp-img-opacity-hover:.72;
	--shcp-panel-height:440px;
	--shcp-panel-gap:10px;
	--shcp-ease:cubic-bezier(.22,.61,.36,1);
	background:var(--shcp-navy2);
	color:#fff;
	padding:96px 0;
	box-sizing:border-box;
}
.shcp-cats *{box-sizing:border-box}
.shcp-wrap{width:min(1240px,calc(100% - 48px));margin:0 auto}

.shcp-section-head{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end;margin-bottom:56px}
.shcp-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.16em;font-weight:700;color:var(--shcp-kicker);margin-bottom:14px;display:flex;align-items:center;gap:12px}
.shcp-kicker:before{content:"";width:26px;height:2px;background:var(--shcp-kicker)}
.shcp-cats h2{font-family:inherit;font-size:32px;line-height:1.16;color:var(--shcp-heading);margin:0;max-width:520px;font-weight:700}
.shcp-section-head p{font-size:16px;line-height:24px;color:var(--shcp-desc);margin:0}

.shcp-panels{display:flex;gap:var(--shcp-panel-gap);height:var(--shcp-panel-height)}
.shcp-panel{position:relative;flex:1;min-width:0;overflow:hidden;background:var(--shcp-panel-bg);transition:flex .65s var(--shcp-ease);isolation:isolate;display:block;text-decoration:none;color:inherit}
.shcp-panel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:var(--shcp-img-opacity);transition:transform 1.2s var(--shcp-ease),opacity .5s var(--shcp-ease)}
.shcp-panel:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,var(--shcp-overlay-strong),var(--shcp-overlay-soft) 70%)}
.shcp-panel:before{content:"";position:absolute;left:0;right:100%;top:0;height:3px;background:linear-gradient(90deg,var(--shcp-cyan),var(--shcp-purple));z-index:3;transition:right .5s var(--shcp-ease)}
.shcp-panel:hover,.shcp-panel:focus-visible,.shcp-panel:focus-within{flex:2.9}
.shcp-panel:hover img,.shcp-panel:focus-within img{transform:scale(1.06);opacity:var(--shcp-img-opacity-hover)}
.shcp-panel:hover:before,.shcp-panel:focus-within:before{right:0}

.shcp-p-idx{position:absolute;z-index:2;top:20px;left:20px;font-size:11px;font-weight:700;letter-spacing:.12em;color:#7fd8f5}
.shcp-p-vert{position:absolute;z-index:2;left:20px;bottom:24px;writing-mode:vertical-rl;transform:rotate(180deg);font-weight:700;font-size:15px;letter-spacing:.06em;color:#fff;transition:opacity .35s var(--shcp-ease)}
.shcp-p-open{position:absolute;z-index:2;left:24px;right:24px;bottom:24px;opacity:0;transform:translateY(10px);transition:opacity .45s var(--shcp-ease) .12s,transform .45s var(--shcp-ease) .12s}
.shcp-p-open b{display:block;font-weight:700;font-size:22px;line-height:1.2;color:#fff;margin-bottom:10px}
.shcp-p-open span{display:inline-flex;align-items:center;gap:8px;font-size:10px;font-weight:700;letter-spacing:.12em;color:#7fd8f5}
.shcp-panel:hover .shcp-p-vert,.shcp-panel:focus-within .shcp-p-vert{opacity:0}
.shcp-panel:hover .shcp-p-open,.shcp-panel:focus-within .shcp-p-open{opacity:1;transform:none}

/* scroll reveal (optional, progressive enhancement) */
.shcp-reveal{opacity:0;transform:translateY(26px);transition:opacity .7s var(--shcp-ease),transform .7s var(--shcp-ease)}
.shcp-reveal.shcp-in{opacity:1;transform:none}

@media(prefers-reduced-motion:reduce){
	.shcp-reveal{opacity:1!important;transform:none!important}
}

/* ============ RESPONSIVE (matches source breakpoints) ============ */
@media(max-width:980px){
	.shcp-section-head{grid-template-columns:1fr;gap:28px}
	.shcp-panels{height:auto;display:grid;grid-template-columns:1fr 1fr;gap:12px}
	.shcp-panel{min-height:190px}
	.shcp-panel:hover,.shcp-panel:focus-within{flex:1}
	.shcp-p-vert{display:none}
	.shcp-p-open{opacity:1;transform:none}
	.shcp-p-open b{font-size:18px}
	.shcp-panel:last-child{grid-column:1/-1;min-height:170px}
}
@media(max-width:640px){
	.shcp-cats{padding:64px 0}
	.shcp-cats h2{font-size:26px;line-height:1.22}
	.shcp-panels{grid-template-columns:1fr}
	.shcp-panel:last-child{grid-column:auto;min-height:190px}
}

/* ============ Email Gate Modal (Brochure Download) ============ */
body.shcp-modal-lock{overflow:hidden}
.shcp-modal{position:fixed;inset:0;z-index:99999;display:none;align-items:center;justify-content:center;padding:20px}
.shcp-modal.shcp-modal-open{display:flex}
.shcp-modal-overlay{position:absolute;inset:0;background:rgba(4,20,43,.72);backdrop-filter:blur(2px)}
.shcp-modal-box{position:relative;width:100%;max-width:420px;background:#0c294e;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:32px 28px;box-shadow:0 20px 60px rgba(0,0,0,.4);color:#fff;animation:shcpModalIn .25s ease}
@keyframes shcpModalIn{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
.shcp-modal-close{position:absolute;top:10px;right:12px;background:none;border:0;color:#c8d4e1;font-size:26px;line-height:1;cursor:pointer;padding:4px 8px}
.shcp-modal-close:hover{color:#fff}
.shcp-modal-box h3{margin:0 0 8px;font-size:20px;font-weight:700;color:#fff}
.shcp-modal-sub{margin:0 0 20px;font-size:14px;color:#c8d4e1;line-height:1.5}
.shcp-modal-form{display:flex;flex-direction:column;gap:12px}
.shcp-modal-email{width:100%;padding:12px 14px;border-radius:6px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.05);color:#fff;font-size:14px}
.shcp-modal-email::placeholder{color:#7d8ea3}
.shcp-modal-email:focus{outline:none;border-color:#58cef1}
.shcp-modal-submit{padding:12px 16px;border:0;border-radius:6px;background:linear-gradient(90deg,#58cef1,#8A38F5);color:#fff;font-weight:700;font-size:13px;letter-spacing:.04em;cursor:pointer;transition:opacity .2s}
.shcp-modal-submit:hover{opacity:.9}
.shcp-modal-submit:disabled{opacity:.6;cursor:default}
.shcp-modal-error{margin:0;font-size:13px;color:#ff8a8a}
