/* All rules are scoped to the menu section. */
.specialties{position:relative;isolation:isolate;overflow:hidden;padding-block:38px 62px;color:var(--green);background:radial-gradient(ellipse at 50% 15%,#fffaf0,transparent 65%),var(--cream)}
.specialties::before,.specialties::after{content:"";position:absolute;inset-block:0;width:min(30%,340px);z-index:-1;pointer-events:none;background:url('../assets/decor/menu-palms.svg') top left/100% auto no-repeat;opacity:.19}
.specialties::before{left:0}.specialties::after{right:0;transform:scaleX(-1)}
.specialties-defs{position:absolute;pointer-events:none}
.specialties-content{max-width:1240px}
.specialties-heading{text-align:center;margin-bottom:30px}
.specialties-ornament{display:flex;align-items:center;justify-content:center;gap:12px;margin:0 auto 12px;color:var(--gold)}
.specialties-ornament span{width:70px;height:1px;background:linear-gradient(90deg,transparent,var(--gold))}
.specialties-ornament span:last-child{transform:scaleX(-1)}
.specialties-ornament svg{width:24px;height:34px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.specialties-heading h2{margin:0 0 12px;font-family:var(--font-heading);font-size:clamp(28px,3.5vw,46px);line-height:1.2;font-weight:700;letter-spacing:.01em;overflow-wrap:break-word}
.specialties-description{margin:0;font-size:16px;color:var(--green)}
.specialties-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-auto-rows:1fr;gap:18px;padding:0;margin:0;list-style:none}
.specialty-card{position:relative;display:flex;flex-direction:column;min-width:0;min-height:432px;clip-path:url('#specialty-arch');background:var(--green);transition:transform .2s ease}
.specialty-card::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:url('../assets/decor/menu-frame.svg') center/100% 100% no-repeat}
.specialty-title{display:flex;align-items:center;justify-content:center;flex:0 0 126px;margin:0;padding:44px 15px 12px;text-align:center;color:var(--cream);font-family:var(--font-heading);font-size:clamp(15px,1.5vw,20px);font-weight:700;line-height:1.2;overflow-wrap:break-word}
.specialty-media{position:relative;flex:1;min-height:238px;margin-inline:8px;overflow:hidden}
.specialty-media img{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:cover;transition:transform .25s ease}
.specialty-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:16px 10px;background:radial-gradient(ellipse at center,#fff6e5,#e8d4ae);color:#68512d;text-align:center}
.specialty-placeholder svg{width:38px;height:38px;fill:none;stroke:#967025;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.specialty-placeholder span{font-size:13px}.specialty-placeholder small{max-width:100%;font-size:11px;overflow-wrap:anywhere}
.specialty-action{padding:10px 13px 14px}
.specialty-button{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:42px;padding:10px 8px;border:1px solid var(--gold);border-radius:5px;background:var(--green);color:var(--cream);font-family:var(--font-body);font-size:13px;line-height:1.4;font-weight:600}
.specialty-button span{color:var(--gold-light);font-size:18px;line-height:1}
@media(hover:hover){.specialty-card:hover{transform:translateY(-3px)}.specialty-card:hover .specialty-media img{transform:scale(1.025)}}
@media(max-width:1100px){.specialties-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.specialty-title{font-size:20px}}
@media(max-width:850px){.specialties-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.specialties{padding-block:34px 48px}.specialties-heading{margin-bottom:26px}.specialties-heading h2{font-size:clamp(24px,7vw,36px)}.specialties-description{font-size:15px}.specialties-grid{grid-template-columns:minmax(0,1fr);max-width:340px;margin-inline:auto;gap:26px}.specialty-card{min-height:460px}.specialty-title{flex-basis:130px;font-size:23px}.specialty-media{min-height:264px}.specialties::before,.specialties::after{width:45%;opacity:.12}}
@media(prefers-reduced-motion:reduce){.specialty-card,.specialty-media img{transition:none}.specialty-card:hover{transform:none}}
