/*
Theme Name: Chef DB Miller
Description: A focused, responsive website for private chef services and weekly meals.
Version: 0.1.0
Text Domain: chefdbmiller
*/
:root{--ink:#203a32;--muted:#5c6860;--paper:#f8f6ef;--white:#fffef9;--line:#dadfd3;--accent:#b99a5c;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.65 var(--sans)}a{color:inherit;text-underline-offset:5px}img{max-width:100%;height:auto;display:block}button,input,textarea,select{font:inherit}a,button,input,textarea,select{outline-offset:5px}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #99722b}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.08;margin:0 0 24px;letter-spacing:-.035em}h1{font-size:clamp(46px,5.4vw,78px)}h2{font-size:clamp(34px,4vw,52px)}h3{font-size:30px}p{margin:0 0 22px}.wrap{width:min(1180px,calc(100% - 80px));margin-inline:auto}.eyebrow{display:block;color:#63765a;font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;margin-bottom:24px}.button{display:inline-flex;align-items:center;justify-content:center;gap:16px;padding:15px 24px;background:var(--ink);color:var(--white);font-size:13px;font-weight:700;text-decoration:none;border:1px solid var(--ink);border-radius:2px;min-height:48px;transition:background .15s}.button:hover{background:#355548}.button.secondary{background:transparent;color:var(--ink)}.button.secondary:hover{background:#e9ecdf}.text-link{display:inline-block;font-size:13px;font-weight:700;text-decoration:none;border-bottom:1px solid;padding:0 0 7px}.actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.skip-link{position:fixed;top:-100px;left:16px;padding:12px;background:white;z-index:1000}.skip-link:focus{top:12px}.site-header{background:var(--paper);border-bottom:1px solid var(--line);position:relative;z-index:5}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:100px;gap:24px}.brand{text-decoration:none;display:flex;flex-direction:column;line-height:1.2}.brand-title{font-family:var(--serif);font-size:30px;letter-spacing:-.035em}.brand-subtitle{font-size:9px;letter-spacing:.2em;text-transform:uppercase;margin-top:8px;color:var(--muted)}.header-right{display:flex;align-items:center;gap:32px}.site-nav ul{list-style:none;display:flex;gap:26px;margin:0;padding:0}.site-nav a{text-decoration:none;font-size:13px;padding-block:12px;display:block}.site-nav .current-menu-item>a{color:#627951;text-decoration:underline}.header-right>.button{padding:12px 19px;min-height:44px}.menu-toggle{display:none;background:none;border:1px solid var(--line);padding:8px 14px;min-height:44px;color:var(--ink)}.hero{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;padding-block:64px 72px}.hero-copy{padding-block:24px}.hero-copy p{max-width:440px;color:var(--muted);font-size:17px}.hero-copy h1 em{font-weight:400;color:#627951}.hero-photo{position:relative}.hero-photo img{height:545px;width:100%;object-fit:cover;object-position:center 56%;border-radius:180px 180px 2px 2px}.photo-note{position:absolute;bottom:22px;left:-24px;background:var(--white);border:1px solid var(--line);padding:16px 22px;display:flex;gap:14px;align-items:center;font-size:12px;box-shadow:0 8px 30px #1b30200a}.note-icon{font-family:var(--serif);font-size:28px;color:#7e8d67}.photo-note strong{display:block;font-weight:700}.photo-note span{display:block;color:var(--muted);font-size:11px}.service-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:19px 0}.service-strip .wrap{display:flex;justify-content:space-between;gap:20px;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.section{padding-block:88px}.section-intro{display:flex;align-items:end;justify-content:space-between;gap:48px;margin-bottom:36px}.section-intro h2{margin:0;max-width:510px}.section-intro p{max-width:350px;color:var(--muted);margin:0;font-size:15px}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.service-card{background:var(--white);border:1px solid var(--line)}.service-card>img{height:290px;width:100%;object-fit:cover}.service-card-body{padding:34px}.service-card-body .eyebrow{margin-bottom:16px;font-size:10px}.service-card-body p{color:var(--muted);font-size:15px;max-width:430px}.service-card-body h3{font-size:34px}.chef-section{background:#e9ede2}.chef-grid{display:grid;grid-template-columns:.85fr 1fr;gap:88px;align-items:center}.chef-grid>img{height:450px;width:100%;object-fit:cover;object-position:65% center;border-radius:2px}.chef-grid p{color:var(--muted);font-size:16px}.signature{font-family:var(--serif);font-style:italic;font-size:25px;margin-top:28px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:44px;margin-top:44px}.step{border-top:1px solid var(--line);padding-top:24px}.step-number{display:block;font-family:var(--serif);font-size:29px;color:#8a986e;margin-bottom:20px}.step h3{font-size:26px}.step p{font-size:15px;color:var(--muted)}.contact-band{background:var(--ink);color:var(--paper);padding-block:64px}.contact-band .wrap{display:flex;align-items:center;justify-content:space-between;gap:36px}.contact-band h2{margin-bottom:12px;font-size:42px}.contact-band p{color:#c8d3c5;margin:0}.contact-band .button{background:var(--paper);color:var(--ink);border-color:var(--paper);white-space:nowrap}.site-footer{padding:48px 0 24px}.footer-top{display:flex;justify-content:space-between;gap:28px;margin-bottom:36px}.footer-top p{color:var(--muted);font-size:13px;margin-top:14px}.footer-links{display:flex;gap:28px;align-items:start;flex-wrap:wrap;font-size:13px}.footer-bottom{border-top:1px solid var(--line);padding-top:20px;font-size:11px;color:var(--muted);display:flex;justify-content:space-between;gap:16px}.page-header{padding:60px 0 40px}.page-header h1{font-size:clamp(42px,5vw,66px);max-width:800px}.page-content{padding-bottom:80px}.page-content>p,.page-content>h2,.page-content>h3,.page-content>ul{max-width:780px}.page-content h2{margin-top:40px;font-size:36px}.page-content li{margin-bottom:10px}.page-content .wp-block-image{margin:24px 0}.page-content .wp-block-image img{max-height:480px;width:auto;object-fit:cover}.feature{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;margin:0 0 50px}.feature>img{width:100%;height:450px;object-fit:cover;border-radius:2px}.feature h2{margin-top:0}.info-panel{background:#e9ede2;border:1px solid var(--line);padding:30px;margin-top:28px}.info-panel h3{font-size:25px}.small-note{font-size:12px;color:var(--muted);margin-top:12px}.contact-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:72px}.contact-details{padding:30px;background:#e9ede2}.contact-details p{font-size:15px}.contact-form{background:var(--white);border:1px solid var(--line);padding:32px}.nf-form-content{max-width:none!important;padding:0!important}.nf-form-content label{font-size:14px!important;color:var(--ink)!important}.nf-form-content input:not([type=button]):not([type=submit]),.nf-form-content textarea,.nf-form-content select{background:var(--white)!important;border:1px solid #b5bfae!important;color:var(--ink)!important;border-radius:2px!important}.nf-form-content input[type=button],.nf-form-content input[type=submit]{background:var(--ink)!important;color:var(--white)!important;padding:14px 28px!important;cursor:pointer}.nf-form-fields-required{font-size:12px;margin-bottom:24px}.nf-error-msg{font-size:13px}.local-preview-note{font-size:12px;padding:10px 20px;text-align:center;background:#e9ede2;border-bottom:1px solid var(--line)}.wp-block-button__link{background:var(--ink);color:var(--white)}.empty-page{text-align:center;padding:90px 20px}.empty-page p{max-width:540px;margin:0 auto 24px}
@media(min-width:1500px){.hero{gap:100px}}@media(max-width:1000px){.wrap{width:calc(100% - 48px)}.hero{gap:40px}.hero-photo img{height:485px}.header-right{gap:20px}.site-nav ul{gap:16px}.chef-grid{gap:40px}.contact-layout{gap:32px}}@media(max-width:760px){.wrap{width:calc(100% - 36px)}.header-inner{min-height:82px}.brand-title{font-size:27px}.brand-subtitle{font-size:8px}.menu-toggle{display:block}.header-right>.button{display:none}.site-nav{display:none;position:absolute;top:82px;left:0;right:0;padding:16px 24px;background:var(--paper);border-bottom:1px solid var(--line)}.site-nav.is-open{display:block}.site-nav ul{display:block}.site-nav a{padding:14px;font-size:16px}.hero{grid-template-columns:1fr;padding-block:34px 48px;gap:28px}.hero-copy{padding-block:12px}.hero h1{font-size:53px}.hero-copy p{font-size:16px}.hero-photo img{height:400px;border-radius:140px 140px 2px 2px}.photo-note{left:12px;bottom:16px}.actions .button{flex:1;padding-inline:14px;gap:8px}.service-strip .wrap{justify-content:center;text-align:center;flex-wrap:wrap;gap:10px 22px;font-size:9px}.section{padding-block:54px}.section-intro{display:block;margin-bottom:28px}.section-intro p{margin-top:20px}.service-grid{grid-template-columns:1fr;gap:24px}.service-card>img{height:250px}.service-card-body{padding:26px}.chef-grid{grid-template-columns:1fr;gap:32px}.chef-grid>img{height:360px}.steps{grid-template-columns:1fr;gap:22px;margin-top:28px}.step{padding-top:18px}.step-number{margin-bottom:12px}.contact-band{padding-block:44px}.contact-band .wrap{display:block}.contact-band h2{font-size:35px}.contact-band .button{margin-top:24px}.footer-top,.footer-bottom{flex-direction:column}.footer-links{gap:18px}.page-header{padding-top:40px}.feature,.contact-layout{grid-template-columns:1fr;gap:30px}.feature>img{height:340px}.contact-form{padding:24px}.page-content{padding-bottom:48px}.page-content h2{font-size:31px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media(max-width:760px){.actions{align-items:stretch}.contact-details h3{font-size:30px}}
@media(min-width:761px){.site-nav .mobile-only{display:none}}
.service-card-body .service-minimum,.service-minimum{font-size:14px;color:var(--ink);margin:0 0 24px;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.staff-link{font-size:12px;white-space:nowrap;text-decoration:none;border-bottom:1px solid var(--line);padding:8px 0}.staff-link:hover{border-color:var(--ink)}@media(max-width:760px){.site-nav{top:100%}.header-inner{gap:12px;flex-wrap:wrap;padding-block:15px}.header-right{gap:12px}.staff-link{font-size:11px}.menu-toggle{font-size:13px}}@media(max-width:480px){.header-inner>.brand{flex-basis:100%}.header-right{width:100%;justify-content:space-between}}

.feature>img.chef-portrait{height:auto;object-fit:contain}


.chef-grid>img.chef-portrait{height:auto;object-fit:contain}


.chef-grid>img.chef-sushi{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;object-position:left center}


.contact-form .nf-form-content textarea{display:block;width:100%!important;max-width:100%;box-sizing:border-box;min-height:180px;resize:vertical}

/* Make each homepage service card one generous link target. */
.service-card{position:relative;transition:border-color .15s,box-shadow .15s}
.service-card .text-link::after{content:"";position:absolute;inset:0;z-index:1}
.service-card:hover{border-color:#63765a;box-shadow:0 4px 18px #203e3412}
.service-card:has(.text-link:focus-visible){outline:3px solid #99722b;outline-offset:5px}
.contact-form .nf-field-container[hidden]{display:none!important}
.inquiry-service-note{font-size:14px;padding:16px;background:var(--white);border-left:3px solid var(--sage);margin:0 0 24px}
.inquiry-service-note a{font-weight:700}

:root {
    --sage: #63765a;
    --sage-wash: #e9ede2;
    --control-radius: 10px;
    --panel-radius: 20px;
    --panel-shadow: 0 12px 32px #203a3210;
}
.button, .wp-block-button__link { border-radius: var(--control-radius); }
.button.secondary { background: var(--white); border-color: var(--sage); }
.button.secondary:hover { background: var(--sage-wash); }
.contact-layout { align-items: start; }
.contact-layout > .contact-form {
    background: transparent;
    border: 0;
    padding: 0;
}
@media (min-width: 761px) {
    .contact-layout > .contact-details { grid-area: 1 / 1; }
    .contact-layout > .contact-form { grid-area: 1 / 2; }
}
.service-card {
    border-radius: var(--panel-radius);
    box-shadow: var(--panel-shadow);
}
.service-card > img { border-radius: calc(var(--panel-radius) - 1px) calc(var(--panel-radius) - 1px) 0 0; }
.feature > img, .chef-grid > img.chef-sushi { border-radius: var(--panel-radius); }
.hero-photo img,
.feature > img,
.chef-grid > img.chef-sushi {
    box-shadow: 0 10px 24px rgba(32, 58, 50, 0.13);
}
.info-panel, .contact-details {
    border-radius: var(--panel-radius);
}
.info-panel { background: var(--white); }
.contact-details {
    background: var(--sage-wash);
}
.chef-section { background: var(--paper); }
.service-strip { background: var(--white); }
.site-footer { border-top: 1px solid var(--line); }
.page-content .contact-form h2 { margin-block: 0 10px; }
.contact-form > h2 + p { color: #526157; }
.contact-form .nf-form-content label { font-weight: 650; }
.contact-form .nf-form-content input:is([type=text], [type=email], [type=tel], [type=number]),
.contact-form .nf-form-content textarea {
    display: block;
    width: 100%;
    min-height: 48px;
    padding: 11px 14px;
    border-radius: var(--control-radius) !important;
    background: #f8faf5 !important;
    font-size: 16px !important;
}
.contact-form .nf-form-content textarea { min-height: 144px; }
.contact-form .nf-form-content input:focus-visible,
.contact-form .nf-form-content textarea:focus-visible { outline-offset: 2px; }
.contact-form .nf-form-content :is(.list-checkbox-wrap, .preview-services) ul {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 175px), 1fr));
    gap: 10px;
    padding: 0;
    margin: 0;
    list-style: none;
}
.contact-form .nf-form-content :is(.list-checkbox-wrap, .preview-services) li {
    background: #f8faf5;
    border: 1px solid #b5bfae;
    border-radius: var(--control-radius);
    margin: 0 !important;
    padding: 0 12px !important;
}
.contact-form .nf-form-content :is(.list-checkbox-wrap, .preview-services) li:has(input:checked) {
    background: #e8eedf;
    border-color: #63765a;
}
.contact-form .nf-form-content :is(.list-checkbox-wrap, .preview-services) li label {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 46px;
    padding-block: 7px;
}
.contact-form .nf-form-content :is(input[type=button], input[type=submit], button[type=submit], button.button) {
    min-height: 48px;
    border-radius: var(--control-radius) !important;
    font-weight: 700;
}
.contact-form .preview-services { border: 0; padding: 0; margin: 0 0 22px; min-width: 0; }
.contact-form .preview-services legend { font-size: 14px; font-weight: 650; margin-bottom: 8px; }
.contact-form .form-preview-note { font-size: 13px; color: #526157; }

@media (max-width: 760px) {
    .header-inner { display: block; min-height: 0; padding-block: 14px 0; }
    .header-inner > .brand { align-items: center; text-align: center; }
    .header-right { display: block; width: 100%; margin-top: 8px; }
    .site-nav { display: block; position: static; padding: 0; border: 0; }
    .site-nav ul { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0 4px; }
    .site-nav a { display: flex; align-items: center; min-height: 44px; padding: 8px 3px; font-size: 13px; }
    .staff-link { display: inline-flex; align-items: center; min-height: 44px; }

    .hero { padding-block: 24px 36px; gap: 24px; }
    .hero-copy { padding-block: 0; }
    .hero h1 { font-size: clamp(38px, 10vw, 53px); }
    .hero-photo img { height: auto; aspect-ratio: 4 / 5; }
    .hero .actions { display: grid; grid-template-columns: 1fr; }

    .page-header { padding-block: 24px 16px; }
    .page-header .eyebrow { margin-bottom: 8px; }
    .page-header h1 { font-size: clamp(34px, 8vw, 46px); margin-bottom: 0; }
    .feature, .contact-layout { gap: 20px; }
    .feature { margin-bottom: 20px; }
    .feature > img { height: auto; }
    .feature .button { width: 100%; }
    .page-content .info-panel { min-width: 0; margin-top: 0; padding: 20px; }
    .page-content { overflow-wrap: anywhere; }
    .contact-layout > * { min-width: 0; }
    .contact-layout > .contact-form { order: -1; }
    .contact-layout > .contact-details { padding: 20px; }
    .contact-form .nf-form-content input:not([type=checkbox]):not([type=radio]):not([type=hidden]),
    .contact-form .nf-form-content textarea,
    .contact-form .nf-form-content select { min-height: 44px; font-size: 16px !important; }
    .contact-form .nf-form-content input[type=submit],
    .contact-form .nf-form-content button[type=submit],
    .contact-form button.button { width: 100%; }
    .contact-form .nf-form-content .list-checkbox-wrap li label { display: inline-block; padding-block: 8px; }
}

.text-link {
    border-bottom: 0;
    text-decoration: underline;
    text-decoration-thickness: 1px;
}

/* Keep the same interaction cues across navigation, content and forms. */
@media (hover: hover) {
    a:not(.button, .wp-block-button__link, .brand):hover {
        text-decoration-thickness: 2px;
    }
    .site-nav a:hover { text-decoration-line: underline; }
    .brand:hover .brand-title { color: #355548; }
    .contact-band .button:hover { background: var(--sage-wash); }
    .wp-block-button__link:hover {
        background: #355548;
        color: var(--white);
    }
    .contact-form .nf-form-content :is(input[type=button], input[type=submit], button[type=submit]):enabled:hover {
        background: #355548 !important;
    }
    .contact-form .nf-form-content :is(.list-checkbox-wrap, .preview-services) li:hover {
        border-color: var(--sage);
    }
    .service-card:hover .text-link { text-decoration-thickness: 2px; }
}

.contact-form .nf-form-content :is(.list-checkbox-wrap, .preview-services) li:has(input:focus-visible) {
    outline: 3px solid #99722b;
    outline-offset: 2px;
}
