/* Drae's Kitchen: a restrained editorial foundation, not a stock template. */
:root { --dk-ink:#11120f; --dk-ivory:#f5f1e9; --dk-emerald:#174f43; --dk-gold:#ffcc02; --dk-line:#d5d1c8; }
*,*::before,*::after { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; -webkit-font-smoothing:antialiased; }
a { text-underline-offset:0.2em; }
a:focus-visible, button:focus-visible { outline:3px solid var(--dk-gold); outline-offset:4px; }
.dk-header { border-bottom:1px solid var(--dk-line); padding:1.2rem clamp(1.2rem,4vw,4rem); }
.dk-header .wp-block-site-title { font-family:Georgia,serif; font-size:1.35rem; letter-spacing:-.035em; }
.dk-header .wp-block-navigation { font-size:.76rem; text-transform:uppercase; letter-spacing:.085em; }
.dk-header .wp-block-navigation a:hover { color:var(--dk-emerald); }
.dk-shell { padding-inline:clamp(1.2rem,4vw,4rem); }
.dk-hero { min-height:75vh; display:flex; align-items:center; padding-block:clamp(4rem,10vw,9rem); }
.dk-eyebrow { font-size:.75rem; text-transform:uppercase; letter-spacing:.19em; font-weight:700; }
.dk-hero h1 { font-family:Georgia,serif; font-size:clamp(4.2rem,11vw,10rem); font-weight:400; letter-spacing:-.075em; line-height:.91; max-width:11ch; margin:.3em 0; }
.dk-hero .dk-intro { max-width:33rem; font-size:clamp(1.05rem,1.7vw,1.3rem); line-height:1.65; }
.dk-photo-slot { background:#e4dfd4; min-height:420px; display:flex; align-items:end; padding:1.3rem; color:#575b50; font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; }
.dk-rule { border-top:1px solid var(--dk-line); padding-top:1rem; }
.dk-section { padding-block:clamp(3rem,8vw,7rem); }
.dk-section h2 { font-family:Georgia,serif; font-size:clamp(2.8rem,5vw,5.5rem); font-weight:400; letter-spacing:-.05em; line-height:1.03; }
.dk-button .wp-block-button__link { background:var(--dk-emerald); color:#fff; border-radius:0; padding:1rem 1.55rem; font-size:.75rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.dk-button .wp-block-button__link:hover { background:var(--dk-ink); }
.dk-footer { background:var(--dk-ink); color:var(--dk-ivory); padding:3rem clamp(1.2rem,4vw,4rem); }
.dk-footer a { color:var(--dk-ivory); }
.dk-page-heading { padding-block:clamp(4rem,8vw,7rem) 2rem; }
.dk-page-heading h1 { font-size:clamp(3.3rem,7vw,7rem); letter-spacing:-.06em; }
.dk-contact-links { display:flex; flex-wrap:wrap; gap:.8rem 1.5rem; list-style:none; padding:0; }
.dk-contact-links a { font-weight:600; }
.dk-notice { border-left:3px solid var(--dk-emerald); padding:1rem 1.4rem; background:#e9e7df; }
@media (max-width:780px) { .dk-header { padding-block:1rem; } .dk-hero { min-height:unset; } .dk-hero h1 { font-size:clamp(3.8rem,16vw,6rem); } .dk-photo-slot { min-height:300px; } .dk-section { padding-block:3rem; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

/* Homepage: a food-led opening, an editorial chef introduction, and service rows. */
.dk-header { gap:1.5rem; }
.dk-header .wp-block-site-title { flex-shrink:0; }
.dk-header .wp-block-navigation { margin-left:auto; }
.dk-header .wp-block-navigation__container { gap:1.4rem; }
.dk-home { margin-block-start:0; }
.dk-home-hero { background:#000; color:var(--dk-ivory); display:grid; grid-template-columns:1.1fr 1fr; gap:clamp(2rem,5vw,6rem); padding-block:clamp(3rem,6vw,6rem); }
.dk-home-hero > * { min-width:0; margin:0; }
.dk-home-hero .dk-eyebrow { color:var(--dk-gold); }
.dk-home-hero h1 { font-size:clamp(3.5rem,6.7vw,7.5rem); font-weight:400; letter-spacing:-.06em; line-height:1.02; margin-block:2rem; }
.dk-home-hero .dk-intro { max-width:31rem; color:#d5d1c8; font-size:1.05rem; line-height:1.7; }
.dk-home-hero .wp-block-buttons { margin-block-start:2rem; }
.dk-home-hero .dk-button .wp-block-button__link { background:var(--dk-gold); color:#000; }
.dk-home-hero .dk-button .wp-block-button__link:hover { background:var(--dk-ivory); }
.dk-home-hero a { color:inherit; }
.dk-home-hero .dk-text-link { font-size:.9rem; margin-top:1.5rem; }
.dk-hero-photo { align-self:stretch; min-height:420px; background:#19211d; border:1px solid #3c443d; display:flex; flex-direction:column; justify-content:end; align-items:start; padding:2rem; }
.dk-hero-photo .dk-photo-name { font-family:Georgia,serif; font-size:clamp(2rem,3vw,3rem); letter-spacing:-.04em; text-transform:none; color:#e5e2d7; margin:0; }
.dk-hero-photo .dk-photo-caption { color:#b9bdb5; font-size:.65rem; letter-spacing:.12em; line-height:1.7; margin-top:.75rem; }
.dk-home-chef { display:grid; grid-template-columns:1fr 2fr; gap:clamp(2rem,6vw,7rem); }
.dk-home-chef > *, .dk-home-services > *, .dk-home-inquiry > * { margin:0; min-width:0; }
.dk-home h2 { font-size:clamp(2.4rem,4.5vw,4.7rem); margin-block:0 1.5rem; letter-spacing:-.045em; }
.dk-home-chef .dk-eyebrow { border-top:2px solid var(--dk-emerald); padding-top:1rem; }
.dk-chef-copy { max-width:44rem; }
.dk-chef-copy > p { max-width:37rem; }
.dk-text-link a { font-weight:600; }
.dk-home-services { border-top:1px solid var(--dk-line); display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,6vw,7rem); }
.dk-service-row { display:grid; grid-template-columns:1fr 1.3fr; gap:1.5rem; border-top:1px solid var(--dk-line); padding-block:1.5rem; }
.dk-service-row h3 { font-family:Georgia,serif; font-size:1.65rem; letter-spacing:-.025em; margin:0; }
.dk-service-row p { margin:0; font-size:.95rem; }
.dk-services-list > p { font-size:.95rem; }
.dk-home-inquiry { background:var(--dk-emerald); color:var(--dk-ivory); display:grid; grid-template-columns:1.6fr 1fr; gap:clamp(2rem,6vw,7rem); align-items:center; }
.dk-home-inquiry .dk-eyebrow { color:var(--dk-gold); }
.dk-inquiry-copy > p { max-width:36rem; }
.dk-home-inquiry .dk-button .wp-block-button__link { background:var(--dk-ivory); color:var(--dk-emerald); }
.dk-home-inquiry .dk-button .wp-block-button__link:hover { background:var(--dk-gold); color:#000; }
.dk-small { font-size:.85rem; max-width:24rem; }
/* Open WordPress's native navigation overlay before the full menu can wrap. */
@media (min-width:600px) and (max-width:1100px) {
 .dk-header .wp-block-navigation__responsive-container:not(.is-menu-open) { display:none !important; }
 .dk-header .wp-block-navigation__responsive-container-open:not(.always-shown) { display:flex; }
}
@media (max-width:1100px) {
 .dk-header { flex-wrap:nowrap; }
 .dk-header .wp-block-navigation__responsive-container.is-menu-open { background:var(--dk-ivory); color:var(--dk-ink); padding:2rem; }
 .dk-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { align-items:flex-start; gap:1.6rem; font-size:1rem; }
}
@media (max-width:780px) {
 .dk-home-hero { grid-template-columns:1fr; }
 .dk-home-hero h1 { font-size:clamp(3.2rem,11vw,5rem); }
 .dk-hero-photo { min-height:280px; }
 .dk-home-chef, .dk-home-services, .dk-home-inquiry { grid-template-columns:1fr; gap:2rem; }
 .dk-section-label { max-width:18rem; }
}
@media (max-width:420px) {
 .dk-service-row { grid-template-columns:1fr; gap:.7rem; }
 .dk-home-hero h1 { font-size:clamp(2.8rem,12vw,3.5rem); }
}

/* Keep the inquiry action distinct in both the header and its mobile overlay. */
.dk-header .dk-nav-cta > .wp-block-navigation-item__content { background:var(--dk-gold); color:#000; padding:.75rem 1rem; min-height:44px; display:inline-flex; align-items:center; text-decoration:none; }
.dk-header .dk-nav-cta > .wp-block-navigation-item__content:hover { background:var(--dk-emerald); color:#fff; }
.dk-header .dk-nav-cta > .wp-block-navigation-item__content:focus-visible { outline-color:var(--dk-emerald); }

.dk-hero-media { display:flex; flex-direction:column; justify-content:center; align-self:center; width:100%; }
.dk-hero-media img { width:100%; height:clamp(360px,36vw,540px); object-fit:cover; object-position:center 45%; display:block; }
.dk-hero-media figcaption { color:#c6c7bd; font-size:.7rem; letter-spacing:.06em; margin:1rem 0 0; }
.dk-hero-media figcaption a { color:inherit; }
@media(max-width:780px) { .dk-hero-media img { height:auto; max-height:540px; aspect-ratio:4/5; object-fit:cover; } }

/* Existing chef-hat crest: original artwork, framed without redrawing it. */
.dk-brand-mark { display:block; width:76px; height:64px; overflow:hidden; flex-shrink:0; }
.dk-brand-mark img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; mix-blend-mode:multiply; }
.dk-header { gap:.8rem; padding-block:.6rem; }
.dk-header .wp-block-site-title { margin:0; }
.dk-header .wp-block-navigation { margin-left:auto; }
.dk-brand-panel { background:var(--dk-ivory); color:#000; padding:clamp(2rem,4vw,4rem); min-height:460px; align-self:stretch; display:flex; flex-direction:column; align-items:center; justify-content:center; border-top:3px solid var(--dk-gold); }
.dk-brand-panel .dk-brand-mark { width:min(100%,350px); height:260px; }
.dk-brand-panel .dk-brand-signature { font-family:Georgia,serif; font-size:clamp(2.4rem,4vw,4.2rem); line-height:1.1; letter-spacing:-.045em; text-align:center; margin:1rem 0 0; }
.dk-brand-panel .dk-brand-location { font-size:.7rem; text-transform:uppercase; letter-spacing:.2em; border-top:1px solid var(--dk-line); padding-top:1.2rem; margin-top:1.2rem; text-align:center; }
@media(max-width:780px) { .dk-brand-panel { min-height:380px; } .dk-brand-panel .dk-brand-mark { height:220px; width:300px; max-width:100%; } }
@media(max-width:420px) { .dk-header .dk-brand-mark { width:54px; height:50px; } .dk-header .wp-block-site-title { font-size:1.2rem; } .dk-brand-panel { min-height:340px; } .dk-brand-panel .dk-brand-mark { height:190px; } }
.dk-brand-mark img { filter:grayscale(1) contrast(1.15); }

/* Use the current hat-and-knife logo sparingly; retire the large crest panel. */
.dk-header { background:#000; color:var(--dk-ivory); border-bottom:1px solid #30332d; padding-block:.75rem; gap:1.25rem; }
.dk-header .dk-brand-mark { width:110px; height:78px; }
.dk-header .dk-brand-mark img { object-fit:contain; mix-blend-mode:normal; filter:none; }
.dk-header .wp-block-navigation a:hover { color:var(--dk-gold); }
.dk-header .dk-nav-cta > .wp-block-navigation-item__content:hover { color:#fff; }
.dk-home-hero { grid-template-columns:1fr; padding-block:clamp(3rem,6vw,6rem); }
.dk-home-hero .dk-hero-copy { max-width:65rem; }
.dk-home-hero .dk-intro { max-width:36rem; }
.dk-home-hero h1 { font-size:clamp(3.5rem,7.2vw,7.5rem); }
@media(max-width:1100px) { .dk-header .wp-block-navigation__responsive-container-open { color:var(--dk-ivory); } }
@media(max-width:780px) { .dk-home-hero h1 { font-size:clamp(3.2rem,11vw,5rem); } }
@media(max-width:420px) { .dk-header { gap:.75rem; } .dk-header .dk-brand-mark { width:76px; height:54px; } .dk-header .wp-block-site-title { font-size:1.1rem; } .dk-home-hero h1 { font-size:clamp(2.8rem,12vw,3.5rem); } }

/* Current crest in the shared header; the earlier mark belongs to the story. */
.dk-header { background:var(--dk-ivory); color:var(--dk-ink); border-bottom:1px solid var(--dk-line); }
.dk-header .dk-brand-mark { width:76px; height:64px; }
.dk-header .dk-brand-mark img { object-fit:cover; mix-blend-mode:multiply; filter:grayscale(1) contrast(1.15); }
.dk-header .wp-block-navigation a:hover { color:var(--dk-emerald); }
.dk-header .dk-nav-cta > .wp-block-navigation-item__content:hover { color:#fff; }
.dk-brand-timeline { border-left:1px solid var(--dk-line); margin-top:3rem; padding-left:clamp(1.4rem,4vw,3rem); }
.dk-brand-era { position:relative; padding-bottom:3rem; margin:0; max-width:42rem; }
.dk-brand-era + .dk-brand-era { border-top:1px solid var(--dk-line); padding-top:3rem; }
.dk-brand-era::before { content:""; position:absolute; width:9px; height:9px; border-radius:50%; background:var(--dk-emerald); left:calc(-1 * clamp(1.4rem,4vw,3rem) - 5px); top:.5rem; }
.dk-brand-era + .dk-brand-era::before { top:3.5rem; }
.dk-history-mark { width:min(100%,320px); }
.dk-history-mark .dk-brand-mark { width:100%; height:210px; }
.dk-history-mark-earlier { background:#000; padding:1rem; }
.dk-history-mark-earlier .dk-brand-mark { height:190px; }
.dk-history-mark-earlier .dk-brand-mark img { object-fit:contain; mix-blend-mode:normal; filter:none; }
.dk-brand-era h3 { font-size:1.7rem; letter-spacing:-.02em; }
@media(max-width:1100px) { .dk-header .wp-block-navigation__responsive-container-open { color:var(--dk-ink); } }
@media(max-width:420px) { .dk-header .dk-brand-mark { width:54px; height:50px; } }

/* Supplied photography restores the split opening and introduces the real team. */
.dk-home-hero { grid-template-columns:1.1fr 1fr; align-items:center; }
.dk-home-hero h1 { font-size:clamp(3.5rem,6.7vw,7.5rem); }
.dk-home-hero .dk-hero-media { margin:0; }
.dk-home-hero .dk-hero-media img { height:clamp(440px,43vw,640px); object-position:50% 55%; }
.dk-home-chef { grid-template-columns:1fr 1.4fr; align-items:center; }
.dk-home-chef .dk-section-label { max-width:none; }
.dk-chef-portrait { margin:1.5rem 0 0; }
.dk-chef-portrait img { display:block; width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; object-position:50% 38%; }
.dk-team-photo { margin-block:0 4rem; }
.dk-team-photo img { display:block; width:100%; height:auto; }
.dk-team-photo figcaption, .dk-gallery-photo figcaption { font-size:.8rem; color:#575b50; margin-top:.8rem; }
.dk-gallery-photo { margin-block:0 3rem; }
.dk-gallery-photo img { display:block; width:100%; height:auto; }
@media(max-width:780px) {
 .dk-home-hero, .dk-home-chef { grid-template-columns:1fr; }
 .dk-home-hero h1 { font-size:clamp(3.2rem,11vw,5rem); }
 .dk-home-hero .dk-hero-media img { height:auto; max-height:560px; aspect-ratio:4/5; }
 .dk-chef-portrait { max-width:28rem; }
}
@media(max-width:420px) { .dk-home-hero h1 { font-size:clamp(2.8rem,12vw,3.5rem); } }

.dk-about .dk-page-heading { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,5vw,5rem); align-items:center; }
.dk-about .dk-page-heading > * { min-width:0; margin:0; }
.dk-about .dk-page-heading h1 { font-size:clamp(3rem,5.5vw,6rem); }
.dk-about-working img { display:block; width:100%; height:auto; max-height:640px; aspect-ratio:4/5; object-fit:cover; object-position:50% 45%; }
.dk-about-working figcaption { font-size:.8rem; color:#575b50; margin-top:.75rem; }
.dk-about .dk-team-photo { max-width:38rem; margin-inline:auto; }
@media(max-width:780px) { .dk-about .dk-page-heading { grid-template-columns:1fr; } .dk-about-working { max-width:32rem; } }

.dk-home-services { align-items:center; }
.dk-carving-video { width:min(100%,300px); margin:2rem 0 0; }
.dk-carving-video video { display:block; width:100%; height:auto; aspect-ratio:9/16; background:#000; }
.dk-carving-video figcaption { font-size:.8rem; color:#575b50; margin-top:.75rem; }
.dk-carving-video video:focus-visible { outline:3px solid var(--dk-emerald); outline-offset:4px; }
@media(max-width:780px) { .dk-carving-video { width:min(100%,320px); } }

/* A quiet social-style snippet: one deliberate action, no autoplay. */
.dk-video-snippet { width:min(100%,350px); margin:2rem 0 0; }
.dk-video-stage { position:relative; overflow:hidden; border-radius:14px; background:#11120f; aspect-ratio:4/5; }
.dk-video-stage video { display:block; width:100%; height:100%; object-fit:cover; object-position:50% 52%; }
.dk-video-toggle { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; width:100%; height:100%; border:0; border-radius:inherit; background:transparent; color:#fff; padding:0; cursor:pointer; }
.dk-video-toggle svg { padding:10px; width:64px; height:64px; border-radius:50%; background:#11120f80; filter:drop-shadow(0 1px 3px #0005); }
.dk-video-toggle.is-playing svg { opacity:0; }
.dk-video-toggle:focus-visible { outline:3px solid var(--dk-gold); outline-offset:-5px; }
.dk-video-toggle[hidden], .dk-video-error[hidden] { display:none; }
.dk-video-snippet figcaption { display:flex; flex-direction:column; gap:.2rem; padding:1rem 0 0; line-height:1.5; }
.dk-video-snippet figcaption strong { font-size:.9rem; font-weight:600; }
.dk-video-snippet figcaption span { font-size:.78rem; color:#575b50; }
.dk-video-error { font-size:.8rem; }

/* Footer */
footer.wp-block-template-part { margin-block-start:0; }
.dk-footer { padding:clamp(2.5rem,5vw,4.5rem) clamp(1.2rem,4vw,4rem) 1.5rem; }
.dk-footer-main, .dk-footer-bottom { max-width:1320px; margin-inline:auto; display:flex; justify-content:space-between; gap:2rem; }
.dk-footer-main { align-items:flex-start; padding-bottom:3rem; }
.dk-footer-brand h2 { font-size:clamp(2rem,3.6vw,3rem); margin:0 0 1rem; line-height:1.1; }
.dk-footer-brand p { font-size:.9rem; line-height:1.7; color:#b9bcb4; margin:0; }
.dk-footer-connect { margin:0; }
.dk-footer-label { font:600 .65rem Arial,sans-serif; letter-spacing:.16em; color:#b9bcb4; margin:0 0 1rem; }
.dk-footer-email { font-size:clamp(1rem,2vw,1.35rem); margin:0 0 1.25rem; }
.dk-footer a { text-decoration:none; text-underline-offset:5px; }
.dk-footer a:hover { text-decoration:underline; }
.dk-footer .dk-contact-links { margin:0; gap:1.5rem; font-size:.8rem; }
.dk-footer .dk-contact-links a { font-weight:400; }
.dk-footer .dk-contact-links li:first-child { display:none; }
.dk-footer-bottom { border-top:1px solid #ffffff26; padding-top:1.5rem; align-items:center; font-size:.72rem; color:#b9bcb4; }
.dk-footer-bottom p { margin:0; }
.dk-footer-bottom p:last-child { display:flex; gap:1.5rem; }
.dk-footer-bottom a { color:#b9bcb4; }
@media(max-width:600px) { .dk-footer-main { flex-direction:column; gap:2.5rem; } .dk-footer-bottom { flex-direction:column; align-items:flex-start; gap:1rem; } }

/* Text links: underline grows on hover and keyboard focus. */
a:not(.wp-element-button):not(.wp-block-button__link):not(.dk-brand-mark):not(.custom-logo-link):not(.wp-block-site-title a):not(.wp-block-navigation-item__content):not(.skip-link) {
  text-decoration:none;
  background-image:linear-gradient(currentColor,currentColor);
  background-repeat:no-repeat;
  background-position:0 100%;
  background-size:0 1px;
  transition:background-size 180ms ease, opacity 120ms ease;
}
a:not(.wp-element-button):not(.wp-block-button__link):not(.dk-brand-mark):not(.custom-logo-link):not(.wp-block-site-title a):not(.wp-block-navigation-item__content):not(.skip-link):is(:hover,:focus-visible) { background-size:100% 1px; text-decoration:none; }
a:not(.wp-element-button):not(.wp-block-button__link):not(.dk-brand-mark):not(.custom-logo-link):not(.wp-block-site-title a):not(.wp-block-navigation-item__content):not(.skip-link):active { opacity:.65; }
@media(prefers-reduced-motion:reduce) { a { transition:none !important; } }
.dk-footer-main { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,5vw,5rem); }
@media(max-width:600px) { .dk-footer-main { grid-template-columns:1fr; gap:2rem; } }
/* One unified footer beneath the brand heading. */
.dk-footer-main { display:flex; flex-direction:column; align-items:flex-start; gap:1.5rem; padding-bottom:2.5rem; }
.dk-footer-connect .dk-footer-label { display:none; }
.dk-footer-email { font-size:.9rem; margin:0; }
.dk-footer-connect { display:flex; flex-wrap:wrap; align-items:center; gap:1.5rem; }
.dk-footer .dk-contact-links { font-size:.9rem; }

.dk-footer-main { padding-bottom:1.75rem; }
.dk-footer-page-links { display:flex; flex-wrap:wrap; gap:1.5rem; margin:0; font-size:.9rem; }
.dk-footer-bottom p:last-child { display:block; }

/* Homepage proportions and reading size. */
@media(min-width:781px) { .dk-home-hero { grid-template-columns:1fr 1fr; gap:clamp(2rem,4vw,4rem); } }
.dk-chef-copy > p:not(.dk-text-link), .dk-inquiry-copy > p:not(.dk-eyebrow) { font-size:1.0625rem; line-height:1.65; }
.dk-service-row p, .dk-services-list > p { font-size:1rem; line-height:1.65; }
.dk-home-inquiry .dk-small { font-size:.9375rem; line-height:1.6; }

/* Brand crest fills the open side of the footer. */
.dk-footer { position:relative; }
.dk-footer-main { padding-right:240px; }
.dk-footer-crest { position:absolute; right:clamp(1.2rem,4vw,4rem); top:3rem; width:210px; margin:0; }
.dk-footer-crest .dk-brand-mark { display:block; width:100%; height:auto; }
.dk-footer-crest img { display:block; width:100%; height:auto; mix-blend-mode:screen; filter:invert(1); opacity:.75; }
@media(max-width:600px) { .dk-footer-main { padding-right:0; } .dk-footer-crest { position:static; width:140px; margin:0 0 1.5rem; } }
.dk-footer-crest { mix-blend-mode:lighten; }
.dk-footer-crest img { mix-blend-mode:normal; }

/* A compact invitation with one reading direction. */
.dk-home-inquiry { display:flex; flex-direction:column; align-items:flex-start; gap:1.5rem; padding-block:clamp(2.5rem,5vw,4rem); }
.dk-home-inquiry .dk-inquiry-copy { max-width:46rem; }
.dk-home-inquiry .dk-inquiry-copy > p:not(.dk-eyebrow) { max-width:38rem; margin-bottom:0; }
.dk-home-inquiry .dk-button .wp-block-button__link { background:var(--dk-gold); color:#000; }
.dk-home-inquiry .dk-button .wp-block-button__link:hover { background:var(--dk-ivory); color:#000; }
.dk-home-inquiry { padding-block:1.75rem; gap:1rem; }
.dk-home-inquiry .dk-eyebrow { margin:0 0 .5rem; }
.dk-home-inquiry h2 { margin-bottom:.75rem; }
.dk-home-inquiry .dk-inquiry-copy > p:not(.dk-eyebrow) { margin-top:0; }
.dk-home-inquiry .wp-block-buttons { margin:0; }
/* Keep the invitation within the page; reserve the dark ending for the footer. */
.dk-home-inquiry { background:var(--dk-ivory); color:var(--dk-ink); border-top:1px solid var(--dk-line); }
.dk-home-inquiry .dk-eyebrow { color:var(--dk-emerald); }
.dk-home-inquiry .dk-eyebrow::before { content:""; display:block; width:3rem; height:3px; background:var(--dk-emerald); margin-bottom:.8rem; }
.dk-home-inquiry .dk-button .wp-block-button__link { background:var(--dk-emerald); color:var(--dk-ivory); }
.dk-home-inquiry .dk-button .wp-block-button__link:hover { background:var(--dk-ink); color:var(--dk-ivory); }
/* Consistent emerald primary catering actions. */
.dk-header .dk-nav-cta > .wp-block-navigation-item__content,
.dk-home-hero .dk-button .wp-block-button__link { background:var(--dk-emerald); color:var(--dk-ivory); }
.dk-header .dk-nav-cta > .wp-block-navigation-item__content:hover { background:var(--dk-ink); color:var(--dk-ivory); }
.dk-home-hero .dk-button .wp-block-button__link:hover { background:var(--dk-ivory); color:var(--dk-emerald); }
/* Subtle, consistent rounding for photography and video. */
.wp-block-image img,
.wp-block-video video,
.dk-video-stage,
.dk-video-stage video { border-radius:8px; }

/* Homepage portfolio */
.dk-home-work { border-top:1px solid var(--dk-line); }
.dk-portfolio-tabs { display:flex; gap:1.5rem; border-bottom:1px solid var(--dk-line); margin:0 0 2rem; }
.dk-portfolio-tabs button { border:0; border-bottom:2px solid transparent; background:none; color:#575b50; font:inherit; padding:.7rem 0; cursor:pointer; }
.dk-portfolio-tabs button[aria-selected="true"] { color:var(--dk-emerald); border-bottom-color:var(--dk-emerald); }
.dk-portfolio-item { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(2rem,6vw,6rem); align-items:center; margin:0; }
.dk-portfolio-media { width:100%; max-width:440px; }
.dk-portfolio .dk-video-snippet { width:100%; margin:0; }
.dk-portfolio-enlarge { display:block; position:relative; background:none !important; }
.dk-portfolio-enlarge > img { display:block; width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:8px; }
.dk-portfolio-enlarge > span { position:absolute; bottom:1rem; right:1rem; background:#11120fe6; color:#fff; border-radius:4px; padding:.5rem .75rem; font-size:.75rem; }
.dk-portfolio-count { font-size:.75rem; color:#575b50; font-variant-numeric:tabular-nums; }
.dk-portfolio-item h3 { font-family:Georgia,serif; font-size:clamp(2rem,3vw,3.2rem); font-weight:400; letter-spacing:-.03em; line-height:1.1; margin:1rem 0; }
.dk-portfolio-item figcaption p { color:#575b50; max-width:24rem; font-size:1rem; }
.dk-portfolio-arrows { display:flex; gap:.75rem; margin-top:2rem; }
.dk-portfolio-arrows button { border:1px solid var(--dk-line); background:transparent; width:44px; height:44px; font-size:1.3rem; cursor:pointer; border-radius:50%; }
.dk-portfolio-arrows button:hover { background:var(--dk-emerald); color:white; }
.dk-portfolio-thumbnails { display:flex; gap:.75rem; margin-top:1.25rem; }
.dk-portfolio-thumbnails button { width:64px; height:76px; border:2px solid transparent; padding:3px; background:none; cursor:pointer; border-radius:8px; }
.dk-portfolio-thumbnails button[aria-pressed="true"] { border-color:var(--dk-emerald); }
.dk-portfolio-thumbnails img { width:100%; height:100%; object-fit:cover; border-radius:4px; }
.dk-portfolio-links { display:flex; flex-wrap:wrap; gap:1rem 2rem; margin-top:2rem; font-size:.9rem; }
.dk-portfolio-dialog { border:0; padding:1rem; background:var(--dk-ivory); max-width:95vw; max-height:95vh; }
.dk-portfolio-dialog::backdrop { background:#000c; }
.dk-portfolio-dialog button { display:block; margin:0 0 .75rem auto; min-height:44px; background:transparent; border:0; font:inherit; cursor:pointer; }
.dk-portfolio-dialog img { display:block; max-width:85vw; max-height:75vh; object-fit:contain; }
.dk-portfolio [hidden] { display:none !important; }
@media(max-width:780px) { .dk-portfolio-item { grid-template-columns:1fr; gap:1.25rem; } .dk-portfolio-media { max-width:100%; } .dk-portfolio-item h3 { margin:.5rem 0; } .dk-portfolio-arrows { margin-top:1rem; } }

.dk-portfolio-enlarge > img { height:auto; max-height:550px; }

/* Give food photography the larger share of the portfolio. */
@media(min-width:781px) { #dk-panel-photos .dk-portfolio-item { grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); } }
#dk-panel-photos .dk-portfolio-media { max-width:560px; }
#dk-panel-photos .dk-portfolio-enlarge > img { aspect-ratio:1/1; object-position:50% 45%; }

.dk-link-indicator { display:inline-block; font-family:Arial,sans-serif; font-size:.85em; font-style:normal; font-weight:400; line-height:1; vertical-align:.04em; margin-left:.2em; }

.dk-portfolio-arrows { margin-top:1rem; }
.dk-portfolio-item figcaption p { margin-block:.75rem 0; line-height:1.65; }
.dk-portfolio-gallery-link { margin-top:1.75rem; font-size:.9rem; }
/* Show the complete food still within the frame, without cutting the dish. */
#dk-panel-photos .dk-portfolio-enlarge { width:100%; max-width:400px; }
#dk-panel-photos .dk-portfolio-enlarge > img { aspect-ratio:auto; height:auto; max-height:550px; object-fit:contain; object-position:center; }
#dk-panel-photos .dk-portfolio-enlarge > img { width:auto; max-width:100%; }

/* Match photo and video frames throughout the portfolio. */
#dk-panel-photos .dk-portfolio-item { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
#dk-panel-photos .dk-portfolio-media { max-width:440px; }
#dk-panel-photos .dk-portfolio-enlarge { max-width:none; }
#dk-panel-photos .dk-portfolio-enlarge > img { width:100%; max-width:100%; height:auto; max-height:none; aspect-ratio:4/5; object-fit:cover; object-position:50% 45%; }
@media(max-width:780px) { #dk-panel-photos .dk-portfolio-item { grid-template-columns:1fr; } #dk-panel-photos .dk-portfolio-media { max-width:100%; } }

.dk-hero-film { position:relative; overflow:hidden; border-radius:8px; }
.dk-hero-film video { display:block; width:100%; height:clamp(440px,43vw,640px); object-fit:cover; object-position:50% 40%; border-radius:8px; }
.dk-hero-film-toggle { position:absolute; bottom:1rem; right:1rem; min-height:44px; padding:.6rem 1rem; border:1px solid #ffffff70; background:#11120fe6; color:#fff; border-radius:24px; font:600 .75rem Arial,sans-serif; cursor:pointer; }
.dk-hero-film-toggle[hidden] { display:none; }
@media(max-width:780px) { .dk-hero-film video { height:auto; max-height:560px; aspect-ratio:4/5; } }

/* Quiet entrance and hover controls for the hero film. */
@keyframes dk-hero-arrive { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } }
.dk-home-hero > div:first-child { animation:dk-hero-arrive 650ms ease both; }
.dk-hero-film { animation:dk-hero-arrive 750ms 100ms ease both; }
.dk-hero-film-toggle { inset:0; width:100%; height:100%; display:flex; align-items:center; justify-content:center; padding:0; border:0; border-radius:8px; background:transparent; opacity:0; transition:opacity 180ms ease; }
.dk-hero-film-toggle svg { width:64px; height:64px; padding:10px; border-radius:50%; background:#11120f80; color:#fff; }
.dk-hero-film:hover .dk-hero-film-toggle, .dk-hero-film:focus-within .dk-hero-film-toggle, .dk-hero-film.is-paused .dk-hero-film-toggle { opacity:1; }
@media(hover:none) { .dk-hero-film-toggle { opacity:1; } }
@media(prefers-reduced-motion:reduce) { .dk-home-hero > div:first-child, .dk-hero-film { animation:none; } .dk-hero-film-toggle { transition:none; } }
/* Let the vertical film sit naturally within the hero composition. */
@media(min-width:781px) {
 .dk-home-hero { grid-template-columns:1.15fr 1fr; gap:clamp(2rem,4vw,4rem); padding-block:clamp(2rem,4vw,4rem); }
 .dk-hero-film { width:100%; max-width:440px; justify-self:end; animation:none; }
 .dk-hero-film video { height:clamp(460px,45vw,600px); object-fit:cover; object-position:50% 50%; }
}

/* Two restrained brand-gold accents. */
.dk-home-hero .dk-eyebrow::before { content:""; display:block; width:3rem; height:1px; background:var(--dk-gold); margin-bottom:1rem; }
.dk-home-work > h2::after { content:""; display:block; width:3rem; height:1px; background:var(--dk-gold); margin-top:1.25rem; }
/* A restrained gold glow on the brand crest. */
.dk-header .dk-brand-mark img { transition:filter 200ms ease; }
.dk-header .dk-brand-mark:is(:hover,:focus-visible) img { filter:drop-shadow(0 0 5px #ffcc0280); }
.dk-footer-crest img { transition:filter 200ms ease; }
.dk-footer-crest:hover img { filter:invert(1) drop-shadow(0 0 5px #ffcc0280); }
@media(prefers-reduced-motion:reduce) { .dk-header .dk-brand-mark img, .dk-footer-crest img { transition:none; } }

.dk-home-feedback { border-top:1px solid var(--dk-line); }
.dk-testimonial-videos { display:grid; grid-template-columns:1fr 1fr; gap:clamp(1.5rem,4vw,4rem); max-width:880px; }
.dk-testimonial-videos figure { margin:0; }
.dk-testimonial-videos video { width:100%; height:360px; object-fit:contain; background:#11120f; border-radius:8px; }
.dk-chef-press { border-top:1px solid var(--dk-line); }
.dk-chef-press blockquote { margin:1.5rem 0 2.5rem; max-width:46rem; border-left:2px solid var(--dk-gold); padding-left:1.5rem; }
.dk-chef-press cite { font-size:.85rem; font-style:normal; color:#575b50; }
.dk-chef-press img { max-width:720px; width:100%; height:auto; }
@media(max-width:600px) { .dk-testimonial-videos { grid-template-columns:1fr; } }

/* A single quiet chef-hat watermark. */
.dk-home-inquiry { position:relative; isolation:isolate; overflow:hidden; }
.dk-home-inquiry::after { content:""; position:absolute; z-index:-1; pointer-events:none; right:7%; top:50%; transform:translateY(-50%) rotate(-8deg); width:200px; height:200px; opacity:.055; background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200' fill='none' stroke='%23174f43' stroke-width='4' stroke-linejoin='round'%3E%3Cpath d='M57 124 49 87C20 86 17 44 44 35c12-4 23 0 30 8 5-30 47-35 59-6 23-14 51 2 48 26-1 17-14 28-32 28l-7 33Z'/%3E%3Cpath d='m57 124 2 38h80l3-38M59 147h81M77 120l-5-28m30 28V83m23 37 6-28'/%3E%3C/svg%3E"); }
@media(max-width:780px) { .dk-home-inquiry::after { display:none; } }
/* Use the engraved hat from the brand crest, cropped with CSS. */
.dk-home-inquiry::after { width:200px; height:115px; background-image:url("/wp-content/themes/draes-kitchen/assets/images/draes-kitchen-crest.jpg"); background-size:1113px 626px; background-position:-433px -87px; mix-blend-mode:multiply; opacity:.12; }
/* Crest-hat watermark trial in the black hero. */
.dk-home-hero { position:relative; isolation:isolate; overflow:hidden; }
.dk-home-hero::before { content:""; position:absolute; z-index:-1; pointer-events:none; left:28%; top:8%; width:200px; height:115px; background:url("/wp-content/themes/draes-kitchen/assets/images/draes-kitchen-crest.jpg") -433px -87px/1113px 626px no-repeat; filter:invert(1); mix-blend-mode:screen; opacity:.1; transform:rotate(-8deg); }
@media(max-width:780px) { .dk-home-hero::before { left:auto; right:1.5rem; top:2rem; width:140px; height:81px; background-size:779px 438px; background-position:-303px -61px; } }

/* Refine the hero balance and lift the crest hat clear of the headline. */
@media(min-width:781px) {
 .dk-home-hero { grid-template-columns:1.05fr 1fr; }
 .dk-hero-film { max-width:480px; }
 .dk-home-hero::before { left:35%; top:1.5%; width:240px; height:138px; background-size:1336px 751px; background-position:-520px -104px; opacity:.14; }
}
.dk-hero-film, .dk-hero-film video, .dk-hero-film-toggle { border-radius:0; }
/* Feather the hero film into its black background. */
.dk-hero-film video {
 -webkit-mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent),linear-gradient(to bottom,transparent,#000 4%,#000 96%,transparent);
 -webkit-mask-composite:source-in;
 mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent),linear-gradient(to bottom,transparent,#000 4%,#000 96%,transparent);
 mask-composite:intersect;
}
/* Asymmetric feather: stronger toward the text and along the lower edge. */
.dk-hero-film video {
 -webkit-mask-image:linear-gradient(to right,transparent,#000 10%,#000 98%,transparent),linear-gradient(to bottom,transparent,#000 4%,#000 90%,transparent);
 mask-image:linear-gradient(to right,transparent,#000 10%,#000 98%,transparent),linear-gradient(to bottom,transparent,#000 4%,#000 90%,transparent);
}
/* Slight, even feather on all sides. */
.dk-hero-film video {
 -webkit-mask-image:linear-gradient(to right,transparent,#000 2%,#000 98%,transparent),linear-gradient(to bottom,transparent,#000 2%,#000 98%,transparent);
 mask-image:linear-gradient(to right,transparent,#000 2%,#000 98%,transparent),linear-gradient(to bottom,transparent,#000 2%,#000 98%,transparent);
}
/* Preserve the complete portrait footage rather than cropping to fill. */
.dk-home-hero .dk-hero-film { width:min(100%,337.5px); max-width:none; justify-self:center; }
.dk-home-hero .dk-hero-film video { width:100%; height:auto; max-height:none; aspect-ratio:9/16; object-fit:contain; object-position:center; }
@media(max-width:780px) { .dk-home-hero .dk-hero-film { width:min(100%,315px); margin-inline:auto; } }
@media(min-width:781px) { .dk-home-hero .dk-hero-film { width:min(100%,380px); } }
/* Tonal Art Deco trial replaces the hero hat. */
.dk-home-hero::before { inset:0 auto 0 0; width:65%; height:100%; transform:none; background:url("/wp-content/themes/draes-kitchen/assets/images/hero-deco.svg") 0 0/160px 240px repeat; filter:none; mix-blend-mode:normal; opacity:.55; -webkit-mask-image:linear-gradient(to right,#000 0%,#000 35%,transparent 100%); mask-image:linear-gradient(to right,#000 0%,#000 35%,transparent 100%); }
@media(max-width:780px) { .dk-home-hero::before { width:100%; opacity:.4; } }
/* Spaced crest-hat pattern trial. */
.dk-home-hero::before { background-image:url("/wp-content/themes/draes-kitchen/assets/images/hero-hats.svg"); background-size:240px 220px; opacity:.17; }
.dk-home-hero::before { opacity:.07; }
/* Keep tonal architectural detail at the edge, clear of the headline. */
.dk-home-hero::before {
 inset:0 auto 0 0;
 width:14%;
 height:100%;
 background-image:url("/wp-content/themes/draes-kitchen/assets/images/hero-deco.svg");
 background-size:160px 240px;
 background-position:-80px 0;
 opacity:.35;
 -webkit-mask-image:linear-gradient(to right,#000,transparent 85%);
 mask-image:linear-gradient(to right,#000,transparent 85%);
}
@media(max-width:780px) { .dk-home-hero::before { width:12%; opacity:.2; } }
.dk-home-hero::before { width:23%; opacity:.8; background-position:-40px 0; -webkit-mask-image:linear-gradient(to right,#000 0%,#000 20%,transparent 100%); mask-image:linear-gradient(to right,#000 0%,#000 20%,transparent 100%); }
@media(max-width:780px) { .dk-home-hero::before { width:20%; opacity:.5; } }
/* Wider, more spacious architectural texture. */
.dk-home-hero::before { width:60%; background-size:192px 288px; background-position:0 0; opacity:.55; -webkit-mask-image:linear-gradient(to right,#000 0%,#000 20%,transparent 100%); mask-image:linear-gradient(to right,#000 0%,#000 20%,transparent 100%); }
@media(max-width:780px) { .dk-home-hero::before { width:85%; opacity:.4; } }

.dk-home-hero::before { background-image:url("/wp-content/themes/draes-kitchen/assets/images/hero-fans.svg"); background-size:240px 200px; opacity:.5; }
/* Tonal fleur-de-lis pattern trial. */
.dk-home-hero::before { background-image:url("/wp-content/themes/draes-kitchen/assets/images/hero-fleur-de-lis.svg"); background-size:240px 260px; opacity:.5; }
/* Brand-derived scrollwork with more breathing room between motifs. */
.dk-home-hero::before { background-size:300px 340px; opacity:.5; }

/* One large engraving, with open black space toward the film. */
.dk-home-hero::before { width:52%; background-image:url("/wp-content/themes/draes-kitchen/assets/images/hero-fleur-engraving.svg"); background-repeat:no-repeat; background-size:460px 600px; background-position:-125px center; opacity:.45; -webkit-mask-image:linear-gradient(to right,#000 0%,#000 30%,transparent 100%); mask-image:linear-gradient(to right,#000 0%,#000 30%,transparent 100%); }
@media(max-width:780px) { .dk-home-hero::before { width:70%; background-size:320px 420px; background-position:-130px 30px; opacity:.3; } }
/* Crop the engraving farther left and quiet it beneath the headline. */
.dk-home-hero::before {
 background-position:-185px center;
 -webkit-mask-image:linear-gradient(to right,#000 0%,#000 25%,transparent 100%),linear-gradient(to bottom,#000 0%,#000 47%,rgba(0,0,0,.25) 58%,transparent 73%);
 -webkit-mask-composite:source-in;
 mask-image:linear-gradient(to right,#000 0%,#000 25%,transparent 100%),linear-gradient(to bottom,#000 0%,#000 47%,rgba(0,0,0,.25) 58%,transparent 73%);
 mask-composite:intersect;
}
@media(max-width:780px) { .dk-home-hero::before { background-position:-170px 30px; } }

/* Editorial chef profile. */
.dk-chef-portrait { margin:0; overflow:hidden; border-radius:8px; }
.dk-chef-portrait img { transform:scale(1.16); transform-origin:50% 38%; }
.dk-home-chef .dk-eyebrow { border-top:0; padding-top:0; margin:0 0 1.25rem; }
.dk-home-chef .dk-eyebrow::before { content:""; display:block; width:3rem; height:1px; background:var(--dk-gold); margin-bottom:1rem; }
.dk-chef-copy h2 { max-width:15ch; }
.dk-chef-credentials { margin-top:1.75rem; padding-top:1.25rem; border-top:1px solid var(--dk-line); max-width:37rem; }
.dk-chef-credentials .dk-credential-label { text-transform:uppercase; letter-spacing:.14em; font-size:.65rem; font-weight:600; color:#575b50; margin:0 0 .5rem; }
.dk-chef-credentials > p:last-child { margin:0; font-size:.85rem; line-height:1.8; }
.dk-chef-copy > .dk-eyebrow { font-size:.75rem; line-height:1.5; }
.dk-chef-portrait img { transform:scale(1.3); transform-origin:50% 50%; }

.dk-chef-credentials .dk-credential-label { font-size:.75rem; margin-bottom:.65rem; }
.dk-chef-credentials > p:last-child { font-size:.9375rem; line-height:1.95; }

.dk-gallery-film { max-width:420px; margin:1.5rem auto 3rem; }
.dk-gallery-film video { width:100%; height:auto; border-radius:8px; }

/* Menus remain native editable WordPress content. */
.dk-menu-page .dk-page-heading > p:last-child { max-width:42rem; font-size:1.0625rem; line-height:1.65; }
.dk-menu-section { padding-block:1.5rem 4rem; }
.dk-menu-collection { max-width:1050px; }
.dk-menu-detail { border-top:1px solid var(--dk-line); }
.dk-menu-detail:last-child { border-bottom:1px solid var(--dk-line); }
.dk-menu-detail summary { display:flex; align-items:center; justify-content:space-between; gap:2rem; cursor:pointer; padding:1.7rem 0; list-style:none; }
.dk-menu-detail summary::-webkit-details-marker { display:none; }
.dk-menu-detail summary strong { display:block; font:400 clamp(1.7rem,3vw,2.5rem)/1.15 Georgia,serif; letter-spacing:-.025em; }
.dk-menu-description { display:block; font-size:.9rem; margin-top:.6rem; color:#575b50; }
.dk-menu-expand { color:var(--dk-emerald); font-size:1.6rem; font-weight:300; }
.dk-menu-detail[open] .dk-menu-expand { transform:rotate(45deg); }
.dk-menu-detail summary:focus-visible { outline:2px solid var(--dk-emerald); outline-offset:5px; }
.dk-menu-content { max-width:48rem; padding:0 0 2.5rem; font-size:1rem; line-height:1.75; }
.dk-menu-content h3 { font:400 1.5rem/1.2 Georgia,serif; margin:2rem 0 .75rem; }
.dk-menu-content h3:first-child { margin-top:.5rem; }
.dk-menu-content ul { padding-left:1.3rem; }
.dk-menu-content li { margin-bottom:.5rem; }
.dk-menu-inquiry { margin-top:3rem; max-width:42rem; }
.dk-menu-inquiry h2 { font:400 clamp(2rem,4vw,3rem)/1.1 Georgia,serif; letter-spacing:-.03em; }

.dk-package-compare { max-width:1100px; margin-bottom:4rem; }
.dk-compare-heading h2, .dk-full-menu-heading { font:400 clamp(2rem,4vw,3rem)/1.1 Georgia,serif; letter-spacing:-.035em; }
.dk-compare-heading h2 { margin:0 0 1rem; }
.dk-compare-heading p { margin:0 0 1.5rem; color:#575b50; }
.dk-compare-types { display:flex; gap:.5rem; margin-bottom:1.75rem; }
.dk-compare-types button { padding:.7rem 1.2rem; border:1px solid var(--dk-emerald); background:transparent; color:var(--dk-emerald); font:600 .85rem Arial,sans-serif; min-height:44px; cursor:pointer; }
.dk-compare-types button[aria-pressed="true"] { background:var(--dk-emerald); color:var(--dk-ivory); }
.dk-compare-choices { display:flex; flex-wrap:wrap; gap:.75rem; border:0; padding:0; margin:0 0 1rem; }
.dk-compare-choices legend { font-size:.8rem; margin-bottom:.7rem; color:#575b50; }
.dk-compare-choices label { display:flex; align-items:center; gap:.6rem; border:1px solid var(--dk-line); border-radius:6px; padding:.7rem 1rem; min-height:44px; cursor:pointer; font-size:.9rem; }
.dk-compare-choices label:has(input:checked) { border-color:var(--dk-emerald); background:#174f430b; }
.dk-compare-choices input { accent-color:var(--dk-emerald); width:16px; height:16px; }
.dk-compare-status, .dk-compare-note { color:#575b50; font-size:.8rem; line-height:1.6; }
.dk-compare-scroll { overflow-x:auto; margin-top:1.25rem; border:1px solid var(--dk-line); border-radius:8px; }
.dk-compare-scroll table { border-collapse:collapse; width:100%; min-width:580px; font-size:.9rem; text-align:left; }
.dk-compare-scroll th, .dk-compare-scroll td { vertical-align:top; padding:1.1rem 1.25rem; border-bottom:1px solid var(--dk-line); border-right:1px solid var(--dk-line); line-height:1.65; }
.dk-compare-scroll thead th { background:var(--dk-emerald); color:var(--dk-ivory); font-weight:600; }
.dk-compare-scroll tbody th { width:160px; background:#174f4306; font-size:.8rem; font-weight:600; }
.dk-compare-scroll tbody tr:last-child > * { border-bottom:0; }
.dk-compare-scroll tr > :last-child { border-right:0; }
.dk-package-compare [hidden] { display:none !important; }
.dk-full-menu-heading { margin:0 0 1.5rem; }

.dk-compare-option-row { display:flex; flex-wrap:wrap; gap:.75rem; }
.dk-event-section { margin-top:4rem; }
.dk-menu-content .dk-package-compare { margin-block:1.5rem 2.5rem; max-width:none; }
.dk-menu-content:has(.dk-package-compare) { max-width:1050px; }
.dk-compare-heading h3 { font:400 clamp(1.6rem,3vw,2rem)/1.15 Georgia,serif; letter-spacing:-.025em; }

/* Editorial Services & Menus refinement. */
.dk-menu-page .dk-page-heading { display:grid; grid-template-columns:1.05fr 1fr; align-items:center; gap:clamp(2rem,5vw,5rem); padding-block:clamp(2.5rem,6vw,5rem); }
.dk-menu-intro-copy, .dk-menu-intro-photo { margin:0; min-width:0; }
.dk-menu-page .dk-page-heading h1 { font-size:clamp(3.3rem,6vw,6rem); line-height:1.03; margin:1.25rem 0; max-width:12ch; }
.dk-menu-intro-copy > p:last-child { max-width:30rem; font-size:1.0625rem; line-height:1.65; }
.dk-menu-intro-photo img { display:block; width:100%; height:440px; object-fit:cover; object-position:50% 58%; border-radius:8px; }
.dk-menu-intro-copy .dk-eyebrow::before { content:""; display:block; width:3rem; height:1px; background:var(--dk-gold); margin-bottom:1rem; }
.dk-menu-section { padding-block:2rem 4rem; }
.dk-menu-detail summary { padding-block:2rem; }
.dk-menu-detail summary strong { font-size:clamp(1.9rem,3.2vw,2.75rem); }
.dk-menu-description { margin-top:.75rem; max-width:40rem; line-height:1.6; }
.dk-event-section { margin-top:0; background:#e9eee7; padding-block:clamp(2.5rem,5vw,4rem); }
.dk-event-intro { max-width:40rem; margin:0 0 2rem; font-size:1.0625rem; line-height:1.65; }
.dk-event-collection { max-width:1050px; }
.dk-menu-inquiry { max-width:none; margin:0; padding-block:2.5rem; background:#e9dfc9; color:var(--dk-ink); }
.dk-menu-inquiry h2 { margin:0 0 1rem; }
.dk-menu-inquiry > p { max-width:38rem; margin:0 0 1.5rem; }
.dk-menu-inquiry .dk-button .wp-block-button__link { background:var(--dk-emerald); color:#fff; }
.dk-menu-inquiry .dk-button .wp-block-button__link:hover { background:#216554; color:#fff; }
@media(max-width:780px) { .dk-menu-page .dk-page-heading { grid-template-columns:1fr; } .dk-menu-intro-photo img { height:340px; } }

/* Signature menu, styled like understated ivory stationery. */
#menu-platinum-package > .dk-menu-content { max-width:100%; padding-bottom:2.5rem; }
.dk-menu-paper { position:relative; isolation:isolate; overflow:hidden; background:#fbf8f0 url("/wp-content/themes/draes-kitchen/assets/images/menu-paper.svg") repeat; padding:clamp(1.5rem,5vw,4rem); margin-top:.5rem; }
.dk-menu-paper::after { content:""; position:absolute; z-index:-1; pointer-events:none; right:1rem; bottom:1rem; width:200px; height:120px; background:url("/wp-content/themes/draes-kitchen/assets/images/draes-kitchen-crest.jpg") center/contain no-repeat; mix-blend-mode:multiply; opacity:.07; }
.dk-menu-paper-heading { margin-bottom:2.25rem; }
.dk-menu-paper-heading .dk-signature-label { font-size:.7rem; line-height:1.5; letter-spacing:.16em; text-transform:uppercase; font-weight:600; color:#806315; margin:0 0 .9rem; }
.dk-menu-paper-heading h3 { font:400 clamp(2rem,4vw,3.2rem)/1.1 Georgia,serif; letter-spacing:-.035em; margin:0; }
.dk-menu-paper-rule { display:block; width:3rem; height:1px; background:var(--dk-gold); margin-top:1.25rem; }
.dk-menu-paper-dishes { max-width:38rem; }
.dk-menu-paper-dishes h3 { font-size:1.45rem; margin-top:2rem; }
.dk-menu-paper-dishes ul { list-style:none; padding:0; margin:.75rem 0 1.75rem; }
.dk-menu-paper-dishes li { margin-bottom:.85rem; line-height:1.75; }

/* Every food menu opens as a centered printed menu. */
.dk-menu-collection .dk-menu-content { max-width:100%; }
.dk-menu-paper { max-width:900px; margin-inline:auto; text-align:center; }
.dk-menu-paper-heading, .dk-menu-paper-dishes { margin-inline:auto; }
.dk-menu-paper-rule { margin-inline:auto; }
.dk-menu-paper-dishes { max-width:36rem; }
.dk-menu-paper-dishes p { margin-inline:auto; }
.dk-menu-paper-dishes h3 { margin-top:2.5rem; }
.dk-menu-paper-dishes ul { margin-bottom:2rem; }

.dk-event-feature-photo { margin:0 0 2.5rem; max-width:1050px; }
.dk-event-feature-photo img { display:block; width:100%; height:clamp(280px,37vw,460px); object-fit:cover; object-position:50% 72%; border-radius:8px; }
.dk-gallery-photo .wp-image-61 { aspect-ratio:4/3; object-fit:cover; object-position:50% 65%; }
.dk-event-feature-photo { max-width:900px; }
.dk-event-feature-photo img { height:auto; aspect-ratio:4/3; object-fit:contain; object-position:center; }

/* A more deliberate typographic hierarchy for the opening. */
.dk-home-hero h1 { letter-spacing:-.045em; line-height:1; margin-block:1.75rem; }
.dk-hero-headline-main { display:block; font-size:1.22em; }
.dk-hero-headline-byline { display:block; font-size:.6em; letter-spacing:-.025em; line-height:1.2; margin-top:.25em; }
.dk-home-hero .dk-intro { max-width:29rem; }
.dk-home-hero::before { opacity:.28; }
@media(max-width:780px) { .dk-hero-headline-main { font-size:1.15em; } .dk-hero-headline-byline { font-size:.65em; } }

/* Shorter hero copy, with a stronger but uncropped portrait film. */
@media(min-width:781px) {
 .dk-home-hero { grid-template-columns:1fr 1fr; gap:clamp(2rem,3vw,3rem); }
 .dk-home-hero .dk-hero-film { width:min(100%,420px); }
}
.dk-home-hero h1 { font-size:clamp(3.8rem,7.2vw,7rem); max-width:9ch; line-height:1.02; letter-spacing:-.045em; }
.dk-home-hero .dk-intro { max-width:26rem; }
@media(max-width:780px) { .dk-home-hero h1 { font-size:clamp(3.5rem,13vw,5rem); } }

/* Portfolio, with a more prominent viewer and browsable previews. */
.dk-portfolio-item { grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:clamp(2rem,5vw,5rem); }
.dk-portfolio-media, #dk-panel-photos .dk-portfolio-media { max-width:480px; }
#dk-panel-photos .dk-portfolio-item { grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); }
.dk-portfolio-item figcaption { max-width:30rem; }
.dk-portfolio-item h3 { font-size:clamp(2rem,3.6vw,3.4rem); }
.dk-portfolio-item figcaption p { font-size:1.0625rem; line-height:1.65; }
.dk-portfolio-inquire { display:inline-block; margin-top:1.75rem; font-size:.85rem; font-weight:600; color:var(--dk-emerald); }
.dk-portfolio-thumbnails { display:flex; gap:1rem; margin-top:2rem; padding-block:.25rem .75rem; overflow-x:auto; }
.dk-portfolio-thumbnails button { display:flex; flex-direction:column; flex:0 0 150px; width:150px; height:auto; min-height:44px; padding:5px; text-align:left; border:1px solid transparent; border-radius:8px; transition:border-color 180ms ease,background-color 180ms ease; }
.dk-portfolio-thumbnails button img { display:block; width:100%; height:100px; object-fit:cover; border-radius:4px; }
.dk-portfolio-thumb-label { display:block; padding:.65rem .2rem .3rem; font:500 .78rem/1.4 Arial,sans-serif; color:var(--dk-ink); }
.dk-portfolio-thumbnails button[aria-pressed="true"] { border-color:var(--dk-emerald); background:#174f4308; }
.dk-portfolio-thumbnails button:hover { border-color:var(--dk-emerald); }
@keyframes dk-portfolio-reveal { from { opacity:.3; transform:translateY(5px); } to { opacity:1; transform:translateY(0); } }
.dk-portfolio-item:not([hidden]) { animation:dk-portfolio-reveal 220ms ease; }
@media(max-width:780px) {
 .dk-portfolio-item, #dk-panel-photos .dk-portfolio-item { grid-template-columns:1fr; }
 .dk-portfolio-media, #dk-panel-photos .dk-portfolio-media { max-width:100%; }
 .dk-portfolio-thumbnails button { flex-basis:125px; width:125px; }
 .dk-portfolio-thumbnails button img { height:85px; }
}
@media(prefers-reduced-motion:reduce) { .dk-portfolio-item:not([hidden]) { animation:none; } .dk-portfolio-thumbnails button { transition:none; } }
/* Give the hero film greater visual presence without cropping. */
@media(min-width:781px) {
 .dk-home-hero { grid-template-columns:.9fr 1.1fr; gap:clamp(1.5rem,2.5vw,2.5rem); padding-block:2rem; }
 .dk-home-hero .dk-hero-film { width:min(100%,480px); }
}
@media(min-width:781px) { .dk-home-hero .dk-hero-film video { height:600px; aspect-ratio:auto; object-fit:cover; object-position:50% 45%; } }
/* Softly irregular film edge, with an opaque center. */
.dk-home-hero .dk-hero-film video {
 -webkit-mask-image:url("/wp-content/themes/draes-kitchen/assets/images/hero-film-mask.svg");
 -webkit-mask-size:100% 100%;
 -webkit-mask-repeat:no-repeat;
 mask-image:url("/wp-content/themes/draes-kitchen/assets/images/hero-film-mask.svg");
 mask-size:100% 100%;
 mask-repeat:no-repeat;
}
/* A fine gold frame replaces the abstract video mask. */
.dk-home-hero .dk-hero-film { border:1px solid var(--dk-gold); }
.dk-home-hero .dk-hero-film video { -webkit-mask-image:none; mask-image:none; }
/* A quiet emerald-to-black transition behind the hero film. */
.dk-home-hero { background:linear-gradient(to right,#000 0%,#000 43%,#071b16 72%,#10382f 100%); }
.dk-home-hero .dk-hero-film { border:0; }
/* Slight video feather over the emerald hero background. */
.dk-home-hero .dk-hero-film video {
 -webkit-mask-image:linear-gradient(to right,transparent,#000 2%,#000 98%,transparent),linear-gradient(to bottom,transparent,#000 2%,#000 98%,transparent);
 -webkit-mask-composite:source-in;
 mask-image:linear-gradient(to right,transparent,#000 2%,#000 98%,transparent),linear-gradient(to bottom,transparent,#000 2%,#000 98%,transparent);
 mask-composite:intersect;
}
/* Smoother transition with a quieter emerald finish. */
.dk-home-hero { background:linear-gradient(to right,#000 0%,#010504 28%,#030c09 50%,#06150f 73%,#0a241c 100%); }

.dk-home-hero::before { opacity:.12; }
.dk-home-hero::before { opacity:.25; }
/* Hero color trial, black fading into a muted brand-gold tint. */
.dk-home-hero { background:linear-gradient(to right,#000 0%,#050400 28%,#100d02 50%,#211b06 73%,#352b09 100%); }
.dk-home-hero::before { opacity:.4; }

/* Sparse champagne embers, outside the film rather than over the food. */
.dk-home-hero .dk-hero-film { overflow:visible; }
.dk-hero-embers { position:absolute; inset:0; pointer-events:none; overflow:visible; }
.dk-hero-ember { position:absolute; width:2px; height:1px; border-radius:50%; background:#dfc894; opacity:0; animation:dk-ember-drift 12s ease-out infinite; animation-delay:var(--ember-delay); transform:rotate(var(--ember-angle)); }
@keyframes dk-ember-drift {
  0%, 60% { opacity:0; transform:translate(0,0) rotate(var(--ember-angle)); }
  67% { opacity:.42; }
  88% { opacity:.12; }
  100% { opacity:0; transform:translate(var(--ember-x),var(--ember-y)) rotate(calc(var(--ember-angle) + 50deg)); }
}
@media(max-width:780px) { .dk-hero-ember:nth-child(n+5) { display:none; } }
@media(prefers-reduced-motion:reduce) { .dk-hero-embers { display:none; } .dk-hero-ember { animation:none; } }
/* Visible sparks with a tiny champagne trail, above the film and backdrop. */
.dk-hero-embers { z-index:3; }
.dk-hero-ember { width:3px; height:3px; background:#ffe3a2; border-radius:50%; box-shadow:0 0 4px 1px #e6bd7270; animation-duration:8s; }
.dk-hero-ember::before { content:""; position:absolute; right:1px; top:1px; width:8px; height:1px; background:linear-gradient(to right,transparent,#e6bd72b3); transform-origin:right center; transform:rotate(-25deg); }
@keyframes dk-ember-drift {
  0%, 32% { opacity:0; transform:translate(0,0) rotate(var(--ember-angle)); }
  42% { opacity:.9; }
  70% { opacity:.6; }
  100% { opacity:0; transform:translate(var(--ember-x),var(--ember-y)) rotate(calc(var(--ember-angle) + 25deg)); }
}
/* Near-black hero, warmth localized immediately behind the film. */
.dk-home-hero { background:#050505; }
.dk-home-hero .dk-hero-film { isolation:isolate; }
.dk-hero-film::before { content:""; position:absolute; z-index:-1; pointer-events:none; inset:-24px -32px; background:radial-gradient(ellipse at center,rgba(185,128,47,.085) 0%,rgba(185,128,47,.035) 52%,transparent 73%); }
/* Larger, irregular gold-leaf fragments rather than pinpoint sparks. */
.dk-hero-ember {
 width:9px; height:12px; border-radius:0;
 clip-path:polygon(15% 0,72% 9%,100% 42%,77% 63%,84% 100%,33% 88%,0 53%);
 background:conic-gradient(from 35deg at 42% 48%,#af761d,#ffe8a1 22%,#d9a737 40%,#fff0b0 57%,#b67b1d 78%,#edc75c);
 box-shadow:none;
 filter:drop-shadow(0 0 2px #d6a74d50);
}
.dk-hero-ember:nth-child(2n) { width:7px; height:9px; clip-path:polygon(0 12%,69% 0,100% 51%,61% 100%,17% 76%); }
.dk-hero-ember:nth-child(3n) { width:11px; height:7px; }
.dk-hero-ember::before { display:none; }
@keyframes dk-ember-drift {
  0%, 32% { opacity:0; transform:translate(0,0) rotate(var(--ember-angle)) scale(.65); }
  43% { opacity:.9; }
  72% { opacity:.7; }
  100% { opacity:0; transform:translate(var(--ember-x),var(--ember-y)) rotate(calc(var(--ember-angle) + 100deg)) scale(.9); }
}

/* Smaller warm motes trail the three leaf fragments near the corner. */
.dk-hero-ember.dk-hero-ember-small { width:2px; height:2px; border-radius:50%; clip-path:none; background:#ffe4a5; box-shadow:0 0 4px 1px #dbb75b70; filter:none; }
.dk-hero-ember-small::before { display:none; }
.dk-hero-ember:not(.dk-hero-ember-small) { width:12px; height:15px; }
.dk-hero-ember:not(.dk-hero-ember-small):nth-child(2n) { width:10px; height:12px; }
.dk-hero-ember:not(.dk-hero-ember-small):nth-child(3n) { width:14px; height:10px; }

/* Slightly larger leaf fragments and brighter, connected light trails. */
.dk-hero-ember:not(.dk-hero-ember-small) { width:15px; height:19px; }
.dk-hero-ember:not(.dk-hero-ember-small):nth-child(2n) { width:12.5px; height:15px; }
.dk-hero-ember:not(.dk-hero-ember-small):nth-child(3n) { width:17.5px; height:12.5px; }
.dk-hero-ember.dk-hero-ember-small { width:3px; height:3px; background:#ffe9b1; box-shadow:0 0 5px 1px #e3bd687d; }
.dk-hero-ember-small::before { display:block; top:1px; right:1px; width:10px; height:1px; background:linear-gradient(to right,transparent,#efcc8280); transform:rotate(-30deg); }
@keyframes dk-ember-drift {
  0%,32% { opacity:0; filter:brightness(.85); transform:translate(0,0) rotate(var(--ember-angle)) scale(.65); }
  43% { opacity:.88; filter:brightness(1); }
  58% { filter:brightness(1.3); }
  72% { opacity:.72; filter:brightness(.95); }
  84% { filter:brightness(1.15); }
  100% { opacity:0; filter:brightness(.8); transform:translate(var(--ember-x),var(--ember-y)) rotate(calc(var(--ember-angle) + 100deg)) scale(.9); }
}
@media(max-width:780px) { .dk-hero-ember:nth-child(n+5) { display:none; } .dk-hero-ember:nth-child(9), .dk-hero-ember:nth-child(10) { display:block; } }

/* Cinematic gold-leaf atmosphere, weighted toward the film. */
.dk-hero-atmosphere { position:absolute; inset:0; z-index:0; pointer-events:none; overflow:hidden; }
.dk-home-hero > .wp-block-group, .dk-home-hero > .dk-hero-film { position:relative; z-index:1; }
.dk-atmosphere-flake { position:absolute; opacity:0; clip-path:polygon(15% 0,72% 9%,100% 42%,77% 63%,84% 100%,33% 88%,0 53%); background:conic-gradient(from 35deg at 42% 48%,#987028,#f6db91 22%,#c69c48 40%,#ffe8a4 57%,#a47728 78%,#dfbd68); animation:dk-atmosphere-drift var(--drift-duration) linear infinite; animation-delay:var(--drift-delay); }
.dk-atmosphere-flake.is-soft { clip-path:none; border-radius:50%; background:#e5c57d; filter:blur(1px); }
@keyframes dk-atmosphere-drift {
  0% { opacity:0; transform:translate(0,0) rotate(var(--turn)); }
  15% { opacity:.35; }
  35% { opacity:.6; }
  55% { opacity:.4; }
  70% { opacity:.55; }
  100% { opacity:0; transform:translate(var(--drift-x),var(--drift-y)) rotate(calc(var(--turn) + 135deg)); }
}
.dk-hero-atmosphere.is-offscreen .dk-atmosphere-flake { animation-play-state:paused; }
@media(max-width:780px) { .dk-atmosphere-flake:nth-child(n+9) { display:none; } }
@media(prefers-reduced-motion:reduce) { .dk-hero-atmosphere { display:none; } .dk-atmosphere-flake { animation:none; } }

/* Champagne leaf facets catch light gently as the fragments turn. */
.dk-atmosphere-flake:not(.is-soft) {
 background:conic-gradient(from 35deg at 42% 48%,#92703b,#ead5a2 18%,#b59150 36%,#fff0c4 52%,#c9ab70 69%,#88662f 85%,#e6ca8c);
 animation-name:dk-atmosphere-drift,dk-leaf-shimmer;
 animation-duration:var(--drift-duration),11s;
 animation-delay:var(--drift-delay),var(--drift-delay);
 animation-timing-function:linear,ease-in-out;
 animation-iteration-count:infinite;
}
.dk-atmosphere-flake:not(.is-soft):nth-child(3n) { clip-path:polygon(0 18%,48% 0,92% 22%,76% 54%,100% 87%,38% 100%,12% 66%); background-position:65% 40%; }
.dk-atmosphere-flake:not(.is-soft):nth-child(2n) { background:conic-gradient(from 120deg,#ad8b50,#f5e5bd 24%,#c3a366 45%,#fff1cf 60%,#a17f45 82%,#d9bc83); }
@keyframes dk-leaf-shimmer {
 0%,100% { filter:brightness(.85); }
 46% { filter:brightness(1); }
 53% { filter:brightness(1.35); }
 63% { filter:brightness(.95); }
}
@media(prefers-reduced-motion:reduce) { .dk-atmosphere-flake:not(.is-soft) { animation:none; } }

/* Fine suspended champagne dust replaces the larger leaf fragments. */
.dk-hero-dust {
 position:absolute; border-radius:50%; opacity:0; pointer-events:none;
 background:#e9d3a4; box-shadow:0 0 2px .3px #d7b87755;
 animation:dk-dust-drift var(--dust-duration) ease-in-out infinite,dk-dust-light var(--dust-shimmer) ease-in-out infinite;
 animation-delay:var(--dust-delay);
}
.dk-hero-dust.is-distant { background:#c7b58e; filter:blur(.65px); box-shadow:none; }
@keyframes dk-dust-drift {
 0% { transform:translate(0,0); }
 50% { transform:translate(calc(var(--dust-x) * .35),calc(var(--dust-y) * .55)); }
 100% { transform:translate(var(--dust-x),var(--dust-y)); }
}
@keyframes dk-dust-light {
 0%,100% { opacity:0; }
 20% { opacity:calc(var(--dust-opacity) * .6); }
 48% { opacity:var(--dust-opacity); }
 72% { opacity:calc(var(--dust-opacity) * .7); }
}
.dk-hero-atmosphere.is-offscreen .dk-hero-dust { animation-play-state:paused; }
@media(max-width:780px) { .dk-hero-dust:nth-child(n+41) { display:none; } }
@media(prefers-reduced-motion:reduce) { .dk-hero-dust { display:none; animation:none; } }

/* More illuminated dust through the gap beside the film. */
.dk-hero-dust { background:#f1dbaa; box-shadow:0 0 3px .5px #dfbd7966; }
.dk-hero-dust.is-lit { background:#f5e3ba; box-shadow:0 0 5px 1px #dbb87966; }
.dk-hero-dust.is-distant { background:#cfbd95; box-shadow:none; }
@keyframes dk-dust-light {
 0%,100% { opacity:.05; }
 20% { opacity:calc(var(--dust-opacity) * .65); }
 48% { opacity:var(--dust-opacity); }
 72% { opacity:calc(var(--dust-opacity) * .75); }
}
@media(max-width:780px) { .dk-hero-dust:nth-child(n+41) { display:block; } .dk-hero-dust:nth-child(n+65) { display:none; } }
@media(prefers-reduced-motion:reduce) { .dk-hero-dust { display:none; } }

/* Warm champagne and antique-gold dust at several focal depths. */
.dk-hero-dust { background:#d6ad58; box-shadow:0 0 3px .4px #b88b3866; }
.dk-hero-dust:nth-child(3n) { background:#e5c386; }
.dk-hero-dust:nth-child(5n) { background:#b68a43; box-shadow:0 0 2px .3px #a77a3566; }
.dk-hero-dust.is-lit { background:#e8c378; box-shadow:0 0 5px 1px #c99b496b; }
.dk-hero-dust.is-distant { background:#c09e60; filter:blur(.55px); box-shadow:none; }
.dk-hero-dust.is-near { background:#d7b26e; filter:blur(1px); box-shadow:0 0 4px .6px #c69a4655; scale:1.35; }

/* Reflective fragments among the fine dust, rather than round star-like lights. */
.dk-hero-dust { border-radius:25%; box-shadow:none; background:#c8a05a; }
.dk-hero-dust.is-near { border-radius:40%; filter:blur(1.2px); box-shadow:none; scale:1.7; }
.dk-hero-dust.is-fleck, .dk-hero-dust.is-leaf {
 width:4px!important; height:2.7px!important; border-radius:0;
 clip-path:polygon(7% 14%,62% 0,100% 36%,73% 69%,81% 100%,24% 86%,0 48%);
 background:conic-gradient(from 40deg,#92703e,#e4c486 22%,#b18b45 43%,#f7e1ad 56%,#a48040 78%,#d4b16b);
 animation-name:dk-dust-tumble,dk-dust-reflection;
}
.dk-hero-dust.is-leaf { width:7px!important; height:5px!important; }
.dk-hero-dust.is-fleck:nth-child(2n) { filter:blur(.45px); }
@keyframes dk-dust-tumble {
 0% { transform:translate(0,0) rotate(var(--dust-turn)); }
 50% { transform:translate(calc(var(--dust-x) * .35),calc(var(--dust-y) * .55)) rotate(calc(var(--dust-turn) + 35deg)); }
 100% { transform:translate(var(--dust-x),var(--dust-y)) rotate(calc(var(--dust-turn) + 75deg)); }
}
@keyframes dk-dust-reflection {
 0%,100% { opacity:.06; filter:brightness(.8); }
 22% { opacity:calc(var(--dust-opacity) * .7); filter:brightness(.9); }
 46% { opacity:var(--dust-opacity); filter:brightness(1); }
 53% { opacity:var(--dust-opacity); filter:brightness(1.45); }
 64% { opacity:calc(var(--dust-opacity) * .8); filter:brightness(.9); }
 80% { opacity:calc(var(--dust-opacity) * .5); filter:brightness(.85); }
}

/* Faceted gold surfaces replace the point-light appearance. */
.dk-hero-dust:not(.is-near):not(.is-distant) {
 width:3px!important; height:1.8px!important; border-radius:0;
 clip-path:polygon(0 25%,42% 0,88% 14%,100% 64%,54% 100%,15% 75%);
 background:linear-gradient(135deg,#967036 0%,#d3ad62 32%,#f8e3ac 46%,#b08b44 61%,#e5c587 78%,#a37c3b 100%);
 animation-name:dk-dust-tumble,dk-dust-reflection;
}
.dk-hero-dust.is-fleck { width:5px!important; height:3px!important; }
.dk-hero-dust.is-leaf { width:8px!important; height:5.5px!important; }
.dk-hero-dust.is-fleck:nth-child(3n), .dk-hero-dust.is-leaf:nth-child(2n) {
 clip-path:polygon(12% 0,67% 9%,100% 40%,71% 61%,85% 100%,33% 81%,0 53%);
}
.dk-hero-dust.is-fleck::after, .dk-hero-dust.is-leaf::after {
 content:""; position:absolute; inset:20% 12% 46% 25%;
 background:#fff0c9; opacity:0;
 animation:dk-gold-facet var(--dust-shimmer) ease-in-out infinite;
 animation-delay:var(--dust-delay);
}
@keyframes dk-gold-facet { 0%,39%,62%,100% { opacity:0; } 49% { opacity:.8; } 54% { opacity:.25; } }
@keyframes dk-dust-reflection {
 0%,100% { opacity:.12; filter:brightness(.9); }
 22% { opacity:calc(var(--dust-opacity) * .9); filter:brightness(1); }
 46% { opacity:calc(var(--dust-opacity) + .15); filter:brightness(1.15); }
 53% { opacity:calc(var(--dust-opacity) + .2); filter:brightness(1.5); }
 64% { opacity:var(--dust-opacity); filter:brightness(1); }
 80% { opacity:calc(var(--dust-opacity) * .7); filter:brightness(.95); }
}
.dk-hero-dust.is-near { background:#bc974f; filter:blur(1.4px); }
@media(prefers-reduced-motion:reduce) { .dk-hero-dust::after { animation:none; } }
.dk-hero-atmosphere .dk-hero-dust.is-fleck:not(.is-near):not(.is-distant) { width:5px!important; height:3px!important; }
.dk-hero-atmosphere .dk-hero-dust.is-leaf:not(.is-near):not(.is-distant) { width:8px!important; height:5.5px!important; }
/* Compact warm transition below the unchanged hero content. */
.dk-home-hero { --dk-hero-transition:24px; padding-bottom:calc(2rem + var(--dk-hero-transition)); }
.dk-home-hero::after {
 content:""; position:absolute; left:0; right:0; bottom:0;
 height:var(--dk-hero-transition); pointer-events:none; z-index:2;
 background:linear-gradient(to bottom,rgba(245,241,233,0),rgba(245,241,233,.06) 20%,rgba(245,241,233,.94) 80%,#f5f1e9);
}
.dk-hero-atmosphere {
 -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 calc(100% - var(--dk-hero-transition)),transparent 100%);
 mask-image:linear-gradient(to bottom,#000 0%,#000 calc(100% - var(--dk-hero-transition)),transparent 100%);
}
.dk-home-chef.dk-section { padding-top:clamp(2rem,3vw,2.75rem); }
@media(max-width:780px) {
 .dk-home-hero { --dk-hero-transition:20px; padding-bottom:calc(clamp(3rem,6vw,6rem) + var(--dk-hero-transition)); }
 .dk-home-chef.dk-section { padding-top:1.75rem; }
}
/* Still emerald engraving, quietly supporting the headline. */
.dk-home-hero::before { opacity:.27; filter:none; animation:none; mix-blend-mode:normal; }
/* Immersive reels: real media, quiet controls, and a clear booking moment. */
.dk-home-work h2 { max-width:58rem; font-size:clamp(2.8rem,4.7vw,5rem); }
.dk-work-intro { max-width:42rem; color:#55594f; font-size:1.0625rem; line-height:1.65; margin:1.5rem 0 2rem; }
.dk-reel-track { display:flex; align-items:center; gap:24px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:thin; scrollbar-color:#174f4340 transparent; padding:1.5rem 0 1rem; }
.dk-reel-card { position:relative; flex:0 0 calc((100% - 48px)/3); min-width:0; margin:0; height:480px; border-radius:8px; overflow:hidden; background:#151713; scroll-snap-align:center; }
.dk-reel-card:nth-child(3n+2) { height:520px; }
.dk-reel-video, .dk-reel-card .dk-portfolio-enlarge { display:block; width:100%; height:100%; }
.dk-reel-card video, .dk-reel-card .dk-portfolio-enlarge img { display:block; width:100%; height:100%; object-fit:cover; }
.dk-reel-card figcaption { position:absolute; bottom:0; left:0; right:0; padding:4rem 1.5rem 1.5rem; background:linear-gradient(transparent,#000b); color:#f5f1e9; pointer-events:none; }
.dk-reel-card figcaption>span { font:400 .65rem/1 Arial,sans-serif; letter-spacing:.15em; opacity:.7; }
.dk-reel-card figcaption h3 { font:400 clamp(1.5rem,2vw,2rem)/1.15 Georgia,serif; margin:.5rem 0 0; }
.dk-reel-toggle { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:56px; height:56px; border:1px solid #ffffff80; border-radius:50%; background:#0005; color:#fff; font-size:20px; cursor:pointer; transition:opacity .2s; }
.dk-reel-video.is-playing .dk-reel-toggle { opacity:0; }
.dk-reel-video:hover .dk-reel-toggle, .dk-reel-toggle:focus-visible { opacity:1; }
.dk-reel-sound { position:absolute; top:1rem; right:1rem; border:1px solid #ffffff50; border-radius:20px; background:#0007; color:#fff; padding:.55rem .8rem; font:400 .7rem Arial,sans-serif; cursor:pointer; }
.dk-reel-error { position:absolute; top:20%; left:1rem; right:1rem; color:#fff; background:#000c; padding:1rem; }
.dk-reel-navigation { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:1rem; }
.dk-reel-navigation p { color:#5d6056; font-size:.85rem; }
.dk-reel-navigation button { width:44px; height:44px; background:transparent; border:1px solid #174f4330; border-radius:50%; color:#174f43; font-size:22px; cursor:pointer; margin-left:.5rem; }
.dk-reel-booking { display:flex; align-items:center; justify-content:space-between; gap:2rem; border-top:1px solid #174f4326; margin-top:2.5rem; padding-top:2.5rem; }
.dk-reel-booking h3 { font:400 clamp(1.8rem,3vw,2.6rem)/1.15 Georgia,serif; margin:.5rem 0 1rem; }
.dk-reel-booking p:not(.dk-eyebrow) { max-width:38rem; color:#55594f; line-height:1.6; }
.dk-reel-booking .wp-element-button { flex-shrink:0; background:#174f43; color:#f5f1e9; text-decoration:none; padding:1.2rem 1.7rem; font:600 .75rem Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
@media(max-width:780px) {
 .dk-reel-track { gap:16px; padding-block:.5rem 1rem; }
 .dk-reel-card, .dk-reel-card:nth-child(3n+2) { flex-basis:82%; height:auto; aspect-ratio:3/4; }
 .dk-reel-booking { flex-direction:column; align-items:flex-start; }
 .dk-reel-navigation p { max-width:12rem; line-height:1.5; }
 .dk-reel-video.is-playing .dk-reel-toggle { opacity:1; }
}
@media(prefers-reduced-motion:reduce) { .dk-reel-toggle { transition:none; } }

/* Uniform media frames and compact, accessible speaker controls. */
.dk-reel-card, .dk-reel-card:nth-child(3n+2) { height:500px; }
.dk-reel-sound { display:grid; place-items:center; width:44px; height:44px; padding:0; border-radius:50%; }
.dk-reel-sound svg { display:block; }
@media(max-width:780px) { .dk-reel-card, .dk-reel-card:nth-child(3n+2) { height:420px; aspect-ratio:auto; } }

/* A quiet emerald invitation, distinct from the surrounding gallery. */
.dk-reel-navigation { justify-content:flex-end; }
.dk-reel-booking { background:#e9eee7; border-top:0; padding:2.5rem 2rem; margin-top:1.5rem; border-radius:8px; }
@media(max-width:780px) { .dk-reel-booking { padding:2rem 1.25rem; } }

/* One accessible playback target covers the card; audio remains independent. */
.dk-reel-toggle { inset:0; left:0; top:0; transform:none; width:100%; height:100%; border:0; border-radius:0; background:transparent; z-index:1; }
.dk-reel-toggle>span { display:grid; place-items:center; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:56px; height:56px; border:1px solid #ffffff80; border-radius:50%; background:#0005; }
.dk-reel-toggle:focus-visible { outline:2px solid #e4c486; outline-offset:-4px; }
.dk-reel-sound { z-index:3; }
.dk-reel-card figcaption { z-index:2; }
.dk-reel-booking .wp-element-button { display:inline-flex; align-items:center; gap:1rem; padding:1.4rem 2rem; font-size:.8rem; }
.dk-reel-booking .wp-element-button span { font-size:1.1rem; line-height:1; }
/* Fullscreen photography viewer: uncropped images and quiet controls. */
.dk-portfolio-dialog { position:fixed; inset:0; box-sizing:border-box; width:100%; height:100%; height:100dvh; max-width:none; max-height:none; margin:0; padding:0; border:0; background:#080808f7; color:#f5f1e9; overflow:hidden; }
.dk-portfolio-dialog::backdrop { background:#080808; }
.dk-portfolio-dialog[open] { display:grid; grid-template-rows:minmax(0,1fr) auto; animation:dk-viewer-open 180ms ease-out; }
.dk-viewer-stage { min-height:0; display:flex; align-items:center; justify-content:center; padding:64px 72px 16px; touch-action:pan-y; }
.dk-portfolio-dialog img { display:block; width:auto; height:auto; max-width:100%; max-height:100%; object-fit:contain; user-select:none; -webkit-user-drag:none; }
.dk-portfolio-dialog button { display:grid; place-items:center; position:absolute; margin:0; padding:0; width:44px; height:44px; min-height:44px; border:1px solid #ffffff30; border-radius:50%; color:#f5f1e9; background:#111a; z-index:2; cursor:pointer; }
.dk-portfolio-dialog button[hidden] { display:none; }
.dk-portfolio-dialog button:hover { background:#ffffff18; border-color:#ffffff70; }
.dk-portfolio-dialog button:focus-visible { outline:2px solid #e4c486; outline-offset:4px; }
.dk-portfolio-dialog button svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.dk-viewer-close { top:max(16px,env(safe-area-inset-top)); right:max(20px,env(safe-area-inset-right)); }
.dk-viewer-prev { left:18px; top:calc(50% - 22px); }
.dk-viewer-next { right:18px; top:calc(50% - 22px); }
.dk-viewer-meta { text-align:center; padding:12px 64px max(24px,env(safe-area-inset-bottom)); font:400 .8rem/1.5 Arial,sans-serif; color:#c8c5bd; }
.dk-viewer-counter { letter-spacing:.12em; font-size:.7rem; }
.dk-viewer-meta p { margin:.5rem auto 0; max-width:48rem; }
.dk-viewer-meta p:empty { display:none; }
.dk-portfolio-dialog.is-closing { animation:dk-viewer-close 180ms ease-in forwards; }
@keyframes dk-viewer-open { from { opacity:0; } to { opacity:1; } }
@keyframes dk-viewer-close { from { opacity:1; } to { opacity:0; } }
@media(max-width:780px) { .dk-viewer-stage { padding:64px 12px 12px; } .dk-viewer-prev { left:10px; } .dk-viewer-next { right:10px; } .dk-viewer-meta { padding-inline:28px; } }
@media(prefers-reduced-motion:reduce) { .dk-portfolio-dialog[open], .dk-portfolio-dialog.is-closing { animation:none; } }

/* Navigation only invites movement when more media exists in that direction. */
.dk-reel-navigation button:disabled, .dk-portfolio-dialog button:disabled { opacity:.25; cursor:default; }
.dk-portfolio-dialog button:disabled:hover { background:#111a; border-color:#ffffff30; }
/* Client stories use the same quiet, cinematic treatment as the food reels. */
.dk-home-feedback { padding-block:clamp(3rem,5vw,4.5rem) 2.5rem; }
.dk-home-feedback h2::before { content:""; display:block; width:3rem; height:2px; background:#174f43; margin-bottom:1.5rem; }
.dk-story-intro { max-width:42rem; color:#55594f; font-size:1.0625rem; line-height:1.65; margin:1.5rem 0 2rem; }
.dk-testimonial-videos { max-width:1050px; gap:24px; }
.dk-story-media { position:relative; height:540px; background:#11120f; overflow:hidden; border-radius:8px; }
.dk-story-media figure { width:100%; height:100%; }
.dk-testimonial-videos .dk-story-media video { width:100%; height:100%; max-height:none; aspect-ratio:auto; object-fit:contain; border-radius:0; display:block; }
.dk-story-overlay { position:absolute; bottom:0; left:0; right:0; padding:5rem 1.5rem 1.5rem; background:linear-gradient(transparent,#000b); color:#f5f1e9; pointer-events:none; transition:opacity .2s; }
.dk-story-overlay span { font:500 .65rem/1.5 Arial,sans-serif; letter-spacing:.13em; text-transform:uppercase; }
.dk-story-overlay h3 { font:400 1.8rem/1.2 Georgia,serif; margin:.5rem 0 0; }
.dk-story-play { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); display:grid; place-items:center; width:64px; height:64px; padding:0; border:1px solid #ffffff90; border-radius:50%; color:#fff; background:#0006; cursor:pointer; }
.dk-story-play[hidden] { display:none; }
.dk-story-play svg { width:44px; height:44px; }
.dk-story-play:focus-visible { outline:2px solid #e4c486; outline-offset:5px; }
.dk-client-story.has-played .dk-story-play, .dk-client-story.has-played .dk-story-overlay { display:none; }
.dk-home-feedback + .dk-home-inquiry { margin-top:0; }
@media(max-width:780px) { .dk-testimonial-videos { grid-template-columns:1fr; } .dk-story-media { height:480px; } .dk-home-feedback { padding-bottom:2rem; } }
@media(prefers-reduced-motion:reduce) { .dk-story-overlay { transition:none; } }

/* Real comments make the stories useful even before playback. */
.dk-story-quote { margin:1.25rem 0 0; padding:0 0 0 1rem; border-left:2px solid #174f4360; }
.dk-story-quote p { margin:0; font:400 clamp(1.3rem,2vw,1.65rem)/1.4 Georgia,serif; color:#174f43; }
.dk-story-gesture { display:inline-block; font-size:1.25rem; vertical-align:middle; margin-left:.2rem; }

.dk-story-quote p { font-size:clamp(1.46rem,2.24vw,1.85rem); }
/* Portrait-shaped testimonial cards preserve the full footage with less letterboxing. */
.dk-testimonial-videos { max-width:680px; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; }
.dk-story-media { height:auto; aspect-ratio:9/16; }
@media(max-width:780px) { .dk-testimonial-videos { grid-template-columns:1fr; max-width:360px; gap:2rem; } .dk-story-media { height:auto; aspect-ratio:9/16; } }
/* Let portrait stories breathe across the available space without stretching. */
.dk-testimonial-videos { max-width:none; width:100%; grid-template-columns:repeat(2,minmax(0,360px)); justify-content:space-evenly; gap:clamp(2rem,6vw,6rem); }
.dk-home-inquiry .dk-button .wp-block-button__link { padding:1.3rem 1.9rem; font-size:.82rem; }
@media(max-width:780px) { .dk-testimonial-videos { grid-template-columns:minmax(0,360px); justify-content:center; gap:2.5rem; } }
/* Shorter portrait stories retain the footage's natural proportions. */
.dk-testimonial-videos { grid-template-columns:repeat(2,minmax(0,280px)); }
.dk-story-media { aspect-ratio:9/16; }
@media(max-width:780px) { .dk-testimonial-videos { grid-template-columns:minmax(0,280px); } }
/* Compact square testimonial frames, preserving the complete video inside. */
.dk-client-story .dk-story-media { aspect-ratio:1/1; height:auto; }
.dk-client-story .dk-story-media video { object-fit:contain; }
/* Match the testimonial media dimensions to the main reel gallery. */
.dk-testimonial-videos { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; justify-content:start; }
.dk-client-story .dk-story-media { height:500px; aspect-ratio:auto; }
@media(max-width:780px) {
 .dk-testimonial-videos { grid-template-columns:minmax(0,82%); justify-content:start; }
 .dk-client-story .dk-story-media { height:420px; aspect-ratio:auto; }
}
/* Fill testimonial cards without side bars, centering the speakers. */
.dk-client-story .dk-story-media video { object-fit:cover; object-position:50% 50%; }
/* Match the final invitation to the earlier pale-emerald booking moment. */
.dk-home-inquiry { background:#e9eee7; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:2rem; }
.dk-home-inquiry .dk-inquiry-action { justify-self:end; position:relative; z-index:1; }
.dk-home-inquiry .dk-button .wp-block-button__link { display:inline-flex; align-items:center; gap:1rem; padding:1.4rem 2rem; font-size:.8rem; }
.dk-home-inquiry .dk-button .wp-block-button__link span { font-size:1.1rem; line-height:1; }
@media(max-width:780px) { .dk-home-inquiry { grid-template-columns:1fr; gap:1.5rem; } .dk-home-inquiry .dk-inquiry-action { justify-self:start; } }
/* Keep the crest's chef hat in the open space beside the invitation. */
.dk-home-inquiry::after { right:25%; opacity:.2; }
@media(min-width:781px) and (max-width:1100px) { .dk-home-inquiry::after { right:27%; top:28%; width:140px; height:81px; background-size:779px 438px; background-position:-303px -61px; } }
/* Dark client stories lead into the pale emerald booking invitation. */
.dk-home-feedback { background:#050505; color:#f5f1e9; border-top:0; }
.dk-home-feedback h2 { color:#f5f1e9; }
.dk-home-feedback h2::before { background:#d8bd82; }
.dk-home-feedback .dk-story-intro { color:#c7c3b9; }
.dk-home-feedback .dk-story-quote { border-color:#d8bd8266; }
.dk-home-feedback .dk-story-quote p { color:#dfc58e; }
/* A quiet champagne ripple through the warm ivory storytelling sections. */
.dk-home-chef, .dk-home-work { position:relative; isolation:isolate; overflow:hidden; }
.dk-home-chef::before, .dk-home-work::before {
 content:""; position:absolute; inset:-25% -35%; z-index:-1; pointer-events:none;
 background:radial-gradient(ellipse at 25% 65%,transparent 34%,rgba(192,150,61,.035) 39%,rgba(210,173,90,.09) 43%,rgba(192,150,61,.025) 48%,transparent 54%);
 animation:dk-ivory-ripple 28s ease-in-out infinite alternate;
}
.dk-home-work::before { animation-delay:-14s; background-position:center; }
@keyframes dk-ivory-ripple { from { transform:translate(-8%,3%) rotate(-6deg); opacity:.45; } to { transform:translate(14%,-5%) rotate(6deg); opacity:.85; } }
@media(max-width:780px) { .dk-home-chef::before, .dk-home-work::before { animation-duration:36s; } }
@media(prefers-reduced-motion:reduce) { .dk-home-chef::before, .dk-home-work::before { display:none; animation:none; } }
/* A more visible gold wash, still soft behind the content. */
.dk-home-chef::before, .dk-home-work::before {
 background:radial-gradient(ellipse at 25% 65%,transparent 29%,rgba(181,134,36,.08) 36%,rgba(205,161,61,.23) 43%,rgba(192,147,45,.09) 50%,transparent 58%);
}
@keyframes dk-ivory-ripple { from { transform:translate(-8%,3%) rotate(-6deg); opacity:.65; } to { transform:translate(14%,-5%) rotate(6deg); opacity:1; } }
/* Center existing-size stories and refine the chef's credentials. */
.dk-testimonial-videos { grid-template-columns:repeat(2,minmax(0,calc((100% - 48px)/3))); justify-content:center; }
.dk-home-feedback .dk-story-quote p { color:#d6bf91; }
.dk-chef-credentials > p:last-child { font-size:1.0625rem; line-height:2; }
.dk-chef-credentials .dk-credential-label { font-size:.82rem; letter-spacing:.14em; margin-bottom:.65rem; }
.dk-home-chef.dk-section { padding-bottom:clamp(2.5rem,5vw,4rem); }
.dk-home-chef .dk-text-link a { display:inline-flex; align-items:center; gap:.5rem; font-size:1.05rem; transition:color 180ms ease; }
.dk-home-chef .dk-text-link a:hover, .dk-home-chef .dk-text-link a:focus-visible { color:#174f43; }
.dk-home-chef .dk-text-link .dk-link-indicator { font-size:1.1em; }
@media(max-width:780px) { .dk-testimonial-videos { grid-template-columns:minmax(0,82%); justify-content:center; } .dk-home-chef.dk-section { padding-bottom:2.5rem; } }
@media(prefers-reduced-motion:reduce) { .dk-home-chef .dk-text-link a { transition:none; } }
/* Editorial chef profile, with clearly marked biography and career draft slots. */
.dk-about .dk-page-heading { padding-block:clamp(2.5rem,5vw,5rem); }
.dk-about .dk-section { padding-block:clamp(2.5rem,5vw,4.5rem); }
.dk-about-story { display:grid; grid-template-columns:1fr 1.25fr; gap:clamp(2rem,6vw,6rem); }
.dk-about h2 { font-size:clamp(2.3rem,4vw,4rem); }
.dk-about-bio>p { font-size:1.1rem; line-height:1.8; max-width:42rem; }
.dk-about-draft { border-left:2px solid #b29b62; background:#ebe5d766; padding:1rem 1.25rem; margin-top:1.5rem; font-size:.9rem; color:#605d53; }
.dk-about-draft .dk-eyebrow { font-size:.65rem; margin-top:0; }
.dk-career { background:#eee9df; }
.dk-career h2 { max-width:20ch; }
.dk-career-note { max-width:43rem; font-size:.875rem; line-height:1.6; color:#666358; }
.dk-career-list { margin-top:2.5rem; border-left:1px solid #174f4340; padding-left:2rem; }
.dk-career-entry { position:relative; display:grid; grid-template-columns:180px 1fr 1.2fr; gap:2rem; align-items:baseline; padding:1.8rem 0; border-bottom:1px solid #174f4320; }
.dk-career-entry::before { content:""; position:absolute; width:7px; height:7px; border-radius:50%; background:#174f43; left:calc(-2rem - 4px); top:2.6rem; }
.dk-career-date { font-size:.75rem; letter-spacing:.04em; color:#666358; }
.dk-career-entry h3 { font:400 clamp(1.4rem,2.3vw,2rem)/1.2 Georgia,serif; margin:0; }
.dk-career-entry p { margin:0; line-height:1.7; }
.dk-about-team, .dk-about-recognition { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,6vw,6rem); align-items:center; }
.dk-about-team figure, .dk-about-recognition figure { margin:0; }
.dk-about-team img { display:block; width:100%; height:auto; border-radius:8px; }
.dk-about-team p, .dk-about-recognition p { line-height:1.75; }
.dk-about-recognition { background:#050505; color:#f5f1e9; }
.dk-about-recognition .dk-eyebrow { color:#d6bf91; }
.dk-about-recognition blockquote { margin:1.75rem 0 0; padding:0; border:0; }
.dk-about-recognition blockquote p { font:400 clamp(1.3rem,2vw,1.8rem)/1.5 Georgia,serif; color:#d6bf91; }
.dk-about-recognition cite { display:block; font:400 .8rem/1.7 Arial,sans-serif; color:#c7c3b9; }
.dk-about-recognition img { display:block; width:100%; height:auto; border-radius:8px; }
.dk-about-booking { display:flex; align-items:center; justify-content:space-between; gap:2rem; background:#e9eee7; }
.dk-about-booking h2 { margin:.5rem 0 1rem; }
.dk-about-booking .wp-block-buttons { flex-shrink:0; }
.dk-about-booking .wp-block-button__link { display:inline-flex; gap:1rem; padding:1.3rem 1.8rem; }
@media(max-width:780px) {
 .dk-about-story, .dk-about-team, .dk-about-recognition { grid-template-columns:1fr; }
 .dk-career-entry { grid-template-columns:1fr; gap:.6rem; }
 .dk-career-list { padding-left:1.5rem; }
 .dk-career-entry::before { left:calc(-1.5rem - 4px); }
 .dk-about-booking { flex-direction:column; align-items:flex-start; }
}
/* Gold ripples punctuate the chef's story and team, leaving the timeline quiet. */
.dk-about-story, .dk-about-team { position:relative; isolation:isolate; overflow:hidden; }
.dk-about-story::before, .dk-about-team::before {
 content:""; position:absolute; inset:-25% -35%; z-index:-1; pointer-events:none;
 background:radial-gradient(ellipse at 25% 65%,transparent 29%,rgba(181,134,36,.08) 36%,rgba(205,161,61,.23) 43%,rgba(192,147,45,.09) 50%,transparent 58%);
 animation:dk-ivory-ripple 28s ease-in-out infinite alternate;
}
.dk-about-team::before { animation-delay:-14s; }
@media(max-width:780px) { .dk-about-story::before, .dk-about-team::before { animation-duration:36s; } }
@media(prefers-reduced-motion:reduce) { .dk-about-story::before, .dk-about-team::before { display:none; animation:none; } }

.dk-about-lead > p:not(.dk-eyebrow) { font-size:clamp(1.125rem,1.4vw,1.3rem); line-height:1.75; max-width:38rem; }
/* An editorial career journey, with a distinct introduction and connected milestones. */
.dk-career { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(2.5rem,6vw,6rem); background:#eee9df; align-items:start; }
.dk-career-intro { padding-top:.5rem; }
.dk-career-intro>.dk-eyebrow { color:#174f43; margin:0 0 1.5rem; }
.dk-career-intro>.dk-eyebrow::before { content:""; display:block; width:48px; height:1px; background:#b69b61; margin-bottom:1.2rem; }
.dk-career-intro h2 { font-size:clamp(2.5rem,4vw,4.2rem); max-width:12ch; margin:0 0 1.5rem; }
.dk-career-note { max-width:28rem; padding-left:1rem; border-left:1px solid #b69b6180; font-size:.78rem; line-height:1.8; color:#68645a; }
.dk-career-list { margin:0; padding-left:2rem; border-left:1px solid #b69b6160; }
.dk-career-entry { display:block; padding:0 0 2rem; margin:0 0 2rem; border-bottom:1px solid #174f4320; }
.dk-career-entry:last-child { margin-bottom:0; padding-bottom:0; border-bottom:0; }
.dk-career-entry::before { top:.35rem; width:9px; height:9px; left:calc(-2rem - 5px); background:#eee9df; border:2px solid #a48b56; }
.dk-career-entry .dk-career-date { display:block; font-size:.65rem; letter-spacing:.1em; text-transform:uppercase; color:#767063; margin:0 0 .75rem; }
.dk-career-entry h3 { font-size:clamp(1.7rem,2.5vw,2.3rem); margin:0 0 .75rem; }
.dk-career-entry>p:last-child { max-width:35rem; font-size:.95rem; line-height:1.75; color:#5d5b51; }
.dk-career-entry:last-child h3 { color:#174f43; }
@media(max-width:780px) { .dk-career { grid-template-columns:1fr; gap:2.5rem; } .dk-career-intro h2 { max-width:18ch; } .dk-career-list { padding-left:1.5rem; } .dk-career-entry::before { left:calc(-1.5rem - 5px); } }
/* A quieter dark hero for the chef profile. */
.dk-about > .dk-page-heading { background:#050505; color:#f5f1e9; padding-block:clamp(2.5rem,4vw,4rem); }
.dk-about-lead h1 { color:#f5f1e9; }
.dk-about-lead>.dk-eyebrow { color:#d6bf91; }
.dk-about-lead>.dk-eyebrow::before { content:""; display:block; width:44px; height:1px; background:#d6bf91; margin-bottom:1.25rem; }
.dk-about-lead>p:not(.dk-eyebrow) { color:#cfcac0; }
.dk-about .dk-about-working img { max-height:560px; }
/* A compact, naturally growing biography with balanced columns. */
.dk-about .dk-about-story { min-height:0; height:auto; align-items:center; padding-top:clamp(2rem,3.5vw,3rem); padding-bottom:clamp(1.75rem,3vw,2.5rem); background-color:var(--dk-ivory); }
.dk-about-story > .wp-block-group { margin-block:0; min-width:0; }
.dk-about-story h2 { margin-bottom:0; }
.dk-about-bio > p:first-child { margin-top:0; }
.dk-about-bio > :last-child { margin-bottom:0; }
@media(max-width:780px) { .dk-about .dk-about-story { align-items:start; gap:1.5rem; padding-block:2rem; } }
/* A price-free starting point for a personal catering inquiry. */
.dk-planner-section { background:#f0f1ea; }
.dk-planner-heading { max-width:47rem; margin-bottom:2.5rem; }
.dk-planner-heading h2 { margin:.5rem 0 1rem; }
.dk-planner-heading>p:last-child { line-height:1.7; color:#55594f; }
.dk-planner-layout { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:clamp(2rem,4vw,4rem); align-items:start; }
.dk-planner-layout[hidden] { display:none; }
.dk-planner fieldset { border:0; padding:0; margin:0 0 2rem; min-width:0; }
.dk-planner legend { font:400 1.5rem/1.4 Georgia,serif; margin-bottom:1rem; }
.dk-planner legend>span { font:500 .7rem Arial,sans-serif; letter-spacing:.1em; color:#174f43; margin-right:.75rem; }
.dk-planner-options { display:flex; flex-wrap:wrap; gap:.65rem; }
.dk-planner-options label { position:relative; cursor:pointer; }
.dk-planner-options input { position:absolute; opacity:0; }
.dk-planner-options span { display:block; padding:.85rem 1rem; border:1px solid #174f4338; font-size:.85rem; border-radius:4px; }
.dk-planner-options input:checked+span { background:#174f43; color:#f5f1e9; border-color:#174f43; }
.dk-planner input:focus-visible+span, .dk-planner-package:focus-within { outline:2px solid #9c7934; outline-offset:3px; }
.dk-planner-packages { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.dk-planner-package { background:#f5f1e9; border:1px solid #174f4326; border-radius:6px; padding:1.25rem; }
.dk-planner-package:has(input:checked) { border-color:#174f43; box-shadow:inset 0 0 0 1px #174f43; }
.dk-planner-package label { display:grid; grid-template-columns:20px 1fr; gap:.7rem; cursor:pointer; }
.dk-planner-package input { accent-color:#174f43; margin-top:.35rem; }
.dk-planner-package strong { font:400 1.4rem/1.3 Georgia,serif; }
.dk-planner-package label>span { grid-column:2; font-size:.875rem; line-height:1.6; color:#55594f; }
.dk-planner-package>a { display:inline-block; margin:1rem 0 0 1.95rem; font-size:.8rem; color:#174f43; }
.dk-planner-summary { background:#f5f1e9; padding:1.5rem; border-top:2px solid #b69b61; }
.dk-planner-summary dl { margin:1.5rem 0; }
.dk-planner-summary dt { margin-top:1rem; font-size:.7rem; color:#666358; text-transform:uppercase; letter-spacing:.08em; }
.dk-planner-summary dd { margin:.35rem 0 0; font-size:.95rem; line-height:1.5; }
.dk-planner-summary>.wp-element-button, .dk-inquiry-selection>.wp-element-button { display:inline-flex; align-items:center; gap:.8rem; background:#174f43; color:#f5f1e9; text-decoration:none; padding:1rem 1.25rem; font-size:.8rem; }
.dk-planner-summary>p:not(.dk-eyebrow) { font-size:.75rem; line-height:1.7; color:#666358; }
.dk-planner-summary button { border:0; background:transparent; padding:.5rem 0; color:#174f43; text-decoration:underline; cursor:pointer; }
.dk-inquiry-selection { padding:2rem; background:#e9eee7; margin-bottom:2rem; }
.dk-inquiry-selection li { margin:.75rem 0; }
@media(max-width:900px) { .dk-planner-layout { grid-template-columns:1fr; } }
@media(max-width:540px) { .dk-planner-packages { grid-template-columns:1fr; } }
/* In-place menu previews keep exploration beside the choices. */
.dk-explorer-hint { font-size:.85rem; color:#55594f; margin:0 0 1rem; }
.dk-planner-options label:hover>span { border-color:#174f43; }
.dk-food-preview { margin-top:1.25rem; padding:clamp(1.25rem,2.5vw,2rem); background:#fbf8f0; border-top:1px solid #b69b61; border-radius:0 0 6px 6px; }
.dk-food-preview>h3 { font:400 2rem/1.2 Georgia,serif; margin:.5rem 0 1.25rem; }
.dk-food-preview>.dk-eyebrow { color:#806b3f; font-size:.65rem; }
.dk-food-preview-inclusions { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:1.25rem; }
.dk-food-preview-inclusions h4 { font:400 1.25rem/1.3 Georgia,serif; margin:0 0 .5rem; }
.dk-food-preview-inclusions p, .dk-food-preview>p { font-size:.875rem; line-height:1.65; color:#55594f; margin:0; }
.dk-food-preview-dishes { margin-top:1.25rem; border-top:1px solid #b69b6138; padding-top:1rem; }
.dk-food-preview-dishes>summary { color:#174f43; cursor:pointer; font-size:.875rem; padding:.4rem 0; }
.dk-food-preview-dishes .dk-menu-paper-dishes { text-align:left; padding-top:1rem; max-height:420px; overflow:auto; overscroll-behavior:contain; }
.dk-food-preview-dishes h3 { font-size:1.3rem; margin:1.5rem 0 .75rem; }
.dk-food-preview-dishes li, .dk-food-preview-dishes p { font-size:.875rem; line-height:1.7; }
.dk-food-preview .dk-food-highlights { margin-top:1.25rem; padding-top:1.25rem; border-top:1px solid #b69b6138; }
.dk-food-highlights strong { display:block; color:#806b3f; font-size:.65rem; text-transform:uppercase; letter-spacing:.12em; margin-bottom:.5rem; }
.dk-food-highlights span { display:block; }
/* Expanded choices read as a menu, with distinct course and package groups. */
.dk-food-preview-dishes>summary { display:flex; align-items:center; justify-content:space-between; list-style:none; font-weight:500; padding:.75rem 0; }
.dk-food-preview-dishes>summary::-webkit-details-marker { display:none; }
.dk-food-preview-dishes>summary::after { content:"+"; font:400 1.5rem Georgia,serif; }
.dk-food-preview-dishes[open]>summary::after { content:"−"; }
.dk-dish-sections { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2rem 2.5rem; padding:1.5rem 0 .5rem; text-align:left; }
.dk-dish-section { min-width:0; border-top:1px solid #b69b6150; padding-top:1.25rem; }
.dk-food-preview-dishes .dk-dish-section h3 { font:400 1.5rem/1.3 Georgia,serif; color:#174f43; margin:0 0 1rem; }
.dk-food-preview-dishes .dk-dish-section ul { list-style:none; padding:0; margin:0; }
.dk-food-preview-dishes .dk-dish-section li { text-align:left; margin:0; padding:.55rem 0; font-size:.9rem; line-height:1.65; color:#45483f; border-bottom:1px solid #b69b611c; }
.dk-food-preview-dishes .dk-dish-section li:last-child { border-bottom:0; }
.dk-food-preview-dishes .dk-dish-section p { text-align:left; margin:1.1rem 0 .5rem; color:#665b42; font-size:.85rem; font-weight:500; }
.dk-food-preview-dishes .dk-dish-section>p:first-child { margin-top:0; }
.dk-dish-section:only-child { grid-column:1/-1; }
.dk-dish-section:only-child>ul { columns:2; column-gap:2.5rem; }
.dk-dish-section li { break-inside:avoid; }
@media(max-width:640px) { .dk-dish-sections { grid-template-columns:1fr; gap:1.5rem; } .dk-dish-section:only-child>ul { columns:1; } }
/* Four expandable menu cards, arranged as a balanced two-by-two collection. */
.dk-menu-page .dk-menu-collection { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem; max-width:none; align-items:start; }
.dk-menu-collection>.dk-menu-detail { min-width:0; border:1px solid #b69b6145; border-radius:8px; background:#fbf8f0; overflow:hidden; }
.dk-menu-collection>.dk-menu-detail:last-child { border-bottom:1px solid #b69b6145; }
.dk-menu-collection>.dk-menu-detail>summary { min-height:170px; box-sizing:border-box; padding:2rem; gap:1.5rem; transition:background-color .18s ease; }
.dk-menu-collection>.dk-menu-detail>summary:hover { background:#eee9df; }
.dk-menu-collection>.dk-menu-detail>summary strong { font-size:clamp(1.8rem,2.5vw,2.5rem); }
.dk-menu-collection>.dk-menu-detail>summary .dk-menu-description { max-width:32rem; margin-top:.8rem; font-size:.9rem; line-height:1.6; }
.dk-menu-collection>.dk-menu-detail>summary .dk-menu-expand { flex-shrink:0; color:#174f43; }
.dk-menu-collection>.dk-menu-detail[open]>summary { border-bottom:1px solid #b69b6138; }
.dk-menu-collection>.dk-menu-detail>.dk-menu-content, .dk-menu-collection>#menu-platinum-package>.dk-menu-content { max-width:none; padding:0; }
.dk-menu-collection .dk-menu-paper { margin:0; padding:2.5rem clamp(1.25rem,3vw,2.5rem) 4rem; }
.dk-menu-collection .dk-menu-paper-heading h3 { font-size:clamp(1.8rem,3vw,2.6rem); }
.dk-menu-collection>.dk-menu-detail>summary:focus-visible { outline-offset:-4px; }
@media(max-width:700px) { .dk-menu-page .dk-menu-collection { grid-template-columns:1fr; gap:1rem; } .dk-menu-collection>.dk-menu-detail>summary { min-height:145px; padding:1.5rem; } }
@media(prefers-reduced-motion:reduce) { .dk-menu-collection>.dk-menu-detail>summary { transition:none; } }
.dk-connect-intro { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.85fr); gap:clamp(2rem,6vw,6rem); align-items:center; }
.dk-connect-intro h1 { margin-bottom:1.5rem; }
.dk-connect-intro h2 { font-size:clamp(1.5rem,2.5vw,2rem); margin-top:2.5rem; }
.dk-connect-intro p { max-width:36rem; line-height:1.75; }
.dk-connect-intro figure { margin:0; }
.dk-connect-intro img { width:100%; height:520px; object-fit:cover; border-radius:8px; }
.dk-connect .dk-contact-links { padding:0; margin:1.5rem 0; gap:1.5rem; }
.dk-connect .dk-contact-links a { color:#174f43; text-underline-offset:5px; }
.dk-connect .dk-connect-note { font-size:.8rem; color:#666358; }
.dk-connect-inquiry { background:#e9eee7; padding-block:3rem; display:flex; align-items:center; justify-content:space-between; gap:2rem; }
.dk-connect-inquiry h2 { font-size:clamp(2rem,3vw,3rem); margin:.5rem 0 1rem; }
.dk-connect-inquiry p { max-width:42rem; }
.dk-connect-inquiry .wp-block-button__link { white-space:nowrap; }
@media(max-width:780px) { .dk-connect-intro { grid-template-columns:1fr; } .dk-connect-intro img { height:360px; } .dk-connect-inquiry { flex-direction:column; align-items:flex-start; } }
/* Separate the introduction, direct inquiry and social links. */
.dk-connect-intro h1 { margin:.75rem 0 1.5rem; }
.dk-connect-contact { margin-top:2.5rem; padding:1.75rem 0 0; border-top:1px solid #b69b6180; }
.dk-connect-contact>.dk-eyebrow { color:#806b3f; margin:0 0 .75rem; }
.dk-connect-contact>p:not(.dk-eyebrow):not(.dk-connect-note) { font:400 1.35rem/1.5 Georgia,serif; margin:0 0 1.25rem; }
.dk-connect .dk-contact-links { display:grid; grid-template-columns:max-content max-content; justify-content:start; align-items:center; gap:1rem 1.5rem; list-style:none; }
.dk-connect .dk-contact-links li:first-child { grid-column:1/-1; margin-bottom:.5rem; }
.dk-connect .dk-contact-links li:first-child a { display:inline-flex; align-items:center; gap:1.5rem; background:#174f43; color:#f5f1e9; padding:1rem 1.5rem; text-decoration:none; font-size:.85rem; }
.dk-connect .dk-contact-links li:first-child a::after { content:"↗"; font-size:1.15rem; }
.dk-connect .dk-contact-links li:not(:first-child) a { font-size:.85rem; font-weight:400; text-decoration:underline; }
.dk-connect .dk-connect-note { max-width:28rem; margin-bottom:0; font-size:.75rem; line-height:1.6; }
.dk-connect-inquiry .wp-block-button__link { background:#174f43; color:#f5f1e9; border-radius:0; padding:1rem 1.5rem; }
/* Familiar app icons, with full accessible names on the links. */
.dk-connect .dk-contact-links { grid-template-columns:44px 44px; gap:1rem; }
.dk-connect .dk-contact-links li:first-child { width:max-content; }
.dk-connect .dk-contact-links li:not(:first-child) a.dk-social-app { display:flex; width:44px; height:44px; align-items:center; justify-content:center; border-radius:11px; color:#fff; text-decoration:none; box-sizing:border-box; transition:transform .18s ease,box-shadow .18s ease; }
.dk-social-app svg { width:32px; height:32px; display:block; }
.dk-connect .dk-contact-links a.dk-social-app-instagram { background:radial-gradient(circle at 30% 105%,#feda75 0%,#fa7e1e 28%,#d62976 56%,#962fbf 78%,#4f5bd5 100%); }
.dk-connect .dk-contact-links a.dk-social-app-facebook { background:#0866ff; }
.dk-connect .dk-contact-links a.dk-social-app:hover { transform:translateY(-2px); box-shadow:0 4px 12px #0002; }
.dk-connect .dk-contact-links a.dk-social-app:focus-visible { outline:2px solid #174f43; outline-offset:4px; }
@media(prefers-reduced-motion:reduce) { .dk-connect .dk-contact-links a.dk-social-app { transition:none; } .dk-connect .dk-contact-links a.dk-social-app:hover { transform:none; } }
/* Keep the direct contact and social actions together on one row. */
.dk-connect .dk-contact-links { display:flex; flex-wrap:wrap; align-items:center; gap:1rem; }
.dk-connect .dk-contact-links li:first-child { margin:0; }
.dk-connect .dk-contact-links a.dk-social-app-instagram { background:#111; color:#fff; }
/* Shared brand treatment for calls to action, separate from media controls. */
:root body .wp-site-blocks a:is(.wp-element-button,.wp-block-button__link,.dk-nav-cta .wp-block-navigation-item__content,.dk-connect .dk-contact-links li:first-child a) {
  display:inline-flex; align-items:center; justify-content:center; gap:.8rem;
  background:#174f43; background-image:none; color:#fff; border:1px solid transparent; border-radius:4px;
  padding:1rem 1.55rem; min-height:44px; box-sizing:border-box;
  font-family:Arial,sans-serif; font-size:.75rem; font-weight:600; line-height:1.4;
  text-transform:uppercase; letter-spacing:.09em; text-decoration:none;
  transition:background-color .2s ease,color .2s ease;
}
:root body .wp-site-blocks a:is(.wp-element-button,.wp-block-button__link,.dk-nav-cta .wp-block-navigation-item__content,.dk-connect .dk-contact-links li:first-child a):hover {
  background:#226556; background-image:none; color:#fff;
}
:root body .wp-site-blocks :is(.dk-connect-inquiry,.dk-home-inquiry,.dk-about-booking,.dk-menu-inquiry) a.wp-element-button {
  padding:1.3rem 1.9rem; font-size:.8rem; min-height:56px;
}
:root body .wp-site-blocks .dk-nav-cta .wp-block-navigation-item__content { padding:.85rem 1.1rem; font-size:.7rem; }
@media(prefers-reduced-motion:reduce) {
  :root body .wp-site-blocks a:is(.wp-element-button,.wp-block-button__link,.dk-nav-cta .wp-block-navigation-item__content,.dk-connect .dk-contact-links li:first-child a) { transition:none; }
}
:root body .wp-site-blocks :is(.dk-connect-inquiry,.dk-home-inquiry,.dk-about-booking,.dk-menu-inquiry) a:is(.wp-element-button,.wp-block-button__link,.dk-nav-cta .wp-block-navigation-item__content,.dk-connect .dk-contact-links li:first-child a) { padding:1.3rem 1.9rem; font-size:.8rem; min-height:56px; }
:root body .wp-site-blocks .dk-nav-cta a:is(.wp-block-navigation-item__content,.dk-connect .dk-contact-links li:first-child a) { padding:.85rem 1.1rem; font-size:.7rem; }
.dk-connect .dk-contact-links a.dk-social-app-facebook, .dk-connect .dk-contact-links a.dk-social-app-instagram { background:#174f43; color:#fff; }
.dk-connect .dk-contact-links a.dk-social-app:hover { background:#226556; }
.dk-inquiry-form-section { max-width:850px; margin:auto; }
.dk-inquiry-form-section h2 { font-size:clamp(2rem,4vw,3rem); margin:.5rem 0 1rem; }
.dk-inquiry-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem; margin-top:2rem; }
.dk-inquiry-field label { display:block; font-size:.85rem; font-weight:600; margin-bottom:.6rem; }
.dk-inquiry-field label small { font-weight:400; color:#777267; margin-left:.3rem; }
.dk-inquiry-field input,.dk-inquiry-field textarea { width:100%; box-sizing:border-box; border:1px solid #b6b7ac; border-radius:4px; padding:.9rem; font:inherit; color:#171914; background:#fbf8f0; min-height:48px; }
.dk-inquiry-field textarea { resize:vertical; }
.dk-inquiry-field input:focus,.dk-inquiry-field textarea:focus { outline:2px solid #174f43; outline-offset:2px; }
.dk-inquiry-field-wide { grid-column:1/-1; }
.dk-form-note { font-size:.8rem; color:#686458; line-height:1.6; margin:0 0 1.25rem; }
.dk-inquiry-submit { display:inline-flex; align-items:center; gap:1rem; background:#174f43; color:#fff; border:1px solid transparent; border-radius:4px; padding:1.3rem 1.9rem; font:600 .8rem/1.4 Arial,sans-serif; text-transform:uppercase; letter-spacing:.09em; cursor:pointer; transition:background-color .2s; }
.dk-inquiry-submit:hover { background:#226556; }
.dk-form-trap { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.dk-form-errors,.dk-form-success { padding:1.5rem; margin:1.5rem 0; border-left:3px solid #174f43; background:#e9eee7; }
.dk-form-errors { border-color:#9d4335; }
@media(max-width:600px) { .dk-inquiry-form { grid-template-columns:1fr; } }
@media(prefers-reduced-motion:reduce) { .dk-inquiry-submit { transition:none; } }
/* The shared inquiry panel opens without leaving the current page. */
.dk-inquiry-dialog { width:min(850px,calc(100vw - 2rem)); max-height:calc(100dvh - 3rem); box-sizing:border-box; border:1px solid #b69b6160; border-radius:8px; padding:clamp(1.5rem,4vw,3rem); background:#f5f1e9; color:#171914; overflow:auto; overscroll-behavior:contain; }
.dk-inquiry-dialog::backdrop { background:#050505bf; }
.dk-inquiry-close { position:sticky; top:0; display:flex; align-items:center; justify-content:center; margin:-.5rem -.5rem .5rem auto; width:44px; height:44px; border:1px solid #174f4340; border-radius:50%; background:#f5f1e9; color:#174f43; font-size:1.75rem; cursor:pointer; z-index:1; }
.dk-inquiry-dialog .dk-inquiry-form-section>h2 { margin-top:.5rem; }
:root body .wp-site-blocks .dk-connect .dk-contact-links li:first-child a { height:44px; min-height:44px; padding:0 1.25rem; }
@media(max-width:600px) { .dk-inquiry-dialog { max-height:calc(100dvh - 1rem); width:calc(100vw - 1rem); } }
.dk-inquiry-field select { width:100%; min-height:48px; box-sizing:border-box; border:1px solid #b6b7ac; border-radius:4px; padding:.9rem; font:inherit; color:#171914; background:#fbf8f0; }
.dk-inquiry-field select:focus { outline:2px solid #174f43; outline-offset:2px; }
.dk-field-error { margin:.5rem 0 0; color:#943e30; font-size:.8rem; line-height:1.5; }
.dk-field-error[hidden] { display:none; }
.dk-inquiry-field [aria-invalid="true"] { border-color:#943e30; }
.dk-inquiry-dialog { max-height:calc(100dvh - 2rem); scroll-padding-block:4rem 2rem; }
.dk-inquiry-dialog .dk-inquiry-field :is(input,select,textarea) { scroll-margin-block:5rem; }
@media(max-width:600px) { .dk-inquiry-dialog { max-height:calc(100dvh - 1rem); } .dk-inquiry-field :is(input,select,textarea) { font-size:16px; } }
/* A fixed modal header with an independently scrolling form body. */
.dk-inquiry-dialog { padding:0; height:min(900px,calc(100dvh - 2rem)); overflow:hidden; }
.dk-inquiry-dialog .dk-inquiry-form-section { display:flex; flex-direction:column; height:100%; max-width:none; min-height:0; }
.dk-inquiry-dialog .dk-inquiry-heading { flex:none; padding:1.75rem 5rem 1.25rem 2rem; border-bottom:1px solid #b69b6140; background:#f5f1e9; }
.dk-inquiry-heading>.dk-eyebrow { margin:0 0 .5rem; }
.dk-inquiry-dialog .dk-inquiry-heading>h2 { margin:0; font-size:clamp(1.8rem,3vw,2.5rem); }
.dk-inquiry-dialog .dk-inquiry-close { position:absolute; top:1rem; right:1rem; margin:0; }
.dk-inquiry-scroll { min-width:0; }
.dk-inquiry-dialog .dk-inquiry-scroll { flex:1; min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:1.25rem 2rem 2rem; scroll-padding-block:1rem; }
.dk-inquiry-scroll>p { margin:0 0 1.25rem; }
.dk-inquiry-form { gap:1.15rem 1.5rem; margin-top:1.25rem; }
.dk-inquiry-field label { margin-bottom:.45rem; }
.dk-field-error { margin-top:.35rem; }
.dk-inquiry-dialog .dk-inquiry-field :is(input,select,textarea) { scroll-margin-block:.75rem; }
@media(max-width:600px) { .dk-inquiry-dialog { height:calc(100dvh - 1rem); } .dk-inquiry-dialog .dk-inquiry-heading { padding:1.25rem 4.5rem 1rem 1.25rem; } .dk-inquiry-dialog .dk-inquiry-scroll { padding:1rem 1.25rem 1.5rem; } .dk-inquiry-dialog .dk-inquiry-close { top:.75rem; right:.75rem; } }
/* Use the original transparent HD crest, framing out its empty canvas in CSS. */
.dk-header .dk-brand-mark { position:relative; width:80px; height:62px; overflow:hidden; }
.dk-header .dk-brand-mark img, .dk-footer-crest .dk-brand-mark img { position:absolute; width:204.04%; max-width:none; height:149.38%; left:-48.35%; top:-21.44%; object-fit:fill; mix-blend-mode:normal; opacity:1; transition:none; }
.dk-header .dk-brand-mark img, .dk-header .dk-brand-mark:is(:hover,:focus-visible) img { filter:none; }
.dk-footer-crest, .dk-footer-crest .dk-brand-mark { mix-blend-mode:normal; }
.dk-footer-crest .dk-brand-mark { position:relative; width:100%; height:auto; aspect-ratio:941/723; overflow:hidden; }
.dk-footer-crest .dk-brand-mark img, .dk-footer-crest:hover img { filter:invert(1); opacity:1; }
@media(max-width:420px) { .dk-header .dk-brand-mark { width:60px; height:46px; } }
/* A smaller signature crest keeps the footer balanced. */
.dk-footer-crest { width:150px; }
@media(max-width:600px) { .dk-footer-crest { width:110px; } }
/* A legible footer with a restrained crest signature. */
.dk-footer-connect { gap:1.75rem 2rem; }
.dk-footer-email,.dk-footer-page-links,.dk-footer .dk-contact-links { font-size:1rem; line-height:1.7; }
.dk-footer-page-links { gap:1.75rem; }
.dk-footer .dk-contact-links { gap:1.25rem; margin:0 0 0 .5rem; align-items:center; }
.dk-footer .dk-social-app { display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; }
.dk-footer .dk-social-app svg { width:28px; height:28px; }
.dk-footer-crest .dk-brand-mark img,.dk-footer-crest:hover img { opacity:.7; }
.dk-footer-bottom { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:.75rem 2rem; }
.dk-footer-bottom p { font-size:.85rem; line-height:1.7; color:#c9c6be; margin:0; }
.dk-footer-bottom a { color:inherit; }
@media(max-width:600px) { .dk-footer-connect { gap:1.25rem 1.5rem; } .dk-footer .dk-contact-links { margin-left:0; } }
.dk-privacy { max-width:960px; margin-inline:auto; }
.dk-privacy h1 { margin:.75rem 0 2rem; }
.dk-privacy .wp-block-post-content h2 { font:400 clamp(1.5rem,2.5vw,2rem)/1.3 Georgia,serif; margin:2.5rem 0 1rem; color:#174f43; }
.dk-privacy .wp-block-post-content p { font-size:1rem; line-height:1.8; color:#45483f; }
/* An editorial gallery with real media and a quiet, browsable grid. */
.dk-gallery-heading { padding-bottom:2rem; }
.dk-gallery-heading h1 { max-width:14ch; }
.dk-gallery-heading>p:last-child { max-width:40rem; font-size:1.05rem; line-height:1.75; color:#56594e; }
.dk-gallery-content { padding-top:1rem; }
.dk-gallery-filters { display:flex; align-items:center; flex-wrap:wrap; gap:.75rem; padding-bottom:1.5rem; margin-bottom:2rem; border-bottom:1px solid #b69b6145; }
.dk-gallery-filters[hidden] { display:none; }
.dk-gallery-filters button { border:1px solid #174f4338; border-radius:4px; background:transparent; color:#174f43; padding:.8rem 1.25rem; min-height:44px; font:500 .85rem Arial,sans-serif; cursor:pointer; }
.dk-gallery-filters button[aria-pressed="true"] { background:#174f43; color:white; }
.dk-gallery-filters button:hover { border-color:#174f43; }
.dk-gallery-filters [data-gallery-count] { margin-left:auto; color:#706b5d; font-size:.8rem; }
.dk-gallery-grid>.dk-portfolio-tabs,.dk-gallery-grid .dk-reel-navigation { display:none; }
.dk-gallery-grid .dk-reel-track { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; overflow:visible; padding:0; scroll-snap-type:none; }
.dk-gallery-grid .dk-reel-card { width:auto; min-width:0; height:420px; margin:0; }
.dk-gallery-grid .dk-reel-card[data-media-kind="photos"]:nth-child(3n+1) { height:500px; }
.dk-gallery-grid .dk-reel-card[hidden] { display:none; }
.dk-gallery-grid .dk-reel-card figcaption { pointer-events:none; }
.dk-gallery-grid .dk-reel-card figcaption>span { display:none; }
.dk-gallery-grid .dk-reel-card figcaption h3 { font-size:clamp(1.3rem,2vw,1.8rem); }
.dk-gallery-grid .dk-reel-card img { transition:transform .35s ease; }
.dk-gallery-grid .dk-reel-card a:hover img { transform:scale(1.025); }
.dk-gallery-grid .dk-reel-booking { margin-top:3rem; }
@media(max-width:1000px) { .dk-gallery-grid .dk-reel-track { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .dk-gallery-grid .dk-reel-track { grid-template-columns:1fr; gap:1.25rem; } .dk-gallery-grid .dk-reel-card,.dk-gallery-grid .dk-reel-card[data-media-kind="photos"]:nth-child(3n+1) { height:420px; } .dk-gallery-filters [data-gallery-count] { width:100%; margin:.5rem 0 0; } }
@media(prefers-reduced-motion:reduce) { .dk-gallery-grid .dk-reel-card img { transition:none; } .dk-gallery-grid .dk-reel-card a:hover img { transform:none; } }
.dk-gallery-search { max-width:35rem; margin-bottom:1.25rem; }
.dk-gallery-search[hidden] { display:none; }
.dk-gallery-search label { display:block; font-size:.85rem; font-weight:600; margin-bottom:.6rem; color:#174f43; }
.dk-gallery-search>div { display:flex; gap:.75rem; align-items:center; }
.dk-gallery-search input { width:100%; min-width:0; min-height:48px; padding:.85rem 1rem; border:1px solid #174f4345; border-radius:4px; background:#fbf8f0; color:#171914; font:inherit; }
.dk-gallery-search button { flex-shrink:0; background:none; border:0; color:#174f43; text-decoration:underline; cursor:pointer; min-height:44px; }
.dk-gallery-empty { padding:2rem; background:#e9eee7; text-align:center; }
.dk-request-heading { padding-bottom:2rem; }
.dk-request-heading h1 { font-size:clamp(2.7rem,5vw,4.5rem); margin:1rem 0; }
.dk-request-heading>p:last-child { max-width:42rem; font-size:1.05rem; line-height:1.75; }
.dk-request-body { padding-top:1rem; }
.dk-request-body .dk-inquiry-form-section { padding:clamp(1.5rem,4vw,3rem); background:#fbf8f0; border:1px solid #b69b6140; border-radius:8px; }
.dk-form-group-heading { grid-column:1/-1; font:400 1.35rem/1.4 Georgia,serif; color:#174f43; padding-top:1.25rem; margin:.5rem 0 0; border-top:1px solid #b69b6145; }
.dk-form-group-heading:first-of-type { margin-top:0; padding-top:0; border:0; }
/* Natural media proportions, packed into a measured editorial masonry grid. */
.dk-gallery-grid .dk-reel-track { grid-auto-rows:1px; grid-auto-flow:dense; row-gap:0; column-gap:24px; align-items:start; }
.dk-gallery-grid .dk-reel-card,.dk-gallery-grid .dk-reel-card[data-media-kind="photos"]:nth-child(3n+1) { height:auto; aspect-ratio:var(--dk-media-ratio); align-self:start; }
.dk-gallery-grid .dk-reel-card :is(.dk-portfolio-enlarge,.dk-reel-video) { display:block; width:100%; height:100%; }
.dk-gallery-grid .dk-reel-card :is(img,video) { width:100%; height:100%; object-fit:contain; }
.dk-gallery-grid .dk-reel-card figcaption { padding:3.5rem 1.25rem 1.25rem; background:linear-gradient(transparent,#000a); }
.dk-gallery-filters { gap:1.75rem; padding-bottom:0; }
.dk-gallery-filters button { border:0; border-bottom:2px solid transparent; border-radius:0; background:transparent; padding:.8rem 0; color:#5d6055; font:400 .9rem Arial,sans-serif; }
.dk-gallery-filters button[aria-pressed="true"] { background:transparent; color:#174f43; border-bottom-color:#174f43; }
.dk-gallery-filters button:hover { color:#174f43; border-bottom-color:#174f4360; }
.dk-gallery-filters [data-gallery-count] { font-size:.75rem; }
.dk-viewer-stage .dk-viewer-video { max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; touch-action:pan-y; }
.dk-viewer-stage :is(img,video)[hidden] { display:none; }
.dk-gallery-grid .dk-reel-booking h3 { max-width:22ch; }
@media(max-width:600px) { .dk-gallery-grid .dk-reel-track { grid-auto-rows:auto; row-gap:24px; } .dk-gallery-grid .dk-reel-card,.dk-gallery-grid .dk-reel-card[data-media-kind="photos"]:nth-child(3n+1) { height:auto; } .dk-gallery-filters [data-gallery-count] { width:auto; margin:0 0 0 auto; } }
.dk-gallery-grid .dk-reel-card :is(img,video) { max-height:none; max-width:none; aspect-ratio:auto; }
.dk-gallery-grid .dk-reel-track.is-masonry { display:block; position:relative; }
.dk-gallery-grid .dk-reel-track.is-masonry>.dk-reel-card { position:absolute; }
/* Final gallery polish: immersive media, quiet controls and editorial search. */
.dk-gallery-grid .dk-viewer-stage { padding:32px 68px 8px; }
.dk-gallery-grid .dk-viewer-stage :is(img,.dk-viewer-video) { flex:none; max-width:100%; max-height:89dvh; object-fit:contain; }
.dk-gallery-grid .dk-viewer-meta { padding:8px 64px max(14px,env(safe-area-inset-bottom)); }
.dk-gallery-grid .dk-viewer-meta p { margin:.3rem auto 0; }
.dk-gallery-grid .dk-reel-toggle,.dk-gallery-grid .dk-reel-video.is-playing .dk-reel-toggle { opacity:1; }
.dk-gallery-grid .dk-reel-toggle>span { width:54px; height:54px; background:#08080870; border:1px solid #ffffffa0; font-size:18px; color:#fff; transition:background-color .18s ease,border-color .18s ease; }
.dk-gallery-grid .dk-reel-toggle:hover>span { background:#080808a0; border-color:#fff; }
.dk-gallery-grid .dk-reel-toggle:focus-visible>span { outline:2px solid #d6bf91; outline-offset:4px; }
.dk-gallery-grid .dk-reel-sound { top:12px; right:12px; }
.dk-gallery-grid .dk-reel-card a:focus-visible { outline:2px solid #d6bf91; outline-offset:-4px; }
.dk-gallery-grid .dk-gallery-search>div { position:relative; }
.dk-gallery-search-icon { position:absolute; left:1rem; top:50%; transform:translateY(-50%); width:17px; height:17px; fill:none; stroke:#68746a; stroke-width:1.6; stroke-linecap:round; pointer-events:none; }
.dk-gallery-grid .dk-gallery-search input { min-height:44px; padding:.75rem 1rem .75rem 2.75rem; border-color:#174f4330; background:#fbf8f080; border-radius:4px; font-size:.9rem; transition:border-color .18s ease,background-color .18s ease; }
.dk-gallery-grid .dk-gallery-search input:focus-visible { outline:2px solid #174f4340; outline-offset:2px; border-color:#174f43; background:#fbf8f0; box-shadow:none; }
.dk-gallery-filters button:focus-visible { outline:2px solid #174f43; outline-offset:5px; }
@media(max-width:780px) { .dk-gallery-grid .dk-viewer-stage { padding:48px 12px 8px; } .dk-gallery-grid .dk-viewer-meta { padding:8px 24px max(16px,env(safe-area-inset-bottom)); } }
@media(prefers-reduced-motion:reduce) { .dk-gallery-grid .dk-reel-toggle>span,.dk-gallery-grid .dk-gallery-search input { transition:none; } }
/* WordPress may add paragraph wrappers around shortcode controls. */
.dk-gallery-grid .dk-portfolio-dialog>br { display:none; }
.dk-gallery-grid .dk-portfolio-dialog>p { display:contents; }
.dk-gallery-grid .dk-viewer-stage { grid-area:1 / 1; }
.dk-gallery-grid .dk-viewer-meta { grid-area:2 / 1; }
/* Gallery thumbnails gently shift, while playback requires an explicit click. */
.dk-gallery-grid .dk-reel-card video { transition:transform .35s ease; transform-origin:center; }
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
  .dk-gallery-grid .dk-reel-video:hover video { transform:scale(1.025); }
}
@media(prefers-reduced-motion:reduce) { .dk-gallery-grid .dk-reel-card video { transition:none; transform:none; } }
/* Hover previews keep the card clickable while hiding the redundant play symbol. */
.dk-gallery-grid .dk-reel-video.is-playing .dk-reel-toggle { opacity:1; }
.dk-gallery-grid .dk-reel-video.is-playing .dk-reel-toggle>span { opacity:0; }
.dk-gallery-grid .dk-reel-toggle>span { transition:opacity .2s ease,background-color .18s ease,border-color .18s ease; }
@media(prefers-reduced-motion:reduce) { .dk-gallery-grid .dk-reel-toggle>span { transition:none; } }
/* A welcoming service portrait, framed around the face and dessert tray. */
.dk-connect-intro img.wp-image-70 { object-position:50% 57%; }
/* Two uncropped views of the chef: his presentation and the people he serves. */
.dk-connect-photos { display:grid; grid-template-columns:1.1fr .9fr; align-items:center; gap:1.25rem; }
.dk-connect-intro .dk-connect-photos figure { margin:0; min-width:0; }
.dk-connect-intro .dk-connect-photos img { display:block; width:100%; height:auto; max-height:none; object-fit:contain; border-radius:8px; }
.dk-connect-photos figcaption { font-size:.75rem; line-height:1.5; color:#706b5d; margin:.7rem 0 0; }
@media(max-width:780px) { .dk-connect-photos { grid-template-columns:1.1fr .9fr; } }
@media(max-width:420px) { .dk-connect-photos { gap:.75rem; } }
/* Give the paired chef portraits more presence while retaining their stagger. */
@media(min-width:1001px) {
  .dk-connect-photos { width:117%; margin-left:-17%; grid-template-columns:1.16fr .9fr; }
}
/* Align the shared footer content with the site's full-width section margins. */
.dk-footer-main,.dk-footer-bottom { max-width:none; margin-inline:0; }
/* A connected menu journey with photography and a quiet, useful summary. */
.dk-planner-layout { align-items:start; }
.dk-planner-summary { position:sticky; top:1.5rem; max-height:calc(100dvh - 3rem); overflow:auto; }
.dk-planner fieldset { margin-bottom:2.75rem; }
.dk-planner-options span { border-radius:4px; min-height:44px; box-sizing:border-box; display:flex; align-items:center; padding:.75rem 1rem; }
.dk-planner-options input:checked+span { background:#174f43; color:#fff; }
.dk-food-preview { display:flow-root; }
.dk-food-preview.has-food-photo { min-height:240px; }
.dk-planner-food-photo { float:right; width:40%; max-width:270px; height:230px; object-fit:cover; border-radius:6px; margin:0 0 1rem 1.5rem; }
.dk-food-preview>.dk-preview-kind { color:#806b3f; font-size:.7rem; text-transform:uppercase; letter-spacing:.1em; margin:0 0 1rem; }
.dk-food-preview>h3 { margin-bottom:.6rem; }
.dk-food-preview-dishes { clear:both; }
.dk-food-preview .dk-food-highlights { border-top:0; padding-top:0; margin-top:1rem; }
.dk-planner-step-note { grid-column:1/-1; font-size:.9rem; color:#55594f; line-height:1.7; margin:0 0 .5rem; }
.dk-planner-preference-label { display:block; font-size:.85rem; margin:1.5rem 0 .6rem; }
.dk-planner-preference-label span { color:#777267; margin-left:.4rem; font-size:.75rem; }
.dk-planner textarea { width:100%; box-sizing:border-box; resize:vertical; background:#fbf8f0; border:1px solid #174f4338; border-radius:4px; padding:.85rem; font:inherit; font-size:.9rem; line-height:1.6; }
.dk-planner textarea:focus-visible { outline:2px solid #174f43; outline-offset:3px; }
.dk-planner-summary [data-summary-empty],.dk-planner-summary [data-summary-recommendation] { color:#55594f; font-size:.85rem; line-height:1.65; }
.dk-planner-summary dd { overflow-wrap:anywhere; }
.dk-planner-summary dl:empty { display:none; }
.dk-inquiry-plan { background:#e9eee7; border-left:2px solid #b69b61; padding:1rem 1.25rem; }
.dk-inquiry-plan[hidden] { display:none; }
.dk-inquiry-plan [data-inquiry-plan-text] { white-space:pre-line; font-size:.85rem; line-height:1.6; margin:.75rem 0 0; }
@media(max-width:1100px) { .dk-planner-layout { grid-template-columns:1fr; } .dk-planner-summary { position:static; max-height:none; } }
@media(max-width:600px) { .dk-planner-food-photo { float:none; width:100%; max-width:none; height:220px; margin:0 0 1.25rem; } .dk-planner fieldset { margin-bottom:2rem; } .dk-planner textarea { font-size:16px; } }
/* Show the whole menu preview photograph rather than cropping its display. */
.dk-planner-food-photo { height:auto; object-fit:contain; }
@media(max-width:600px) { .dk-planner-food-photo { height:auto; max-height:none; } }
/* Preserve the complete portrait photograph in the Services & Menus introduction. */
.dk-menu-intro-photo { display:flex; align-items:center; justify-content:center; }
.dk-menu-intro-photo img { width:auto; max-width:100%; height:auto; max-height:520px; object-fit:contain; }
@media(max-width:780px) { .dk-menu-intro-photo img { height:auto; max-height:480px; } }
.dk-menu-intro-photo img { max-height:650px; }
@media(max-width:780px) { .dk-menu-intro-photo img { max-height:560px; } }
/* A three-photo editorial introduction with a restrained lift on hover. */
.dk-menu-hero-photos { display:grid; grid-template-columns:1.1fr 1fr; align-items:center; gap:1.25rem; }
.dk-menu-hero-photos .dk-menu-hero-photo { margin:0; position:relative; border-radius:8px; transition:transform .25s ease,box-shadow .25s ease; }
.dk-menu-hero-photo:first-child { grid-row:span 2; }
.dk-menu-hero-photo img { display:block; width:100%; height:auto; border-radius:8px; }
@media(hover:hover) and (prefers-reduced-motion:no-preference) { .dk-menu-hero-photo:hover { transform:translateY(-8px) scale(1.035); box-shadow:0 12px 28px #0002; z-index:1; } }
@media(max-width:780px) { .dk-menu-hero-photos { max-width:620px; width:100%; margin-inline:auto; gap:1rem; } }
@media(prefers-reduced-motion:reduce) { .dk-menu-hero-photos .dk-menu-hero-photo { transition:none; } }
/* Bring the introduction upward and add an entrée detail to the photo mix. */
.dk-menu-page .dk-page-heading { padding-block:clamp(2rem,3vw,2.8125rem); }
.dk-menu-hero-photo img.wp-image-19 { aspect-ratio:4/3; object-fit:cover; object-position:50% 40%; }
/* Package choices are part of the expanded editorial menu, not a second planner. */
.dk-expanded-package-group { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2rem 2.5rem; grid-column:1/-1; min-width:0; }
.dk-food-preview-dishes .dk-selectable-dish-package { border-top:1px solid #b69b6150; padding:1.25rem .9rem .75rem; border-radius:4px; cursor:pointer; outline:1px solid transparent; outline-offset:-1px; transition:background-color .18s ease,outline-color .18s ease; }
.dk-food-preview-dishes .dk-selectable-dish-package:hover { background:#174f4306; }
.dk-food-preview-dishes .dk-selectable-dish-package.is-selected { background:#174f430a; outline-color:#174f4380; border-top-color:#174f43; }
.dk-expanded-package-label { display:flex; align-items:baseline; gap:.7rem; cursor:pointer; }
.dk-expanded-package-label input { flex:none; width:16px; height:16px; accent-color:#174f43; margin:0; }
.dk-expanded-package-label input:focus-visible { outline:2px solid #174f43; outline-offset:4px; }
.dk-dish-sections>.dk-expanded-package-group:only-child { grid-column:1/-1; }
.dk-food-highlights[hidden] { display:none; }
@media(max-width:640px) { .dk-expanded-package-group { grid-template-columns:1fr; gap:1.5rem; } }
@media(prefers-reduced-motion:reduce) { .dk-food-preview-dishes .dk-selectable-dish-package { transition:none; } }

/* Shared, optional dish preferences in the existing menu planner. */
.dk-custom-group{border:0;border-top:1px solid #174f4329!important;padding:1.25rem 0!important;margin:1.25rem 0!important;min-width:0}
.dk-custom-group legend{font-family:var(--wp--preset--font-family--heading,Georgia,serif);font-size:1.4rem!important;padding-right:.75rem}
.dk-custom-guidance,.dk-custom-inclusions{font-size:.85rem;color:#58625c;line-height:1.6}
.dk-custom-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem 1.25rem}
.dk-custom-options label,.dk-custom-recommendation{display:flex;align-items:flex-start;gap:.6rem;font-size:.9rem;line-height:1.5;cursor:pointer}
.dk-custom-options input,.dk-custom-recommendation input{accent-color:#174f43;flex:none;margin-top:.25rem;width:16px;height:16px}
.dk-custom-options label:has(input:checked){color:#174f43}
.dk-custom-options label:has(input:disabled){opacity:.55;cursor:default}
.dk-custom-clear{border:0;background:none;padding:.5rem 0;color:#174f43;text-decoration:underline;cursor:pointer;font:inherit;font-size:.8rem}
.dk-custom-recommendation{margin:1.25rem 0}
.dk-custom-options input:focus-visible,.dk-custom-clear:focus-visible,.dk-custom-recommendation input:focus-visible{outline:2px solid #174f43;outline-offset:4px}
@media(max-width:640px){.dk-custom-options{grid-template-columns:1fr}}

/* Soft separators between the three planner steps, without changing their spacing. */
.dk-planner-layout > div > fieldset { position:relative; }
.dk-planner-layout > div > fieldset:not(:last-of-type)::after {
  content:"";
  position:absolute;
  inset-inline:0;
  bottom:-1.375rem;
  height:2px;
  background:linear-gradient(90deg,rgba(23,79,67,.12),rgba(23,79,67,.48) 8%,rgba(23,79,67,.48) 92%,rgba(23,79,67,.12));
  pointer-events:none;
}
@media(max-width:600px) {
  .dk-planner-layout > div > fieldset:not(:last-of-type)::after { bottom:-1rem; }
}

/* Step 2 owns package selection. Step 3 is a compact customization workspace. */
.dk-customization-intro h3{font:400 clamp(1.5rem,2.3vw,2rem)/1.2 Georgia,serif;margin:0 0 .6rem}
.dk-customization-intro p{margin:.5rem 0}
.dk-custom-options label{min-height:46px;padding:.65rem .75rem;box-sizing:border-box;border-radius:4px;transition:background-color .15s ease}
.dk-custom-options label:hover{background:#174f4309}
.dk-custom-options label:has(input:checked){background:#174f4310}
.dk-custom-options input,.dk-custom-recommendation input,.dk-expanded-package-label input{width:20px;height:20px;min-width:20px}
.dk-custom-options label:has(input:disabled):hover{background:none}
.dk-planner-layout > div > fieldset{margin-bottom:2rem}
.dk-planner-layout > div > fieldset:not(:last-of-type)::after{bottom:-1rem}
.dk-planner-food-photo.dk-food-photo-placeholder{aspect-ratio:4/3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;background:#e9e7df;border:1px solid #174f431a;border-radius:6px;padding:1.25rem;box-sizing:border-box;text-align:center;color:#647068;font-size:.75rem}
.dk-food-photo-placeholder > span:first-child{font-size:2rem;font-weight:300;color:#88968d}
@media(max-width:600px){.dk-planner-layout > div > fieldset{margin-bottom:1.5rem}.dk-planner-layout > div > fieldset:not(:last-of-type)::after{bottom:-.75rem}}
@media(prefers-reduced-motion:reduce){.dk-custom-options label{transition:none}}

/* Compact package comparison: shared inclusions once, differences at a glance. */
.dk-dish-sections:has(.dk-package-comparison){display:block}
.dk-package-shared{margin:0 0 1rem!important;padding:.8rem 0;border-bottom:1px solid #b69b6138;line-height:1.6}
.dk-package-shared strong,.dk-package-shared span{display:block;font-size:.82rem}
.dk-package-shared strong{color:#4c493f;margin-bottom:.2rem}
.dk-expanded-package-group.dk-package-comparison{grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;align-items:start}
.dk-food-preview-dishes .dk-package-comparison .dk-selectable-dish-package{padding:.9rem .75rem;background:transparent;border-top-color:#b69b6150}
.dk-food-preview-dishes .dk-package-comparison .dk-selectable-dish-package.is-selected{background:#f1ece0;outline-color:#9c895e;border-top-color:#9c895e}
.dk-package-comparison h3{font-size:1.2rem!important;margin:0 0 .8rem!important;color:#22251f!important}
.dk-package-counts{display:grid;grid-template-columns:1fr auto;gap:.4rem .6rem;margin:0;font-size:.8rem}
.dk-package-counts dt,.dk-package-counts dd{margin:0;color:#4b4c43;font-weight:400}
.dk-package-counts dd{font-weight:600;color:#25271f}
.dk-package-extra{font-size:.78rem!important;color:#71603d!important;line-height:1.5!important;margin:.75rem 0!important}
.dk-package-dish-options{margin-top:.8rem;border-top:1px solid #b69b612e;padding-top:.65rem}
.dk-package-dish-options summary,.dk-package-additions>summary{font-size:.78rem;color:#174f43;cursor:pointer}
.dk-package-dish-options p{font-size:.78rem!important;line-height:1.7!important;margin:.65rem 0!important}
.dk-package-additions{margin-top:1rem;padding-top:.75rem;border-top:1px solid #b69b6138}
.dk-package-additions .dk-dish-section{padding:.5rem 0;border:0}
/* Warm ivory distinguishes the customization workspace from the planner backdrop. */
.dk-planner-layout > div > fieldset.dk-custom-step{background:#fbf8f0;border:1px solid #b69b612e;padding:1.25rem 1.5rem 1.5rem;border-radius:6px}
.dk-planner .dk-custom-step > legend{padding:0 .5rem;margin:0 0 .35rem}
.dk-customization-intro h3{font-size:1.65rem}
.dk-custom-group-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;margin-top:1rem}
.dk-planner .dk-custom-group-layout .dk-custom-group{border:0!important;border-top:1px solid #d6cfbf!important;padding:.65rem 0 0!important;margin:0!important}
.dk-planner .dk-custom-group-layout legend{font-size:1.15rem!important;margin:0 0 .25rem;padding-right:.6rem}
.dk-custom-group-layout .dk-custom-guidance{margin:.25rem 0 .5rem;font-size:.78rem;color:#6d6a60}
.dk-custom-group-layout .dk-custom-options{grid-template-columns:1fr;gap:.2rem}
.dk-custom-options label{padding:.55rem .5rem}
.dk-custom-options label:has(input:checked){background:#eee8da;color:#282b22}
.dk-custom-options label:hover{background:#f1eee5}
.dk-custom-step .dk-custom-inclusions{color:#72664d;margin:.5rem 0;font-size:.8rem}
.dk-custom-step .dk-custom-recommendation{padding-top:.9rem;border-top:1px solid #d6cfbf;margin:1rem 0 .75rem}
.dk-custom-step .dk-planner-preference-label{margin-top:1rem}
@media(max-width:780px){.dk-expanded-package-group.dk-package-comparison{grid-template-columns:1fr}.dk-package-counts{grid-template-columns:1fr 1fr}.dk-custom-group-layout{grid-template-columns:1fr}.dk-planner-layout > div > fieldset.dk-custom-step{padding:1rem}}

/* Matching comparison rows and aligned disclosure controls across packages. */
.dk-expanded-package-group.dk-package-comparison{align-items:stretch}
.dk-food-preview-dishes .dk-package-comparison .dk-selectable-dish-package{display:flex;flex-direction:column}
.dk-package-comparison .dk-expanded-package-label{align-items:center;min-height:2.5rem}
.dk-package-comparison .dk-package-counts{row-gap:.55rem}
.dk-package-comparison .dk-package-extra{display:grid;grid-template-columns:1fr auto;gap:.6rem;align-items:start;min-height:1.5rem}
.dk-package-extra strong{font-weight:500;text-align:right}
.dk-package-comparison .dk-package-dish-options{margin-top:auto;padding-top:.7rem}

/* Keep Step 3's heading inside the panel and align its content with the food panel. */
.dk-planner-layout > div > fieldset.dk-custom-step{box-sizing:border-box;width:100%;padding:clamp(1.25rem,2.5vw,2rem)}
.dk-planner .dk-custom-step > legend{float:left;width:100%;box-sizing:border-box;padding:0;margin:0 0 1rem}
.dk-custom-step > .dk-customization-intro{clear:both}

/* Extra meat and side preferences stay optional and local to their checkbox. */
.dk-addition-option{min-width:0}
.dk-addition-followup{padding:.25rem .65rem 1rem 2.25rem}
.dk-addition-followup[hidden],.dk-addition-followup [hidden]{display:none}
.dk-addition-followup label{display:block;min-height:0;padding:.35rem 0;font-size:.78rem;color:#625e53;cursor:default}
.dk-addition-followup select,.dk-addition-followup input[type=text]{display:block;width:100%;box-sizing:border-box;min-height:44px;padding:.65rem .7rem;border:1px solid #cfc8b8;border-radius:4px;background:#fbf8f0;color:#24271f;font:inherit;font-size:.85rem}
.dk-addition-followup select:focus-visible,.dk-addition-followup input:focus-visible{outline:2px solid #174f43;outline-offset:3px}
@media(max-width:600px){.dk-addition-followup select,.dk-addition-followup input[type=text]{font-size:16px}}

.dk-chef-personal-quote{margin:2rem 0 0;padding-left:1.2rem;border-left:2px solid #b69b61;max-width:24rem}
.dk-chef-personal-quote p{font:400 clamp(1.35rem,2vw,1.8rem)/1.35 Georgia,serif;color:#544a34}
.dk-chef-personal-quote cite{font:400 .8rem/1.5 Arial,sans-serif;color:#6b675d}
.dk-chef-milestones figure{margin:0;max-width:480px;justify-self:center}
.dk-chef-milestones figure img{width:100%;height:auto;max-height:580px;object-fit:contain;border-radius:6px}
.dk-chef-milestones figcaption{font-size:.75rem;color:#b9b5a9;margin-top:.6rem}
