/* traiteur.brussels — Édition Élégance, base first-site, October 2026.
   Refined editorial styling over the original responsive, accessible design. */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');
:root{
  --ink:#203a31;
  --ink2:#395247;
  --cream:#f6f4ee;
  --paper:#fbfaf6;
  --gold:#b89762;
  --line:#e4e0d6;
  --text:#3a463d;
  --muted:#747b73;
  --shadow:0 24px 64px rgba(29,49,39,.085);
  --heading:'Playfair Display',Georgia,'Times New Roman',serif;
  --body:'DM Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
}
html{scroll-padding-top:105px}
body{font-family:var(--body);font-size:15.5px;line-height:1.72;font-weight:400;background:var(--paper);letter-spacing:.004em}
h1,h2,h3,.serif{font-family:var(--heading);font-weight:400;letter-spacing:-.038em}
h1{font-size:clamp(3.6rem,6.4vw,7.1rem);line-height:1.105}
h2{font-size:clamp(2.6rem,4.1vw,4.8rem);line-height:1.22}
h3{letter-spacing:-.028em}
.container{width:min(1250px,calc(100% - 96px))}
.site-header{height:94px;position:sticky;top:0;z-index:100;box-shadow:0 1px 0 rgba(24,51,39,.035);border-color:rgba(45,70,53,.085);background:rgba(251,250,246,.96);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.brand{gap:15px}
.brand-emblem{width:46px;height:46px;border-radius:50%;border:1px solid #b8ab91;color:#233e34;font-family:var(--heading);font-size:28px;font-weight:400;font-style:italic;background:transparent;transform:none}
.brand-name{font-family:var(--heading);font-size:1.28rem;letter-spacing:-.034em;font-weight:500}
.brand-name span{color:#a58051}
.brand-sub{font-size:.55rem;letter-spacing:.19em;margin-top:6px;color:#8b8576}
.nav{gap:29px}
.nav>a{font-family:var(--body);font-size:.67rem;font-weight:650;letter-spacing:.15em;text-transform:uppercase;transition:color .25s}
.nav>a.nav-cta{padding:14px 19px;border-color:#365344;background:transparent;transition:background .25s,color .25s}
.nav>a.nav-cta span{margin-left:5px;color:#b39764}
.lang-picker{padding-left:20px}
.lang-picker a{font-family:var(--body);font-size:10px;letter-spacing:.08em}
.hero{min-height:755px;overflow:hidden;background:#1c3028}
.hero:before{background-image:linear-gradient(90deg,rgba(11,27,22,.96) 0%,rgba(15,36,28,.87) 32%,rgba(15,37,28,.44) 70%,rgba(9,31,22,.28) 100%),var(--hero-image);background-position:center, 68% 38%;filter:saturate(.88)}
.hero:after{height:205px;background:linear-gradient(0deg,rgba(7,23,17,.60),transparent);z-index:-1}
.hero-content{position:relative;padding:126px 0 137px}
.hero-content:before{content:'';position:absolute;top:90px;left:0;height:1px;width:100%;max-width:500px;background:linear-gradient(90deg,rgba(233,224,196,.20),transparent)}
.hero .eyebrow{color:#e1cda9;letter-spacing:.31em;font-size:.66rem;margin-bottom:28px;font-weight:550}
.hero .eyebrow:before{background:#b7a17a;width:45px}
.hero h1{max-width:1020px;margin-bottom:30px;color:#fffdf8;letter-spacing:-.044em;text-wrap:balance}
.hero h1 em{color:#e3ceac;font-style:italic;font-weight:400}
.hero p:not(.eyebrow){font-size:1.05rem;line-height:1.98;font-weight:400;max-width:570px;color:#e9e7dd;margin-bottom:39px}
.hero .btn{min-height:54px}
.hero-bottom{bottom:38px;color:#ddd9c7;font-size:.64rem;letter-spacing:.22em}
.hero-bottom span:last-child{opacity:.75}
.btn{font-family:var(--body);letter-spacing:.11em;font-size:.70rem;font-weight:650;min-height:51px;border-radius:0;padding:16px 25px;gap:20px;transition:transform .28s ease,color .28s ease,background .28s ease,box-shadow .28s ease}
.btn:hover{transform:translateY(-3px);box-shadow:0 10px 22px rgba(0,0,0,.09)}
.btn-gold{background:#dfccab;border-color:#dfccab;color:#223b32}
.btn-gold:hover{background:#f2e4ca}
.btn-outline{border-color:rgba(244,240,225,.7);background:rgba(255,255,255,.035);color:#fff}
.btn-ink{background:#213c31}
.btn-ink:hover{background:#355748}
.eyebrow{letter-spacing:.23em;font-size:.64rem;color:#997d50;font-weight:650;margin-bottom:25px;gap:17px}
.eyebrow:before{background:#c8ad7c;width:35px}
.proof-strip{background:#f0ede5;border-bottom:1px solid #e6e2d8}
.proof-inner{padding:34px 0;gap:18px}
.proof{padding:0 29px;gap:23px;border-color:#d9d3c6}
.proof-mark{font-family:var(--heading);font-style:italic;font-size:2.25rem;color:#8d7b5f;min-width:48px}
.proof h3{font-family:var(--body);font-size:.67rem;letter-spacing:.135em;font-weight:650;color:#34473e;margin-bottom:6px}
.proof p{font-size:.82rem;color:#7d8075;line-height:1.6}
.section{padding:124px 0}
.section-head{align-items:end;gap:80px;margin-bottom:55px}
.section-head h2{max-width:735px}
.section-head .intro{font-size:.95rem;max-width:375px;line-height:1.95;color:#70786e}
.services-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px}
.service-card{border:1px solid #e8e4db;background:#fdfcf9;overflow:hidden;transition:box-shadow .35s,transform .35s;position:relative}
.service-card:hover{box-shadow:0 22px 45px rgba(29,49,39,.08);transform:translateY(-3px)}
.service-img{height:350px;background:linear-gradient(140deg,#829286,#3b5647)}
.service-img img{filter:saturate(.88) contrast(1.025);transition:transform 1s cubic-bezier(.2,.8,.2,1)}
.service-card:hover img{transform:scale(1.035)}
.service-text{padding:35px 40px 37px;min-height:267px;display:flex;flex-direction:column;align-items:start}
.service-tag{color:#a18154;font-size:.65rem;font-weight:600;letter-spacing:.20em;margin-bottom:15px}
.service-text h3{font-family:var(--heading);font-size:clamp(1.7rem,2.2vw,2.15rem);line-height:1.22;margin-bottom:14px;letter-spacing:-.04em}
.service-text p{font-size:.92rem;line-height:1.88;color:#747b70;min-height:0;max-width:390px;margin-bottom:25px}
.service-text .text-link{margin-top:auto}
.text-link{font-size:.69rem;text-transform:uppercase;letter-spacing:.10em;font-weight:650;gap:16px;border-color:#c4b39a;padding-bottom:7px;transition:color .2s,border-color .2s}
.text-link:hover{color:#936e39;border-color:#936e39}
/* A quiet brand statement between editorial image sections. */
.manifesto{background:#ece9e0;padding:78px 0;border-top:1px solid #e3ded3;border-bottom:1px solid #e3ded3}
.manifesto-inner{display:grid;grid-template-columns:220px 1fr;gap:65px;align-items:center}
.manifesto-label{font-family:var(--body);font-size:.62rem;text-transform:uppercase;letter-spacing:.22em;color:#8c795f;font-weight:650}
.manifesto-label:before{content:'';display:block;width:55px;height:1px;background:#b29a76;margin-bottom:26px}
.manifesto p{font-family:var(--heading);font-size:clamp(1.8rem,3.3vw,3.75rem);letter-spacing:-.037em;line-height:1.35;color:#284337;margin:0;max-width:910px}
.manifesto p em{color:#947a56;font-style:italic}
.approach{background:#f7f5f0}
.approach-inner{grid-template-columns:.96fr 1.04fr;gap:9%}
.approach-visual{height:670px;background:linear-gradient(150deg,#7b8f7b,#2a473c);border:9px solid #fffdf8;box-shadow:var(--shadow)}
.approach-visual img{filter:saturate(.8) contrast(1.04)}
.visual-badge{right:-24px;bottom:42px;padding:30px 34px;background:#e3d2b3;box-shadow:0 16px 50px rgba(25,43,34,.1)}
.visual-badge b{font-family:var(--heading);font-size:3.7rem;font-weight:400}
.visual-badge span{letter-spacing:.15em;font-size:.62rem;color:#4c4e3f}
.approach-copy h2{max-width:560px;margin-bottom:33px}
.approach-copy .lead{font-family:var(--heading);font-size:clamp(1.3rem,1.8vw,1.8rem);line-height:1.55;color:#3d574a;margin-bottom:26px}
.approach-copy>p:not(.lead){line-height:1.95;color:#768074;font-size:.93rem}
.checks{gap:22px;margin:34px 0 42px}
.check{font-size:.86rem;line-height:1.65;color:#4e6052;gap:16px}
.check:before{border-color:#c9b48b;color:#9e8458;border-radius:0;background:#f9f7f1}
.steps{background:#20382e;position:relative;overflow:hidden}
.steps:before{content:'R';font:italic 500 37rem/1 var(--heading);position:absolute;top:-120px;right:-55px;color:rgba(233,229,211,.035);pointer-events:none}
.steps .eyebrow{color:#d2b995}.steps .intro{color:#c8d0c8}
.steps-grid{gap:55px;margin-top:68px}
.step{border-color:#688174;padding-top:31px;position:relative}
.step-num{font-family:var(--heading);font-size:3.7rem;font-weight:400;font-style:italic;line-height:1;color:#dcc29b;margin-bottom:40px}
.step h3{font:400 1.75rem/1.3 var(--heading);letter-spacing:-.03em;margin-bottom:15px}
.step p{color:#baccc0;font-size:.92rem;line-height:1.9}
.region{background:#f4f1e9}
.region-inner{gap:120px}
.region h2{margin-bottom:30px}
.region p{line-height:1.95;font-size:.94rem;color:#738074}
.region-places{gap:8px;margin-top:30px}
.region-places span{background:#fbfaf5;border-color:#ddd7ca;padding:8px 12px;font-size:.72rem;letter-spacing:.02em}
.region-symbol{border-color:#c7c4b5;width:min(450px,100%)}
.region-symbol:before,.region-symbol:after{border-color:#d8d3c7}
.region-symbol strong{font-family:var(--heading);color:#3b5849;font-size:6rem}
.region-symbol span{color:#8e805f}
.faq{background:#fbfaf6}
.faq-grid{gap:110px}
.faq-list{border-color:#dcded4}
.faq-list details{padding:26px 0;border-color:#dcded4}
.faq-list summary{font-weight:550;font-size:.95rem;color:#31493c;letter-spacing:0}
.faq-list summary:after{font-family:var(--heading);font-size:2rem}
.faq-list p{font-size:.92rem;line-height:1.9;color:#778177}
.contact{background:#eae7df}
.contact-inner{gap:11%;grid-template-columns:.87fr 1.13fr}
.contact-copy h2{max-width:490px}
.contact-copy>p{font-size:.97rem;color:#73786f}
.contact-lines{gap:27px;margin-top:46px}
.contact-line .mini{font-size:.65rem;font-weight:600;color:#897d69}
.contact-line a{font-size:1.08rem;font-weight:500}
.contact-form{padding:52px 53px 43px;background:#fdfcf8;border:1px solid #e5dfd2;box-shadow:0 22px 70px rgba(31,48,36,.085)}
.contact-form h3{font:400 2.15rem/1.3 var(--heading);letter-spacing:-.04em;margin-bottom:10px}
.contact-form>p{font-size:.8rem;line-height:1.7;margin-bottom:32px}
.form-grid{gap:21px}
.field label{font-weight:600;color:#44544a;font-size:.69rem;letter-spacing:.04em}
.field input,.field select,.field textarea{background:#fefdf9;padding:15px 14px;border-color:#d7d8cd;border-radius:0;font-size:.88rem;min-height:50px}
.field textarea{min-height:135px}
.consent{margin-top:28px;line-height:1.75}
.form-action{margin-top:4px}
.form-help{font-size:.71rem}
.site-footer{background:#162e25;padding:78px 0 28px}
.footer-grid{gap:85px;padding-bottom:75px}
.site-footer .brand-emblem{border-color:#a8b3a3;color:#f2ebdb}
.site-footer .brand-name{color:#fffdf8}
.footer-about{font-size:.91rem;line-height:1.95;color:#bdc8bc;margin-top:30px}
.footer-col h3{font-weight:600;letter-spacing:.2em;font-size:.65rem;color:#d5c8ae}
.footer-col a,.footer-col p{line-height:1.7;font-size:.85rem;color:#c0cabc}
.footer-bottom{padding-top:30px;border-color:#3a5447;font-size:.72rem;letter-spacing:.025em}
.legal-page{padding-top:115px}
/* Polished responsive adaptation — preserving the original mobile behavior. */
@media(max-width:1110px){
 .container{width:min(100% - 58px,1250px)}
 .nav{gap:15px}.nav>a{letter-spacing:.095em}
 .nav>a.nav-cta{padding:12px}
 .proof{padding-left:18px;padding-right:18px}
 .approach-inner{gap:5%}
 .region-inner{gap:55px}
}
@media(max-width:760px){
 html{scroll-padding-top:75px}
 body{font-size:15px}
 .container{width:min(100% - 40px,1250px)}
 .site-header{height:74px}
 .brand{gap:10px}
 .brand-emblem{width:37px;height:37px;font-size:23px}
 .brand-name{font-size:1.05rem}.brand-sub{font-size:.5rem}
 .nav{top:74px;background:#fbfaf6;border-top:1px solid #e8e3d8;gap:22px}
 .nav>a{font-size:.78rem}
 .hero{min-height:700px}
 .hero:before{background-image:linear-gradient(90deg,rgba(10,27,20,.95),rgba(10,27,20,.68) 66%,rgba(10,27,20,.52)),var(--hero-image);background-position:center,60% center}
 .hero-content{padding:112px 0 122px}
 .hero-content:before{top:76px}
 .hero h1{font-size:clamp(3.25rem,10vw,5.2rem);line-height:1.09;max-width:610px}
 .hero p:not(.eyebrow){font-size:.97rem;line-height:1.85;max-width:500px}
 .hero .eyebrow{font-size:.59rem;letter-spacing:.20em}
 .hero-bottom{font-size:.57rem}
 .proof-inner{padding:11px 0}.proof{padding:17px 0!important}
 .section{padding:80px 0}
 .section-head{margin-bottom:37px}
 .section-head h2{margin-bottom:19px}
 h2{font-size:clamp(2.4rem,7.2vw,3.8rem)}
 .services-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
 .service-img{height:225px}
 .service-text{padding:25px 23px;min-height:310px}
 .service-text h3{font-size:1.6rem}
 .service-text p{font-size:.85rem;margin-bottom:20px}
 .manifesto{padding:59px 0}
 .manifesto-inner{grid-template-columns:1fr;gap:22px}
 .manifesto-label:before{margin-bottom:16px}
 .manifesto p{font-size:clamp(1.8rem,5.8vw,3rem)}
 .approach-inner{gap:53px}
 .approach-visual{height:480px;max-width:none;border-width:6px}
 .visual-badge{right:-8px;padding:20px 24px}
 .approach-copy h2{margin-bottom:23px}
 .steps-grid{gap:4px;margin-top:28px}
 .step{padding:28px 0}
 .step-num{margin-bottom:12px;font-size:2.7rem}
 .region-inner{gap:55px}
 .region-symbol{width:min(310px,90%)}
 .region-symbol strong{font-size:4.3rem}
 .faq-grid{gap:28px}
 .contact-inner{gap:33px}
 .contact-lines{grid-template-columns:1fr 1fr}
 .contact-form{padding:34px 30px}
 .footer-grid{gap:33px;padding-bottom:50px}
 .site-footer{padding-top:64px;padding-bottom:83px}
 .sticky-mobile{background:rgba(251,250,246,.98);border-top:1px solid #e2ded3;backdrop-filter:blur(10px)}
 .sticky-mobile a:first-child{background:#203a31}
 .sticky-mobile a:last-child{color:#203a31}
}
@media(max-width:480px){
 .container{width:calc(100% - 34px)}
 .hero{min-height:725px}
 .hero h1{font-size:clamp(3.04rem,11.5vw,4.1rem)}
 .hero p:not(.eyebrow){font-size:.92rem}
 .hero .button-row{gap:11px}
 .hero .btn{padding:12px 14px;font-size:.62rem;min-height:50px}
 .services-grid{grid-template-columns:1fr;gap:24px}
 .service-img{height:255px}
 .service-text{min-height:0;padding:29px 28px 32px}
 .service-text h3{font-size:1.85rem}
 .service-text p{margin-bottom:25px;font-size:.89rem}
 .approach-visual{height:360px}
 .contact-lines{grid-template-columns:1fr}
 .contact-form{padding:30px 22px}
 .contact-form h3{font-size:1.8rem}
}
@media(prefers-reduced-motion:reduce){.service-card,.service-img img,.btn{transition:none!important}}

/* Image-led editorial portfolio — verified photos from Rama Rao's public gallery */
.photo-journal{background:#fffdf9;padding-top:128px;padding-bottom:135px;overflow:hidden}
.gallery-heading{margin-bottom:48px}
.photo-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px 21px}
.photo-frame{margin:0;min-width:0;grid-column:span 3;position:relative}
.photo-frame:nth-child(1),.photo-frame:nth-child(6){grid-column:span 6}
.photo-frame:nth-child(2),.photo-frame:nth-child(3),.photo-frame:nth-child(4),.photo-frame:nth-child(5),.photo-frame:nth-child(7),.photo-frame:nth-child(8){grid-column:span 3}
.photo-frame a{position:relative;display:block;overflow:hidden;background:#e8e6df;aspect-ratio:4/5}
.photo-frame:nth-child(1) a,.photo-frame:nth-child(6) a{aspect-ratio:1.65}
.photo-frame img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.83) contrast(1.03);transition:transform .8s cubic-bezier(.21,.6,.3,1),filter .7s}
.photo-frame a:hover img,.photo-frame a:focus-visible img{transform:scale(1.045);filter:saturate(.97)}
.photo-frame figcaption{display:flex;justify-content:start;gap:13px;align-items:baseline;padding:13px 2px 17px;color:#576459;font:400 .87rem/1.4 var(--body)}
.photo-frame figcaption span{font-size:.62rem;letter-spacing:.14em;color:#b49565}
.photo-zoom{position:absolute;right:15px;top:12px;font-size:19px;color:#fff;background:rgba(26,46,36,.49);width:37px;height:37px;display:grid;place-items:center;opacity:0;transition:opacity .25s}
.photo-frame a:hover .photo-zoom,.photo-frame a:focus-visible .photo-zoom{opacity:1}
.gallery-note{display:flex;align-items:center;gap:25px;margin-top:30px}
.gallery-note .gallery-rule{width:70px;height:1px;background:#bba783;flex-shrink:0}
.gallery-note p{max-width:590px;margin:0;color:#899086;font-size:.78rem;line-height:1.7}
@media(max-width:1100px){.nav{gap:13px}.photo-grid{gap:16px}}
@media(max-width:760px){.photo-journal{padding-top:83px;padding-bottom:84px}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.photo-frame,.photo-frame:nth-child(n){grid-column:span 1}.photo-frame:first-child,.photo-frame:nth-child(6){grid-column:span 2}.photo-frame a{aspect-ratio:4/5}.photo-frame:first-child a,.photo-frame:nth-child(6) a{aspect-ratio:1.7}.photo-frame figcaption{font-size:.8rem}.gallery-heading{margin-bottom:32px}}
@media(max-width:480px){.photo-grid{gap:10px}.photo-frame figcaption{padding-top:9px;gap:8px;font-size:.72rem}.gallery-note{gap:14px}.gallery-note .gallery-rule{width:38px}}

/* Accessible photograph viewer */
.photo-dialog{border:0;padding:24px;background:#fcfaf5;color:#294133;width:min(94vw,1100px);max-height:93vh;box-shadow:0 40px 100px rgba(0,0,0,.36);overflow:auto}
.photo-dialog::backdrop{background:rgba(9,22,16,.86);backdrop-filter:blur(5px)}
.photo-dialog img{max-width:100%;max-height:calc(88vh - 110px);object-fit:contain;display:block;margin:auto}
.photo-dialog-caption{font-size:.84rem;text-align:center;margin:16px 50px 0;color:#65746a;letter-spacing:.06em}
.photo-dialog-close{position:sticky;float:right;top:0;right:0;margin:-16px -14px 3px 10px;z-index:2;color:#2a4035;background:#e9e2d5;font-size:2rem;line-height:1;border:0;width:46px;height:46px;cursor:pointer}
.photo-dialog-close:hover{background:#dfd0b5}
@media(max-width:700px){.photo-dialog{padding:12px;width:96vw}.photo-dialog-close{margin:-5px -5px 5px 8px}.photo-dialog-caption{margin:13px 24px 0}}

/* Photos fournies par Rama Rao, hébergées sur place : aucun chargement Wix */
.hero:before{background-image:linear-gradient(90deg,rgba(10,27,22,.98) 0%,rgba(15,35,28,.95) 28%,rgba(17,41,32,.76) 55%,rgba(17,40,30,.40) 100%),var(--hero-image);background-position:center,center 52%;filter:saturate(.90)}
.photo-frame img{background:#e9e7de}
.photo-grid .photo-frame:nth-child(6){grid-column:span 6}
.photo-frame:nth-child(6) a{aspect-ratio:1.65}
@media(max-width:760px){.hero:before{background-image:linear-gradient(90deg,rgba(10,27,22,.95),rgba(10,27,22,.77)),var(--hero-image);background-position:center,61% center}.photo-grid .photo-frame:nth-child(6){grid-column:span 2}.photo-frame:nth-child(6) a{aspect-ratio:1.7}}
