/* Distill Works design system, RESTAURANT service pages (3). With ds-core. Scoped body.page-restaurant.
 * Styles the generic legacy section classes these pages use. Form + overlay reuse ds-core. */

body.page-restaurant .hero{padding:54px 0 50px; text-align:center; border-bottom:1px solid var(--hair);}
body.page-restaurant .hero-content{max-width:820px; margin:0 auto;}
body.page-restaurant .hero h1{font-size:clamp(32px,4.2vw,50px); line-height:1.08; margin:0 auto 20px; max-width:22ch;}
body.page-restaurant .hero h1 .highlight{color:var(--green); font-style:italic;}
body.page-restaurant .hero-subtitle{font-size:17.5px; color:var(--ink-soft); max-width:64ch; margin:0 auto 30px;}
body.page-restaurant .hero-stats{display:flex; justify-content:center; gap:48px; flex-wrap:wrap;}
body.page-restaurant .stat-number{display:block; font-family:'Spectral',serif; font-size:26px; color:var(--green); line-height:1;}
body.page-restaurant .stat-label{display:block; font-size:13px; color:var(--muted); margin-top:5px;}

body.page-restaurant .section{padding:62px 0; border-top:1px solid var(--hair);}
body.page-restaurant .section--alt{background:var(--paper2);}
body.page-restaurant .section > .container > h2{font-size:clamp(24px,2.8vw,32px); line-height:1.2; margin:0 0 14px; max-width:34ch;}
body.page-restaurant .section > .container > p{font-size:16px; color:var(--ink-soft); max-width:80ch; margin:0 0 16px;}
body.page-restaurant .section-subtitle{font-size:16px; color:var(--muted); max-width:62ch; margin:0 0 36px;}

body.page-restaurant .features-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:32px;}
body.page-restaurant .feature-card h3,body.page-restaurant .feature-card h4{font-size:16px; margin:0 0 8px;}
body.page-restaurant .feature-card p{font-size:14.5px; color:var(--ink-soft); margin:0;}

body.page-restaurant .steps{display:grid; grid-template-columns:repeat(3,1fr); gap:36px;}
body.page-restaurant .step-number{font-family:'Spectral',serif; font-size:22px; color:var(--green); margin-bottom:10px;}
body.page-restaurant .step h3{font-size:18px; margin:0 0 8px;}
body.page-restaurant .step p{font-size:14.5px; color:var(--ink-soft); margin:0;}

/* pricing */
body.page-restaurant .pricing-section{padding:64px 0; border-top:1px solid var(--hair);}
body.page-restaurant .pricing-section > .container > h2{font-size:clamp(24px,2.8vw,32px); margin:0 0 12px;}
body.page-restaurant .pricing-subtitle{font-size:16px; color:var(--muted); max-width:64ch; margin:0 0 40px;}
body.page-restaurant .pricing-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:26px; max-width:920px;}
body.page-restaurant .pricing-card{border:1px solid var(--hair); border-radius:8px; padding:34px 30px; background:var(--card); position:relative; display:flex; flex-direction:column;}
body.page-restaurant .pricing-card.featured{border-color:var(--green);}
body.page-restaurant .pricing-card-badge{display:inline-block; font-size:11px; text-transform:uppercase; letter-spacing:.1em; color:var(--green); margin-bottom:12px;}
body.page-restaurant .pricing-card h3{font-size:14px; text-transform:uppercase; letter-spacing:.08em; color:var(--muted); margin:0 0 8px;}
body.page-restaurant .pricing-card .tagline{font-size:14px; color:var(--muted); margin:0 0 14px;}
body.page-restaurant .pricing-card .price{font-family:'Spectral',serif; font-size:34px; color:var(--ink); line-height:1;}
body.page-restaurant .pricing-card .price-period{font-size:13.5px; color:var(--muted); margin:6px 0 0;}
body.page-restaurant .pricing-features{list-style:none; margin:22px 0 24px; padding:22px 0 0; border-top:1px solid var(--hair);}
body.page-restaurant .pricing-features li{font-size:14.5px; color:var(--ink-soft); margin-bottom:11px; line-height:1.45;}
body.page-restaurant .pricing-features .check{color:var(--green); font-weight:600; margin-right:7px;}
body.page-restaurant .pricing-features .x-mark{color:var(--muted); font-weight:600; margin-right:7px;}
body.page-restaurant .pricing-cta{display:inline-block; margin-top:auto; align-self:flex-start; background:var(--green); color:#f3f1e8; padding:13px 24px; border-radius:3px; font-size:14.5px; font-weight:600; text-decoration:none;}
body.page-restaurant .pricing-cta:hover{background:var(--green-d);}
body.page-restaurant .pricing-cta.secondary{background:transparent; color:var(--ink); border:1px solid var(--hair);}
body.page-restaurant .pricing-note{font-size:14px; color:var(--muted); margin-top:18px;}

/* faq accordion (.faq-item h3 + p, toggled .active) */
body.page-restaurant .faq-section{padding:64px 0; border-top:1px solid var(--hair); background:var(--paper2);}
body.page-restaurant .faq-section > .container > h2{font-size:clamp(24px,2.8vw,32px); margin:0 0 28px;}
body.page-restaurant .faq-item{border-top:1px solid var(--hair);}
body.page-restaurant .faq-item:last-child{border-bottom:1px solid var(--hair);}
body.page-restaurant .faq-item h3{font-family:'Spectral',serif; font-weight:500; font-size:18px; margin:0; padding:20px 0; cursor:pointer; display:flex; gap:12px; align-items:baseline;}
body.page-restaurant .faq-item h3::before{content:"+"; color:var(--green); font-weight:400;}
body.page-restaurant .faq-item.active h3::before{content:"\2013";}
body.page-restaurant .faq-item p{display:none; font-size:15px; color:var(--ink-soft); max-width:80ch; padding:0 24px 22px;}
body.page-restaurant .faq-item.active p{display:block;}

/* contact */
body.page-restaurant .contact-section{padding:64px 0; border-top:1px solid var(--hair);}
body.page-restaurant .contact-content{display:grid; grid-template-columns:.9fr 1.1fr; gap:54px; align-items:start;}
body.page-restaurant .contact-text h2{font-size:clamp(24px,2.8vw,32px); margin:0 0 14px; max-width:18ch;}
body.page-restaurant .contact-text > p{font-size:16.5px; color:var(--ink-soft); margin:0 0 22px;}
body.page-restaurant .contact-reassurance strong{font-size:13px; text-transform:uppercase; letter-spacing:.1em; color:var(--ink);}
body.page-restaurant .contact-reassurance ul{list-style:none; margin:12px 0 0; padding:0;}
body.page-restaurant .contact-reassurance li{font-size:15px; color:var(--ink-soft); padding-left:24px; position:relative; margin-bottom:8px;}
body.page-restaurant .contact-reassurance li::before{content:""; position:absolute; left:0; top:12px; width:13px; height:1.5px; background:var(--green);}
/* contact form card + field spacing (form uses .form-group, inputs styled by ds-core) */
body.page-restaurant .contact-form-wrapper{border:1px solid var(--hair); border-radius:8px; background:var(--card); padding:30px 28px;}
body.page-restaurant .contact-form-wrapper .form-group{margin-bottom:16px;}
body.page-restaurant .contact-form-wrapper input,
body.page-restaurant .contact-form-wrapper select,
body.page-restaurant .contact-form-wrapper textarea{background:var(--paper);}
body.page-restaurant .contact-form-wrapper .submit-btn{width:100%;}

@media (max-width:880px){
  body.page-restaurant .features-grid,
  body.page-restaurant .steps,
  body.page-restaurant .contact-content{grid-template-columns:1fr; gap:30px;}
  body.page-restaurant .hero-stats{gap:30px;}
}
