/* Maison Zayna — styles du tunnel traiteur */

:root{--ink:#241821;--plum:#401b35;--plum2:#6d294f;--gold:#c4964c;--cream:#f7f1e8;--paper:#fffaf3;--white:#fff;--muted:#73686e;--line:rgba(64,27,53,.16);--serif:Georgia,"Times New Roman",serif;--sans:Inter,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65;overflow-x:hidden}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.wrap{width:min(1180px,calc(100% - 40px));margin:auto}.eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 18px;color:var(--gold);font-size:.72rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.eyebrow:before{content:"";width:32px;height:1px;background:currentColor}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.03;margin:0}h2{font-size:clamp(2.5rem,6vw,5.4rem);letter-spacing:-.04em}.lead{max-width:650px;color:var(--muted);font-size:1.08rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:54px;padding:0 24px;border:1px solid transparent;border-radius:999px;background:var(--plum);color:#fff;font-size:.87rem;font-weight:800;letter-spacing:.04em;transition:.25s;cursor:pointer}.btn:hover{transform:translateY(-2px);background:var(--plum2);box-shadow:0 15px 40px rgba(64,27,53,.22)}.btn.light{background:var(--cream);color:var(--plum)}.btn.ghost{border-color:rgba(255,255,255,.45);background:transparent}.btn .arrow{font-size:1.3em}.site-header{position:fixed;z-index:50;inset:0 0 auto;height:78px;color:#fff;transition:.3s}.site-header.scrolled{height:68px;background:rgba(36,24,33,.94);backdrop-filter:blur(18px)}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:11px}.mark{position:relative;display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(255,255,255,.5);border-radius:50%;font-family:var(--serif);font-size:1.2rem}.brand-name{font-family:var(--serif);font-size:1.15rem;letter-spacing:.08em}.brand small{display:block;font-family:var(--sans);font-size:.54rem;letter-spacing:.2em;text-transform:uppercase;opacity:.7}.nav{display:flex;align-items:center;gap:27px;font-size:.78rem;font-weight:700}.nav a:not(.btn):hover{color:#efc780}.nav .btn{min-height:43px;padding:0 18px}.menu-toggle{display:none;border:0;background:none;color:#fff;font-size:1.8rem;cursor:pointer}
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;color:#fff;background:#26181f url(assets/images/hero.webp) center/cover no-repeat}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(25,13,21,.91) 0%,rgba(25,13,21,.6) 38%,rgba(25,13,21,.1) 72%),linear-gradient(0deg,rgba(25,13,21,.82),transparent 45%)}.hero-content{position:relative;z-index:1;padding:145px 0 90px;width:min(700px,100%)}.hero h1{font-size:clamp(4rem,9vw,8rem);letter-spacing:-.055em}.hero h1 em{display:block;color:#efc780;font-weight:400}.hero-copy{max-width:560px;margin:24px 0 30px;color:rgba(255,255,255,.8);font-size:1.1rem}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-meta{position:absolute;z-index:1;right:max(20px,calc((100vw - 1180px)/2));bottom:92px;display:flex;gap:35px}.hero-meta div{padding-left:14px;border-left:1px solid rgba(255,255,255,.3)}.hero-meta strong{display:block;font-family:var(--serif);font-size:1.5rem}.hero-meta span{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;opacity:.65}.scroll-note{position:absolute;z-index:1;left:50%;bottom:22px;font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;writing-mode:vertical-rl;opacity:.7}
.intro{padding:120px 0}.intro-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:90px;align-items:end}.intro blockquote{margin:0;font-family:var(--serif);font-size:clamp(2rem,4vw,3.6rem);line-height:1.14;letter-spacing:-.03em}.intro blockquote em{color:var(--plum2)}.signature{margin-top:26px;color:var(--gold);font-family:var(--serif);font-size:1.4rem}.occasion{padding:100px 0;background:var(--plum);color:#fff}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:55px}.section-head .lead{color:rgba(255,255,255,.65)}.occasion-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18)}.occasion-card{position:relative;min-height:360px;padding:32px 24px;border-right:1px solid rgba(255,255,255,.18);overflow:hidden;transition:.35s}.occasion-card:last-child{border:0}.occasion-card:before{content:"";position:absolute;inset:auto 0 0;height:0;background:var(--cream);transition:.4s}.occasion-card:hover:before{height:100%}.occasion-card>*{position:relative;z-index:1}.occasion-card:hover{color:var(--plum)}.occasion-card .num{display:block;color:var(--gold);font-size:.72rem;letter-spacing:.15em}.occasion-card h3{margin-top:170px;font-size:2.1rem}.occasion-card p{font-size:.86rem;opacity:.72}.occasion-icon{position:absolute;right:20px;top:28px;font-family:var(--serif);font-size:2.4rem;color:rgba(255,255,255,.24)}.occasion-card:hover .occasion-icon{color:rgba(64,27,53,.2)}
.menus{padding:120px 0}.menus-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:start}.sticky{position:sticky;top:110px}.menu-list{border-top:1px solid var(--line)}.menu-item{display:grid;grid-template-columns:90px 1fr auto;gap:20px;padding:28px 0;border-bottom:1px solid var(--line);align-items:center}.menu-item .tag{font-size:.66rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}.menu-item h3{font-size:1.65rem}.menu-item p{margin:7px 0 0;color:var(--muted);font-size:.9rem}.menu-item .plus{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--plum)}
.visual-break{position:relative;min-height:660px;background:url(assets/images/plat.webp) center/cover no-repeat;background-attachment:fixed}.visual-break:after{content:"Le goût commence par le regard.";position:absolute;left:max(20px,calc((100vw - 1180px)/2));bottom:60px;max-width:520px;color:#fff;font-family:var(--serif);font-size:clamp(3rem,6vw,5.8rem);line-height:.95;text-shadow:0 3px 25px #000}
.formules{padding:120px 0;background:var(--cream)}.formula-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:55px}.formula{display:flex;flex-direction:column;min-height:485px;padding:34px;border:1px solid var(--line);background:rgba(255,255,255,.5);transition:.3s}.formula.featured{background:var(--plum);color:#fff;transform:translateY(-15px)}.formula .mini{font-size:.7rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}.formula h3{font-size:2.3rem;margin:25px 0 12px}.formula p{color:var(--muted)}.formula.featured p{color:rgba(255,255,255,.65)}.formula ul{padding:0;margin:24px 0 35px;list-style:none}.formula li{padding:9px 0;border-bottom:1px solid var(--line);font-size:.9rem}.formula.featured li{border-color:rgba(255,255,255,.14)}.formula .btn{margin-top:auto;align-self:flex-start}
.service{padding:120px 0}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.service-image{position:relative}.service-image img{width:100%;height:650px;object-fit:cover}.service-image:after{content:"Fait maison · Servi avec cœur";position:absolute;right:-25px;bottom:30px;width:140px;height:140px;display:grid;place-items:center;padding:20px;text-align:center;border-radius:50%;background:var(--gold);color:#fff;font-family:var(--serif);font-size:1.1rem;transform:rotate(8deg)}.steps{counter-reset:step;margin-top:42px}.step{display:grid;grid-template-columns:52px 1fr;gap:17px;padding:20px 0;border-top:1px solid var(--line)}.step:before{counter-increment:step;content:"0"counter(step);color:var(--gold);font-size:.72rem;font-weight:800}.step h3{font-family:var(--sans);font-size:1rem;font-weight:800}.step p{margin:5px 0 0;color:var(--muted);font-size:.9rem}
.faq{padding:110px 0;background:#261820;color:#fff}.faq-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:70px}.faq details{border-top:1px solid rgba(255,255,255,.18)}.faq details:last-child{border-bottom:1px solid rgba(255,255,255,.18)}.faq summary{display:flex;justify-content:space-between;gap:20px;padding:24px 0;cursor:pointer;list-style:none;font-family:var(--serif);font-size:1.35rem}.faq summary:after{content:"+";color:var(--gold)}.faq details[open] summary:after{content:"−"}.faq details p{max-width:650px;margin:0 0 25px;color:rgba(255,255,255,.65)}
.quote{padding:120px 0;background:var(--paper)}.quote-shell{display:grid;grid-template-columns:.78fr 1.22fr;box-shadow:0 35px 100px rgba(54,30,43,.12)}.quote-aside{padding:55px;background:var(--plum);color:#fff}.quote-aside h2{font-size:clamp(2.7rem,5vw,4.8rem)}.quote-aside p{color:rgba(255,255,255,.7)}.quote-aside .contact-line{margin-top:45px;padding-top:24px;border-top:1px solid rgba(255,255,255,.2);font-size:.9rem}.quote-form{padding:50px;background:#fff}.fields{display:grid;grid-template-columns:1fr 1fr;gap:19px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.field input,.field select,.field textarea{width:100%;border:0;border-bottom:1px solid #d6cbd0;border-radius:0;background:transparent;padding:12px 0;color:var(--ink);outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--plum)}.field textarea{min-height:95px;resize:vertical}.form-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:28px}.form-bottom small{max-width:300px;color:var(--muted)}.notice{padding:13px 16px;margin-bottom:22px;border-radius:8px;background:#edf7ef;color:#205d2c}.footer{padding:38px 0;background:#180f15;color:#fff}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:25px}.footer p{margin:0;color:rgba(255,255,255,.5);font-size:.77rem}.floating-cta{display:none}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .75s ease,transform .75s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.nav{display:none;position:fixed;inset:68px 0 auto;padding:28px 20px;background:#251820;flex-direction:column;align-items:stretch;text-align:center}.nav.open{display:flex}.menu-toggle{display:block}.hero{min-height:820px}.hero-meta{left:20px;right:auto;bottom:70px}.scroll-note{display:none}.intro-grid,.menus-grid,.service-grid,.faq-grid,.quote-shell{grid-template-columns:1fr}.intro-grid,.menus-grid,.service-grid,.faq-grid{gap:45px}.sticky{position:static}.occasion-grid{grid-template-columns:1fr 1fr}.occasion-card{min-height:300px}.occasion-card:nth-child(2){border-right:0}.occasion-card h3{margin-top:120px}.formula-grid{grid-template-columns:1fr}.formula.featured{transform:none}.service-image img{height:500px}.quote-aside,.quote-form{padding:38px}.visual-break{background-attachment:scroll}}
@media(max-width:600px){.wrap{width:min(100% - 28px,1180px)}.site-header{height:68px}.brand-name{font-size:1rem}.hero{min-height:760px;background-position:58% center}.hero:before{background:linear-gradient(0deg,rgba(25,13,21,.94) 0%,rgba(25,13,21,.55) 62%,rgba(25,13,21,.25))}.hero-content{padding:120px 0 175px}.hero h1{font-size:clamp(3.55rem,17vw,5.5rem)}.hero-copy{font-size:1rem}.hero-actions .btn{width:100%}.hero-meta{gap:22px;bottom:35px}.hero-meta strong{font-size:1.25rem}.intro,.menus,.formules,.service,.faq,.quote{padding:82px 0}.occasion{padding:82px 0}.section-head{align-items:start;flex-direction:column}.occasion-grid{grid-template-columns:1fr}.occasion-card{min-height:235px;border-right:0;border-bottom:1px solid rgba(255,255,255,.18)}.occasion-card h3{margin-top:70px}.menu-item{grid-template-columns:65px 1fr}.menu-item .plus{display:none}.visual-break{min-height:520px}.formula{min-height:450px}.service-image img{height:410px}.service-image:after{right:-5px;width:115px;height:115px}.fields{grid-template-columns:1fr}.field.full{grid-column:auto}.form-bottom{align-items:stretch;flex-direction:column}.form-bottom .btn{width:100%}.quote-aside,.quote-form{padding:30px 22px}.footer-inner{align-items:flex-start;flex-direction:column}.floating-cta{position:fixed;z-index:45;display:block;left:14px;right:14px;bottom:12px}.floating-cta .btn{width:100%;box-shadow:0 12px 30px rgba(36,24,33,.35)}body{padding-bottom:78px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.btn{transition:none}}
