/* ═══════════════════════════════════════════════════════════════
   A Pinch of Salt — CHEF'S TABLE sections (scoped .ct-page.page-chef)
   ═══════════════════════════════════════════════════════════════ */

/* hero */
.ct-page.page-chef .hero{position:relative;padding:140px var(--pad) clamp(80px,9vw,140px);background:radial-gradient(ellipse 80% 50% at 80% 90%, rgba(125,148,108,0.22), transparent 60%),radial-gradient(ellipse 60% 40% at 10% 20%, rgba(232,200,140,0.18), transparent 60%),var(--cream);overflow:hidden}
.ct-page.page-chef .hero-grid{display:grid;grid-template-columns:1.2fr 0.8fr;gap:60px;align-items:end;max-width:1320px;margin:0 auto}
.ct-page.page-chef .hero-grid > *{min-width:0}
@media (max-width:900px){.ct-page.page-chef .hero-grid{grid-template-columns:1fr;gap:40px}}
.ct-page.page-chef .crumb{display:flex;gap:14px;align-items:center;font-family:var(--mono);font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:36px}
.ct-page.page-chef .crumb a{color:var(--sage-deep)}
.ct-page.page-chef .crumb a:hover{color:var(--ink)}
.ct-page.page-chef .crumb span{opacity:0.4}
.ct-page.page-chef .hero h1{margin-top:24px;font-size:clamp(48px,7vw,108px);font-weight:300;letter-spacing:-0.015em;line-height:1.02;padding-bottom:0.08em}
.ct-page.page-chef .hero h1 em{font-style:italic;color:var(--sage-deep)}
.ct-page.page-chef .hero .lede{margin-top:44px;max-width:50ch}
.ct-page.page-chef .hero .cta-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:42px}
.ct-page.page-chef .hero-side{aspect-ratio:3/4;background:repeating-linear-gradient(45deg, rgba(76,99,66,0.10) 0 2px, transparent 2px 18px),linear-gradient(180deg, var(--cream-2), var(--cream-3));border:1px solid rgba(27,30,24,0.10);display:flex;align-items:flex-end;padding:24px;position:relative;overflow:hidden}
.ct-page.page-chef .hero-side::before{content:"";position:absolute;inset:14px;border:1px solid rgba(253,246,228,0.5)}
.ct-page.page-chef .hero-side img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ct-page.page-chef .hero-side .tag{position:relative;font-family:var(--mono);font-size:10px;letter-spacing:0.18em;text-transform:uppercase;color:var(--ink);background:rgba(253,246,228,0.85);padding:5px 10px}
.ct-page.page-chef .hero-meta{margin-top:60px;display:flex;flex-wrap:wrap;gap:32px 48px;font-family:var(--mono);font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:var(--ink-soft)}
.ct-page.page-chef .hero-meta .label{display:block;color:var(--sage-deep);margin-bottom:4px}
.ct-page.page-chef .hero-mark{position:absolute;right:var(--pad);top:140px;font-family:var(--mono);font-size:11px;letter-spacing:0.22em;text-transform:uppercase;color:var(--sage-deep);writing-mode:vertical-rl;transform:rotate(180deg)}
@media (max-width:900px){.ct-page.page-chef .hero-mark{display:none}}

/* concept */
.ct-page.page-chef .concept{background:var(--paper);position:relative}
.ct-page.page-chef .concept-head{display:grid;grid-template-columns:1fr 1.4fr;gap:60px;align-items:end;margin-bottom:80px}
@media (max-width:900px){.ct-page.page-chef .concept-head{grid-template-columns:1fr;gap:30px}}
.ct-page.page-chef .concept-head h2{margin-top:18px}
.ct-page.page-chef .concept-head h2 em{font-style:italic;color:var(--sage-deep)}
.ct-page.page-chef .concept-grid{display:grid;grid-template-columns:1.1fr 0.9fr;gap:60px;align-items:start}
@media (max-width:900px){.ct-page.page-chef .concept-grid{grid-template-columns:1fr}}
.ct-page.page-chef .concept-body p{margin-bottom:24px;line-height:1.7;color:var(--ink-soft);font-size:17px}
.ct-page.page-chef .concept-body p:first-child::first-letter{font-family:var(--serif);font-size:64px;float:left;line-height:0.85;padding:6px 12px 0 0;color:var(--sage-deep)}
.ct-page.page-chef .concept-body .quote{margin:36px 0;padding:20px 0 20px 30px;border-left:1px solid var(--sage-deep);font-family:var(--serif);font-style:italic;font-size:24px;line-height:1.35;color:var(--ink)}
.ct-page.page-chef .sketch{position:relative;background:var(--cream);border:1px solid rgba(27,30,24,0.1);padding:36px;min-height:540px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}
.ct-page.page-chef .sketch .grid-bg{position:absolute;inset:0;background-image:linear-gradient(rgba(76,99,66,0.06) 1px, transparent 1px),linear-gradient(90deg, rgba(76,99,66,0.06) 1px, transparent 1px);background-size:32px 32px;pointer-events:none}
.ct-page.page-chef .sketch .label{position:relative;font-family:var(--mono);font-size:10px;letter-spacing:0.18em;text-transform:uppercase;color:var(--sage-deep)}
.ct-page.page-chef .sketch .ph{position:relative;flex:1;margin:30px 0;background:repeating-linear-gradient(45deg, rgba(76,99,66,0.08) 0 2px, transparent 2px 18px);border:1px dashed rgba(76,99,66,0.4);display:flex;align-items:center;justify-content:center}
.ct-page.page-chef .sketch .ph span{font-family:var(--mono);font-size:10px;letter-spacing:0.18em;text-transform:uppercase;color:var(--sage-deep);background:var(--cream);padding:4px 10px}
.ct-page.page-chef .sketch .annot{position:relative;display:flex;justify-content:space-between;font-family:var(--mono);font-size:10px;letter-spacing:0.15em;text-transform:uppercase;color:var(--ink-soft);opacity:0.7}

/* occasions */
.ct-page.page-chef .occasions{background:var(--cream)}
.ct-page.page-chef .occ-head{text-align:center;max-width:720px;margin:0 auto 70px}
.ct-page.page-chef .occ-head h2{margin-top:18px}
.ct-page.page-chef .occ-head .lede{margin:24px auto 0}
.ct-page.page-chef .occ-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1px;background:rgba(27,30,24,0.1);border:1px solid rgba(27,30,24,0.1)}
.ct-page.page-chef .occ{background:var(--paper);padding:32px 26px;display:flex;flex-direction:column;gap:10px;transition:background .25s;min-height:200px;justify-content:flex-end}
.ct-page.page-chef .occ:hover{background:var(--cream)}
.ct-page.page-chef .occ .num{font-family:var(--mono);font-size:11px;letter-spacing:0.18em;color:var(--sage-deep)}
.ct-page.page-chef .occ .title{font-family:var(--serif);font-size:24px;line-height:1.15;margin-top:auto}
.ct-page.page-chef .occ .sub{font-size:13px;color:var(--ink-soft);line-height:1.5}

/* how it works */
.ct-page.page-chef .how{background:var(--paper)}
.ct-page.page-chef .how-head{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:60px}
@media (max-width:900px){.ct-page.page-chef .how-head{grid-template-columns:1fr;gap:24px}}
.ct-page.page-chef .how-head h2{margin-top:18px}
.ct-page.page-chef .steps{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(27,30,24,0.12);border-bottom:1px solid rgba(27,30,24,0.12)}
@media (max-width:900px){.ct-page.page-chef .steps{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.ct-page.page-chef .steps{grid-template-columns:1fr}}
.ct-page.page-chef .step{padding:40px 28px 36px;border-right:1px solid rgba(27,30,24,0.12);display:flex;flex-direction:column;gap:14px}
.ct-page.page-chef .step:last-child{border-right:none}
@media (max-width:900px){.ct-page.page-chef .step:nth-child(2){border-right:none}.ct-page.page-chef .step:nth-child(3){border-right:1px solid rgba(27,30,24,0.12);border-top:1px solid rgba(27,30,24,0.12)}.ct-page.page-chef .step:nth-child(4){border-top:1px solid rgba(27,30,24,0.12)}}
@media (max-width:600px){.ct-page.page-chef .step{border-right:none;border-top:1px solid rgba(27,30,24,0.12)}.ct-page.page-chef .step:first-child{border-top:none}}
.ct-page.page-chef .step-num{font-family:var(--mono);font-size:11px;letter-spacing:0.2em;color:var(--sage-deep)}
.ct-page.page-chef .step-title{font-family:var(--serif);font-size:26px;line-height:1.15;font-weight:400}
.ct-page.page-chef .step-desc{font-size:14px;color:var(--ink-soft);line-height:1.6}

/* included */
.ct-page.page-chef .included{background:var(--cream);padding:clamp(60px,7vw,100px) 0}
.ct-page.page-chef .ct-inc-head{margin-bottom:50px}
.ct-page.page-chef .ct-inc-head h2{margin-top:14px;max-width:24ch}
.ct-page.page-chef .included-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px}
@media (max-width:900px){.ct-page.page-chef .included-grid{grid-template-columns:1fr}}
.ct-page.page-chef .inc-card{background:var(--paper);border:1px solid rgba(27,30,24,0.1);padding:34px 28px;display:flex;flex-direction:column;gap:14px}
.ct-page.page-chef .inc-card .num{font-family:var(--mono);font-size:11px;letter-spacing:0.2em;color:var(--sage-deep)}
.ct-page.page-chef .inc-card h3{font-family:var(--serif);font-size:28px;line-height:1.1;font-weight:400}
.ct-page.page-chef .inc-card p{font-size:15px;color:var(--ink-soft);line-height:1.6}

/* sample menus */
.ct-page.page-chef .menus{background:var(--paper)}
.ct-page.page-chef .menus-head{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:60px}
@media (max-width:900px){.ct-page.page-chef .menus-head{grid-template-columns:1fr;gap:24px}}
.ct-page.page-chef .menus-head h2{margin-top:18px}
.ct-page.page-chef .menu-card{background:var(--cream);border:1px solid rgba(27,30,24,0.1);padding:42px;margin-bottom:18px;display:grid;grid-template-columns:0.7fr 1.3fr;gap:50px;align-items:center;transition:background .3s,transform .3s}
@media (max-width:760px){.ct-page.page-chef .menu-card{grid-template-columns:1fr;gap:24px;padding:30px}}
.ct-page.page-chef .menu-card:hover{background:var(--paper);transform:translateY(-2px)}
.ct-page.page-chef .menu-meta{display:flex;flex-direction:column;gap:8px}
.ct-page.page-chef .menu-meta .for{font-family:var(--mono);font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:var(--sage-deep)}
.ct-page.page-chef .menu-meta h3{font-family:var(--serif);font-size:30px;line-height:1.1;font-weight:400}
.ct-page.page-chef .menu-meta h3 em{font-style:italic}
.ct-page.page-chef .menu-meta .when{font-size:13px;color:var(--ink-soft);margin-top:4px}
.ct-page.page-chef .menu-courses{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;font-size:15px;line-height:1.55}
.ct-page.page-chef .menu-courses .roman{font-family:var(--mono);font-size:11px;letter-spacing:0.15em;text-transform:uppercase;color:var(--sage-deep);padding-top:4px}
.ct-page.page-chef .menu-courses .dish{color:var(--ink)}
.ct-page.page-chef .menu-courses .dish em{font-style:italic;color:var(--ink-soft);display:block;font-size:13px;margin-top:2px}

/* enquire / form */
.ct-page.page-chef .enquire{background:radial-gradient(ellipse 60% 50% at 80% 100%, rgba(125,148,108,0.20), transparent 60%),radial-gradient(ellipse 50% 40% at 10% 0%, rgba(232,200,140,0.16), transparent 60%),var(--cream);position:relative}
.ct-page.page-chef .enquire-head{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:60px;position:relative}
@media (max-width:900px){.ct-page.page-chef .enquire-head{grid-template-columns:1fr;gap:24px}}
.ct-page.page-chef .enquire-head h2{margin-top:18px}
.ct-page.page-chef .enquire-head h2 em{font-style:italic;color:var(--sage-deep)}
.ct-page.page-chef .form-card{background:var(--paper);border:1px solid rgba(27,30,24,0.1);padding:clamp(32px,4vw,56px)}
.ct-page.page-chef .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
@media (max-width:680px){.ct-page.page-chef .form-grid{grid-template-columns:1fr}}
.ct-page.page-chef .field{display:flex;flex-direction:column;gap:8px}
.ct-page.page-chef .field.full{grid-column:1 / -1}
.ct-page.page-chef .field label{font-family:var(--mono);font-size:10px;letter-spacing:0.18em;text-transform:uppercase;color:var(--sage-deep)}
.ct-page.page-chef .field input,.ct-page.page-chef .field select,.ct-page.page-chef .field textarea{background:transparent;border:none;border-bottom:1px solid rgba(27,30,24,0.2);padding:10px 0 12px;font-family:var(--sans);font-size:16px;color:var(--ink);transition:border-color .25s;border-radius:0}
.ct-page.page-chef .field input:focus,.ct-page.page-chef .field select:focus,.ct-page.page-chef .field textarea:focus{outline:none;border-bottom-color:var(--sage-deep)}
.ct-page.page-chef .field textarea{min-height:90px;resize:vertical}
.ct-page.page-chef .field select{appearance:none}
.ct-page.page-chef .form-foot{margin-top:36px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px}
.ct-page.page-chef .form-foot .note{font-family:var(--mono);font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-soft);max-width:36ch}
/* CF7 / WPForms bridge */
.ct-page.page-chef .form-card .wpcf7-form p{margin:0}
.ct-page.page-chef .form-card .wpcf7 input:not([type=submit]):not([type=checkbox]):not([type=radio]),.ct-page.page-chef .form-card .wpcf7 select,.ct-page.page-chef .form-card .wpcf7 textarea,.ct-page.page-chef .form-card .wpforms-field input,.ct-page.page-chef .form-card .wpforms-field select,.ct-page.page-chef .form-card .wpforms-field textarea{background:transparent;border:none;border-bottom:1px solid rgba(27,30,24,0.2);padding:10px 0 12px;font-family:var(--sans);font-size:16px;color:var(--ink);border-radius:0;width:100%}
.ct-page.page-chef .form-card .wpcf7 label,.ct-page.page-chef .form-card .wpforms-field-label{font-family:var(--mono);font-size:10px;letter-spacing:0.18em;text-transform:uppercase;color:var(--sage-deep);font-weight:400}
.ct-page.page-chef .form-card .wpcf7 input[type=submit],.ct-page.page-chef .form-card .wpforms-submit{display:inline-flex;align-items:center;gap:14px;padding:14px 22px;font-family:var(--sans);font-weight:400;font-size:14px;letter-spacing:0.08em;text-transform:uppercase;border:1px solid var(--ink);background:var(--ink);color:var(--paper);border-radius:var(--rad);cursor:pointer}
.ct-page.page-chef .form-card .wpcf7 input[type=submit]:hover,.ct-page.page-chef .form-card .wpforms-submit:hover{background:transparent;color:var(--ink)}

/* faq */
.ct-page.page-chef .faq{background:var(--cream)}
.ct-page.page-chef .faq-head{text-align:center;margin-bottom:50px}
.ct-page.page-chef .faq-head h2{margin-top:18px}
.ct-page.page-chef .faq-list{max-width:840px;margin:0 auto;border-top:1px solid rgba(27,30,24,0.12)}
.ct-page.page-chef .faq-item{border-bottom:1px solid rgba(27,30,24,0.12);padding:24px 0}
.ct-page.page-chef .faq-item summary{display:flex;justify-content:space-between;align-items:flex-start;gap:30px;cursor:pointer;list-style:none;font-family:var(--serif);font-size:clamp(20px,2vw,26px);font-weight:400;transition:color .25s}
.ct-page.page-chef .faq-item summary::-webkit-details-marker{display:none}
.ct-page.page-chef .faq-item summary:hover{color:var(--sage-deep)}
.ct-page.page-chef .faq-item .plus{flex-shrink:0;width:24px;height:24px;position:relative;margin-top:8px}
.ct-page.page-chef .faq-item .plus::before,.ct-page.page-chef .faq-item .plus::after{content:"";position:absolute;background:var(--ink-soft);left:50%;top:50%}
.ct-page.page-chef .faq-item .plus::before{width:14px;height:1px;transform:translate(-50%,-50%)}
.ct-page.page-chef .faq-item .plus::after{width:1px;height:14px;transform:translate(-50%,-50%);transition:transform .25s}
.ct-page.page-chef .faq-item[open] .plus::after{transform:translate(-50%,-50%) rotate(90deg);opacity:0}
.ct-page.page-chef .faq-item .answer{margin-top:16px;color:var(--ink-soft);line-height:1.65;font-size:16px;max-width:64ch}

/* other side (dark) */
.ct-page.page-chef .other-side{background:var(--moss-darkest);color:var(--paper);padding:clamp(80px,9vw,140px) 0;position:relative;overflow:hidden}
.ct-page.page-chef .other-side::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 60% 50% at 30% 50%, rgba(232,200,140,0.16), transparent 60%);pointer-events:none}
.ct-page.page-chef .other-side-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;position:relative}
@media (max-width:900px){.ct-page.page-chef .other-side-grid{grid-template-columns:1fr;gap:30px}}
.ct-page.page-chef .other-side .eyebrow{color:var(--gold-soft)}
.ct-page.page-chef .other-side h2{font-family:var(--serif);font-size:clamp(38px,5vw,68px);font-weight:300;line-height:1;margin-top:18px;color:var(--paper)}
.ct-page.page-chef .other-side h2 em{font-style:italic;color:var(--gold-soft)}
.ct-page.page-chef .other-side p{color:rgba(251,248,242,0.78);line-height:1.6;margin-top:24px;max-width:48ch}
.ct-page.page-chef .other-side .cta{margin-top:30px}
