.dress-code-section{overflow:hidden}.dress-code-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:stretch}.dress-code-card{position:relative;display:flex;flex-direction:column;min-height:520px;overflow:hidden;border:1px solid #dceaf2;border-radius:24px;background:linear-gradient(180deg,#f7fbfd 0%,#eef6fa 68%,#e1eef4 100%);box-shadow:0 14px 34px rgba(5,47,95,.09);transition:transform .2s var(--ease-out),box-shadow .2s var(--ease-out),border-color .2s var(--ease-out)}.dress-code-card:hover{transform:translateY(-5px);border-color:#b8dfed;box-shadow:0 20px 40px rgba(5,47,95,.14)}.dress-code-card:nth-child(2),.dress-code-card:nth-child(4){background:linear-gradient(180deg,#f0f4f7 0%,#e5edf2 68%,#d4e1e8 100%)}.dress-photo{position:relative;height:400px;display:flex;align-items:flex-end;justify-content:center;padding:14px 14px 0}.dress-photo:before{content:"";position:absolute;width:250px;height:250px;border-radius:50%;background:rgba(8,168,230,.1);top:42px;left:50%;transform:translateX(-50%)}.dress-photo img{position:relative;z-index:1;width:100%;height:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 14px 16px rgba(12,40,65,.18))}.dress-code-card:nth-child(3) .dress-photo img{transform:scale(.95);transform-origin:center bottom}.dress-caption{position:relative;z-index:2;margin-top:auto;padding:20px 20px 22px;background:rgba(255,255,255,.92);border-top:1px solid rgba(205,224,234,.9);backdrop-filter:blur(8px)}.dress-caption .dress-number{display:block;color:#08a2dc;font-size:.68rem;font-weight:900;letter-spacing:.15em;margin-bottom:8px}.dress-caption h3{margin:0;color:#12375d;font-size:1.17rem;line-height:1.3}.dress-caption p{margin:7px 0 0;color:#6c8092;font-size:.82rem;line-height:1.5}.service-types .pill{transition:transform .16s var(--ease-out),background .16s var(--ease-out)}.service-types .pill:hover{transform:translateY(-2px);background:#d9f2fd}.dress-code-note{margin-top:18px}
@media(max-width:1050px){.dress-code-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dress-code-card{min-height:500px}}
@media(max-width:620px){.dress-code-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dress-code-card{min-height:350px;border-radius:16px}.dress-photo{height:255px;padding:8px 5px 0}.dress-photo:before{width:145px;height:145px;top:32px}.dress-caption{padding:14px 12px 16px}.dress-caption .dress-number{font-size:.56rem;margin-bottom:5px}.dress-caption h3{font-size:.88rem}.dress-caption p{font-size:.68rem;line-height:1.4;margin-top:5px}}
