.catering-page,.catering-dialog{font-family:-apple-system,BlinkMacSystemFont,'Inter UI','Segoe UI',sans-serif;color:#586174;font-size:16px;font-weight:400;line-height:1.6;background:#fff}
.catering-wrap{max-width:1152px;margin:auto;padding-inline:24px}
.catering-page h1,.catering-page h2,.catering-dialog h2{font-family:'proxima-nova','Proxima Nova',Arial,sans-serif;color:#1a3374;font-weight:600;line-height:1.12;letter-spacing:-.025em}
.catering-page h1{font-size:clamp(40px,4.8vw,66px);font-weight:700;line-height:1.04;letter-spacing:-.035em;color:#1b3a6b;margin:0}
.catering-page h1 span{color:#4a6fa5;font-weight:400}
.catering-page h2,.catering-dialog h2{font-size:clamp(30px,3.2vw,40px);margin:0 0 16px}
.catering-page h3{font:600 26px/1.2 'proxima-nova','Proxima Nova',Arial,sans-serif;color:#1a3374;letter-spacing:-.015em;margin:0 0 12px}
.catering-page p{margin:0}.catering-page figure{margin:0}
.catering-hero{background:#f5f2ed;padding-block:52px 0}
.catering-page .catering-eyebrow{font-size:13px;letter-spacing:.09em;text-transform:none;color:#586174;margin-bottom:24px}
.catering-hero-layout{display:grid;grid-template-columns:1.4fr 1fr;gap:80px;align-items:center;padding-bottom:44px}
.catering-hero-copy>p:first-child{font-size:17px;max-width:350px;margin-bottom:24px}
.catering-page .catering-provider{font-size:13px;margin-top:20px}.catering-provider strong{font-weight:500;color:#1a3374}
.catering-hero-photo{position:relative;height:390px;overflow:hidden}
.catering-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 53%}
.catering-hero-photo figcaption{position:absolute;bottom:20px;left:24px;background:#f5f2ed;color:#1b3a6b;padding:8px 14px;font-size:14px}
.catering-button{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:48px;padding:12px 24px;border:0;border-radius:24px;color:#fff;background:#1A3374;font-size:15px;font-weight:500;line-height:1.5;transition:background .16s}
.catering-button:hover{background:#2B3D81}.catering-button:disabled{opacity:.65;cursor:wait}
.catering-link{display:inline-flex;align-items:center;gap:12px;min-height:44px;color:#3d5994;font-size:15px;font-weight:500;text-decoration:underline;text-underline-offset:4px}
.catering-page :is(a,button):focus-visible,.catering-dialog :focus-visible{outline:3px solid #3d5994;outline-offset:4px}
.catering-services{padding-block:80px 48px}
.catering-section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:48px}.catering-section-heading p{max-width:330px;margin-bottom:16px}
.catering-menu-row{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;margin-bottom:80px}
.catering-menu-photo img{width:100%;height:460px;object-fit:cover;object-position:35% center;border-radius:3px}
.catering-menu-photo figcaption{font-size:14px;margin-top:12px;color:#586174}
.catering-menu-row-reverse .catering-menu-photo{order:2}.catering-menu-row-reverse .catering-menu-photo img{height:460px;object-position:52% center}
.catering-menu-items article+article{border-top:1px solid #deded9;padding-top:24px;margin-top:24px}
.catering-menu-items .catering-occasion{font-size:13px;margin-bottom:8px;color:#68707c}
.catering-menu-items .catering-link{margin-top:12px}
.catering-page .catering-image-note{font-size:13px;color:#68707c;margin-top:-40px}
.catering-combine{background:#1A3374;padding-block:56px}.catering-combine>.catering-wrap{display:flex;align-items:center;justify-content:space-between;gap:40px}.catering-combine h2{color:#fff}.catering-combine p{color:#e0e7f1}.catering-combine .catering-eyebrow{color:#d1dcf0;margin-bottom:16px}.catering-combine .catering-button{background:#f5f2ed;color:#1b3a6b;flex-shrink:0}.catering-combine .catering-button:hover{background:#fff}
.catering-planning{padding-block:72px;background:#f5f2ed}
.catering-planning-layout{display:grid;grid-template-columns:1fr 1.3fr;gap:72px}
.catering-planning dl{margin:0}.catering-planning dl>div+div{margin-top:24px}.catering-planning dt{color:#1a3374;font-size:17px;font-weight:600;margin-bottom:6px}.catering-planning dd{margin:0}
.catering-dialog{width:min(680px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:32px 40px 40px;border:0;border-radius:16px;overflow-y:auto}
.catering-dialog::backdrop{background:rgba(15,23,42,.6)}
.catering-close{display:flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;margin:-16px -24px 0 auto;font-size:28px;color:#1a3374;position:relative;z-index:2}
.catering-form-logo{width:64px;height:64px;object-fit:contain;margin:0 0 20px}
.catering-dialog [hidden]{display:none!important}.catering-dialog form{padding:24px 0 0}.catering-dialog form>.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.catering-dialog label>span{font-weight:500;color:#374151}
.catering-dialog :is(input,select,textarea){font:400 16px/1.5 -apple-system,BlinkMacSystemFont,'Inter UI','Segoe UI',sans-serif;min-height:48px;padding:10px 12px;border:1px solid #cbd1dc;border-radius:8px;color:#202631;width:100%;background:#fff}
.catering-dialog textarea{resize:vertical}.catering-dialog #cateringSubmit{border-radius:24px;min-height:48px;background:#1A3374;font-weight:500;padding:12px 24px}.catering-dialog #cateringSubmit:disabled{opacity:.65;cursor:wait}
#cateringError{color:#a12b2b}.catering-dialog.is-success{background:#f5f2ed}
#cateringSuccessWrap{position:relative;text-align:center;padding:16px 0 24px;isolation:isolate}
.catering-success-content{position:relative;z-index:1}.catering-success-logo{width:110px;height:110px;object-fit:contain;margin:0 auto 24px}.catering-success-label{font-size:13px;letter-spacing:.06em;text-transform:none;color:#3d5994;margin:0 0 12px}
#cateringSuccessWrap h2{font-size:clamp(30px,4vw,40px)}
#cateringSuccessWrap p:not(.catering-success-label){max-width:440px;margin:16px auto 24px}#cateringSuccessWrap .catering-success-note{font-size:13px}
.catering-confetti{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2}
@media(max-width:900px){.catering-hero-layout{gap:32px}.catering-menu-row{gap:36px}.catering-planning-layout{gap:32px}.catering-menu-photo img{height:480px}}
@media(max-width:600px){.catering-hero{padding-top:32px}.catering-hero-layout{grid-template-columns:1fr;gap:24px;padding-bottom:32px}.catering-page h1{font-size:42px}.catering-hero-copy>p:first-child{font-size:16px}.catering-hero-photo{height:280px;margin-inline:-24px!important}.catering-hero-photo figcaption{bottom:16px;left:16px;font-size:12px}.catering-services{padding-block:56px 32px}.catering-section-heading{display:block;margin-bottom:32px}.catering-section-heading p{max-width:none}.catering-menu-row{grid-template-columns:1fr;gap:24px;margin-bottom:48px}.catering-menu-photo img,.catering-menu-row-reverse .catering-menu-photo img{height:300px}.catering-menu-row-reverse .catering-menu-photo{order:0}.catering-menu-photo img{object-position:center}.catering-page .catering-image-note{margin-top:-12px}.catering-combine{padding-block:40px}.catering-combine>.catering-wrap{flex-direction:column;align-items:flex-start;gap:24px}.catering-planning{padding-block:48px}.catering-planning-layout{grid-template-columns:1fr;gap:24px}.catering-dialog{padding:24px}.catering-close{margin:-12px -12px 0 auto}.catering-dialog form>.grid{grid-template-columns:1fr}.catering-form-logo{margin-bottom:16px}}
@media(prefers-reduced-motion:reduce){.catering-page *,.catering-dialog *{transition:none!important;animation:none!important}}

.catering-hero{background:#fff}.catering-hero-photo{height:440px}.catering-hero-photo figcaption{background:#fff}.catering-explore{display:flex;margin-top:12px}.catering-how{padding-block:72px}.catering-how ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;list-style:none;margin:0 0 32px;padding:0}.catering-how li{border-top:1px solid #d8dee8;padding-top:20px}.catering-how li>span{display:block;color:#6b7790;font-size:14px;margin-bottom:16px}.catering-how h3{font-size:23px}.catering-close{color:#6b7280}.catering-dialog #cateringSubmit:hover{background:#2B3D81}
@media(max-width:600px){.catering-hero-photo{height:280px}.catering-how{padding-block:48px}.catering-how ol{grid-template-columns:1fr;gap:24px}.catering-page h1{font-size:clamp(34px,9vw,42px)}}

/* Catering follows the public IMECAF hero: photograph, soft white transition, navy hierarchy. */
.catering-hero{position:relative;isolation:isolate;min-height:620px;padding:0;overflow:hidden;background:#f8f7f4;display:flex;align-items:center}
.catering-hero-image{position:absolute;inset:0;z-index:-3}.catering-hero-image img{height:100%;width:100%;object-fit:cover;object-position:70% center}
.catering-hero-wash{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.96) 25%,rgba(255,255,255,.8) 40%,rgba(255,255,255,.28) 58%,transparent 78%)}
.catering-hero-soften{position:absolute;inset:0;z-index:-1;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);mask-image:linear-gradient(90deg,#000 0%,#000 20%,transparent 60%);-webkit-mask-image:linear-gradient(90deg,#000 0%,#000 20%,transparent 60%)}
.catering-hero-content{padding:64px clamp(24px,5vw,76px);width:100%;max-width:670px}.catering-hero .catering-eyebrow{margin-bottom:18px;color:#4A6FA5;font-weight:500;letter-spacing:.04em}.catering-hero h1{font-size:clamp(42px,4.3vw,62px);letter-spacing:-.035em;line-height:1.04;color:#1B3A6B;margin:0 0 22px}.catering-hero h1 span{font-weight:400;color:#4A6FA5}.catering-hero-description{max-width:390px;font-size:18px;line-height:1.6;color:#566b88}.catering-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.catering-button-secondary{background:rgba(255,255,255,.8);color:#1A3374;border:1px solid rgba(26,51,116,.22)}.catering-button-secondary:hover{background:#fff;color:#1A3374}.catering-page .catering-hero-next{font-size:13px;line-height:1.6;margin-top:18px;color:#5b6d86}.catering-hero .catering-provider{margin-top:24px;color:#60718b}
.catering-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;padding-block:28px;border-bottom:1px solid #e5e8ee}.catering-benefits p{margin:0}.catering-benefits strong{display:block;font-weight:500;color:#1A3374;font-size:15px}.catering-benefits span{display:block;font-size:13px;color:#697386;margin-top:5px}
@media(max-width:900px){.catering-hero-content{max-width:580px}.catering-hero-wash{background:linear-gradient(90deg,rgba(255,255,255,.98),rgba(255,255,255,.86) 44%,rgba(255,255,255,.12) 100%)}.catering-benefits{gap:20px}}
@media(max-width:600px){.catering-hero{display:flex;flex-direction:column;align-items:stretch;min-height:0;background:#fff}.catering-hero-image{position:relative;inset:auto;order:2;height:240px;z-index:auto}.catering-hero-image img{object-position:60% center}.catering-hero-wash,.catering-hero-soften{display:none}.catering-hero-content{padding:36px 24px 30px;max-width:none}.catering-hero h1{font-size:clamp(34px,9vw,48px);margin-bottom:20px}.catering-hero-description{font-size:16px}.catering-hero-actions{flex-direction:column;align-items:stretch;gap:10px;margin-top:24px}.catering-hero-next br{display:none}.catering-benefits{grid-template-columns:1fr;gap:18px;padding-block:24px}.catering-benefits p{display:flex;flex-direction:column}.catering-services{padding-top:48px}}

/* Explicit margins restore native dialog centering after the global reset. */
.catering-dialog{position:fixed;inset:0;margin:auto;max-height:calc(100dvh - 32px);max-width:calc(100vw - 32px)}
.catering-form-logo,.catering-success-logo{object-fit:contain;height:auto;aspect-ratio:2889/3288}
