/* Kotomili — identité éditoriale / concept V1
   Conçu sans framework client pour une exécution légère sur Cloudflare Pages. */
:root{
  color-scheme: light;
  --paper:#f7f2e9;--paper-strong:#efe5d7;--ivory:#fcf9f3;
  --sand:#e5d9c6;--border:#d8cbba;
  --text:#28231e;--muted:#625d55;--soft:#7a7469;
  --terracotta:#9a4b32;--terracotta-dark:#783825;--copper:#b7794c;
  --olive:#6b684d;--gold:#b79863;--dark:#261f19;
  --serif:'Iowan Old Style','Baskerville','Palatino Linotype','Book Antiqua',Georgia,serif;
  --sans:'Avenir Next',Avenir,'Segoe UI',Arial,sans-serif;
  --shadow:0 18px 48px rgba(55,39,25,.11);
  --route-map:url('../images/routes-des-epices.svg');
  --recipe-route-map:url('../images/routes-des-epices-recette.svg');
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:95px}
body{margin:0;background:var(--paper);color:var(--text);font:16px/1.55 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg{max-width:100%}
img{display:block}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
button{cursor:pointer}
button:disabled{cursor:not-allowed}
::selection{background:#eac9af;color:#281a10}
:focus-visible{outline:3px solid #bc7148;outline-offset:4px}
.container{width:min(100% - 100px,1390px);margin-inline:auto}
.visually-hidden{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.skip-link{position:absolute;z-index:400;left:12px;top:-70px;background:#fff;padding:12px 18px;color:#15100d;border-radius:4px}
.skip-link:focus{top:10px}
.eyebrow{font:700 11px/1.4 var(--sans);letter-spacing:.26em;color:#865338;text-transform:uppercase;margin:0 0 13px}
.eyebrow span{padding:0 4px;color:#b68d68}
.eyebrow-light{color:#e6c58d}
.section{padding:68px 0 74px;position:relative;overflow:hidden}
.paper-section{background-color:var(--paper);background-image:radial-gradient(circle at 18% 16%,rgba(146,105,53,.065),transparent 39%),radial-gradient(circle at 82% 95%,rgba(176,146,99,.045),transparent 40%)}
.section-header{display:flex;align-items:end;justify-content:space-between;gap:25px;margin:0 0 28px;position:relative;z-index:1}
.section-header .eyebrow{margin-bottom:9px}
.section-title{font:400 clamp(28px,2.85vw,41px)/1.18 var(--serif);letter-spacing:-.032em;margin:0;color:#272019}
.title-rule{display:inline-block;width:39px;height:1px;background:#86745b;vertical-align:middle;margin-left:15px;transform:translateY(-2px)}
.small-link{font:600 12px/1.4 var(--sans);display:inline-block;border-bottom:1px solid #7f6c56;padding-bottom:4px;white-space:nowrap;transition:color .2s}
.small-link:hover,.text-link:hover{color:var(--terracotta)}
.small-link span{margin-left:12px}
.button{display:inline-flex;gap:18px;align-items:center;justify-content:center;padding:14px 21px;font:600 13px/1.25 var(--sans);letter-spacing:.015em;min-height:45px;border:1px solid transparent;border-radius:3px;transition:background .22s,transform .22s,box-shadow .22s}
.button:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(0,0,0,.12)}
.button-primary{color:#fff9f0;background:var(--terracotta);border-color:#ae6043}
.button-primary:hover{background:var(--terracotta-dark);color:white}
.button span{font-size:19px;font-weight:400;line-height:0}
.text-link{font-size:13px;font-weight:600;display:inline-flex;gap:14px;align-items:center;border-bottom:1px solid #907e65;padding-bottom:4px;transition:color .2s}
.text-link-light{color:#f5eee1;border-color:#e9d4b7}
.text-link-light:hover{color:white}
.button-unstyled{border:none;border-bottom:1px solid;background:none;color:var(--terracotta);padding:0 0 4px;cursor:pointer}

/* Navigation */
.site-header{background:#fbf8f1;position:relative;z-index:100;border-bottom:1px solid #ebe1d4}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:102px}
.brand{display:flex;gap:11px;align-items:center;flex-shrink:0;color:#40362b;min-width:225px}
.brand-symbol{width:47px;height:61px;color:#997447}
.brand-copy{display:flex;flex-direction:column;gap:2px}
.brand strong{font:600 27px/1 var(--serif);letter-spacing:.065em}
.brand small{font-size:7px;letter-spacing:.13em;color:#765c3e;margin-top:6px;font-weight:800}
.brand-mobile-signature{display:none}
.site-nav{display:flex;align-items:center;gap:clamp(18px,2.4vw,36px);margin-left:auto}
.site-nav>a,.nav-dropdown>summary{font:600 13px/1.3 var(--serif);padding:11px 0;color:#332c25;position:relative;white-space:nowrap}
.site-nav>a:after,.nav-dropdown>summary:after{content:"";position:absolute;left:0;bottom:2px;height:1px;width:0;background:var(--terracotta);transition:width .2s}
.site-nav>a:hover:after,.site-nav>a[aria-current="page"]:after,.nav-dropdown>summary:hover:after,.nav-dropdown>summary.is-current:after{width:100%}
.site-nav .private-nav-mobile{display:none}
.nav-dropdown{position:relative}
.nav-dropdown>summary{display:flex;align-items:center;gap:5px;min-height:44px;cursor:pointer;list-style:none}
.nav-dropdown>summary::-webkit-details-marker{display:none}
.nav-dropdown>summary span{font:700 11px/1 var(--sans);transition:transform .2s}
.nav-dropdown[open]>summary span{transform:rotate(180deg)}
.nav-dropdown-panel{position:absolute;z-index:20;top:calc(100% + 7px);left:50%;transform:translateX(-50%);padding:10px;background:#fcf8f2;border:1px solid #e5d8c7;box-shadow:0 16px 36px rgba(48,34,23,.18);display:grid}
.region-dropdown{width:320px}
.nav-dropdown-panel a{font:500 14px/1.25 var(--serif);padding:11px 12px;color:#3f352d;border-radius:3px}
.nav-dropdown-panel a:hover,.nav-dropdown-panel a[aria-current="page"]{background:#efe2d2;color:var(--terracotta)}
.understand-dropdown{width:375px;gap:2px}
.understand-dropdown a{display:grid;gap:3px;padding:13px 14px}
.understand-dropdown strong{font:600 15px/1.2 var(--serif)}
.understand-dropdown small{color:#74685c;font:11px/1.42 var(--sans)}
.understand-dropdown a:hover small,.understand-dropdown a[aria-current="page"] small{color:#6f4a36}
.header-actions{display:flex;align-items:center;gap:20px;margin-left:auto}
.icon-button{padding:8px;border:0;background:transparent;display:grid;place-items:center;color:var(--text);border-radius:4px;min-width:44px;min-height:44px}
.icon-button:hover{color:var(--terracotta);background:#f0e6d9}
.utility-button{display:flex;align-items:center;gap:7px;min-height:44px;padding:8px 5px;border:0;background:transparent;color:#332c25;border-radius:3px;font:600 12px/1.2 var(--serif);white-space:nowrap}
.utility-button:hover,.utility-button[aria-current="page"]{color:var(--terracotta);background:#f0e6d9}
.header-divider{width:1px;height:37px;background:#cfc1af}
.header-quote{max-width:140px;font:italic 16px/1.12 var(--serif);transform:rotate(-4deg);color:#6b4b35;white-space:normal;text-align:center}
.mobile-menu-button{display:none}

/* Hero */
.hero{isolation:isolate;position:relative;display:flex;align-items:center;min-height:525px;background:#2b221c;overflow:hidden}
.hero-photo{position:absolute;inset:0 0 0 34%;background:url('../images/hero.webp') center 48%/cover no-repeat;z-index:-3;filter:saturate(.89) contrast(1.07)}
.hero-shadow{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#241b16 0%,#241b16 25%,rgba(36,27,22,.94) 38%,rgba(36,27,22,.6) 56%,rgba(36,27,22,.12) 79%,rgba(36,27,22,.14) 100%),linear-gradient(0deg,rgba(16,11,9,.3),transparent 35%)}
.hero-content{padding-top:66px;padding-bottom:62px;position:relative;z-index:1;color:#f8f3e9}
.hero h1{font:400 clamp(42px,4.4vw,70px)/1.035 var(--serif);letter-spacing:-.038em;margin:0;max-width:840px;text-wrap:balance;text-shadow:0 2px 13px rgba(0,0,0,.12)}
.hero h1 em,.inner-hero h1 em{font-style:italic;font-weight:400;color:#f6e5d0}
.hero-description{color:#e4ded6;max-width:505px;font-size:16px;line-height:1.61;margin:22px 0 29px}
.hero-actions{display:flex;align-items:center;gap:29px;flex-wrap:wrap}
.hero-disclaimer{font:italic 16px var(--serif);margin:30px 0 0;color:#c7b49c}
.hero-vertical{position:absolute;right:24px;bottom:23px;writing-mode:vertical-rl;color:rgba(255,244,224,.72);font-size:9px;letter-spacing:.3em;z-index:2}

/* Region listing */
.region-section{padding-top:56px;padding-bottom:64px;background-color:var(--paper);background-image:linear-gradient(90deg,rgba(247,242,233,.88),rgba(247,242,233,.7)),var(--route-map);background-repeat:no-repeat;background-position:center,center 41%;background-size:cover,max(1180px,100%) auto}
.section-decor-map{position:absolute;right:2%;top:7%;width:150px;height:150px;border:1px solid rgba(145,102,67,.19);border-radius:50%;opacity:.62;pointer-events:none}
.section-decor-map:before{content:"";position:absolute;inset:14%;border:1px dashed rgba(145,102,67,.24);border-radius:50%}
.section-decor-map:after{content:"✦";position:absolute;inset:0;display:grid;place-items:center;font:88px/1 var(--serif);color:rgba(151,93,58,.16);transform:rotate(15deg)}
.region-section>.container,.recipes-section>.container,.ingredients-section>.container{position:relative;z-index:1}
.regions-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:stretch}
.region-card{display:flex;min-width:0;flex-direction:column;background:#fdfaf5;border:1px solid #eadfcf;box-shadow:0 4px 13px rgba(76,53,34,.025);transition:transform .23s ease,box-shadow .23s ease,border-color .23s ease}
.region-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:#b99b73}
.region-card-image{position:relative;display:block;overflow:hidden;aspect-ratio:1.28;background:#ded1ba}
.region-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.region-card:hover .region-card-image img{transform:scale(1.055)}
.card-image-sheen{position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(28,21,14,.12))}
.region-card-body{display:flex;flex:1;flex-direction:column;padding:16px 15px 14px}
.region-number{font:700 9px var(--sans);letter-spacing:.18em;color:#765c3e;margin-bottom:9px}
.region-card-title{font:600 clamp(16px,1.2vw,19px)/1.15 var(--serif);letter-spacing:-.02em;min-height:43px}
.region-card-desc{color:#675e53;font:13px/1.46 var(--serif);margin-top:10px;min-height:57px}
.region-card-more{display:flex;align-items:center;gap:6px;margin-top:auto;padding-top:15px;color:#985335;font-size:11px;font-weight:700}
.region-card-more span{font-size:15px}

/* Recipe highlights */
.recipes-section{background-color:#eee0ce;background-image:linear-gradient(rgba(238,224,206,.9),rgba(238,224,206,.9)),var(--route-map),radial-gradient(circle at 0% 1%,rgba(255,255,255,.65),transparent 28%);background-repeat:no-repeat;background-position:center,center 63%,0 0;background-size:cover,max(1280px,100%) auto,cover;padding-top:59px;padding-bottom:63px}
.recipes-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:17px}
.recipe-card{min-width:0;display:flex;flex-direction:column;background:#fbf6ef;border:1px solid rgba(117,83,53,.13);box-shadow:0 6px 20px rgba(65,48,31,.055)}
.recipe-image{display:block;aspect-ratio:1.59;position:relative;overflow:hidden;background:#bead94}
.recipe-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.recipe-card:hover .recipe-image img{transform:scale(1.055)}
.recipe-diet-badge{position:absolute;left:12px;top:12px;z-index:2;display:inline-flex;align-items:center;min-height:28px;padding:5px 9px;background:#edf0e5;border:1px solid rgba(78,94,59,.48);color:#4d5d3d;font:800 8px/1 var(--sans);letter-spacing:.11em;text-transform:uppercase;box-shadow:0 4px 14px rgba(41,50,31,.12)}
.recipe-dossier-badge{position:absolute;left:12px;top:12px;z-index:2;display:inline-flex;align-items:center;min-height:29px;padding:6px 10px;background:#34271f;color:#fff6e9;border:1px solid rgba(255,239,218,.42);font:800 8px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;box-shadow:0 5px 16px rgba(30,20,14,.2)}
.recipe-card-dossier{border-color:rgba(121,72,43,.32);box-shadow:0 9px 25px rgba(65,42,26,.1)}
.recipe-card-dossier .recipe-card-content{border-top:3px solid #9a5b3d}
.image-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 70%,rgba(26,20,14,.09))}
.recipe-card-content{padding:15px 14px 17px;display:flex;flex:1;flex-direction:column}
.recipe-heading-row{display:flex;align-items:start;justify-content:space-between;gap:6px}
.recipe-heading-row h3{font:600 clamp(17px,1.4vw,21px)/1.15 var(--serif);letter-spacing:-.023em;margin:0 0 8px}
.recipe-heading-row h3 a:hover{color:var(--terracotta)}
.bookmark-button{flex-shrink:0;border:0;background:none;color:#6f655b;padding:1px;min-width:44px;min-height:44px;display:grid;place-items:center;margin:-8px -8px 0 0;border-radius:3px}
.bookmark-button:hover{color:var(--terracotta)}
.bookmark-button[aria-pressed="true"]{color:var(--terracotta)}
.bookmark-button[aria-pressed="true"] svg{fill:#c48a6b;stroke:#6b3929}
.favorites-help{margin:12px 0 24px;padding:12px 15px;border-left:3px solid #9a5b3d;background:rgba(252,249,243,.68);color:#685b50;font:13px/1.5 var(--serif)}
.favorites-help a{color:#80432f;text-decoration:underline;text-underline-offset:3px}
.recipe-teaser{margin:0;line-height:1.36;font-family:var(--serif);font-size:14px;color:#5b5248;min-height:57px}
.recipe-meta{display:flex;gap:8px;align-items:center;border-top:1px solid #e9ddcd;margin-top:auto;padding-top:11px;color:#786e62;font-size:11px;line-height:1.3}
.recipe-origin{max-width:55%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.recipe-dot{color:#ba916c}
.section-footnote{font-size:11px;color:#7b6a5c;margin:19px 0 0}

/* Ingredients */
.ingredients-section{padding:70px 0 74px;background-color:var(--paper);background-image:linear-gradient(105deg,rgba(247,242,233,.95) 12%,rgba(247,242,233,.73)),var(--route-map);background-repeat:no-repeat;background-position:center,center 83%;background-size:cover,max(1250px,100%) auto}
.ingredient-content{display:grid;grid-template-columns:minmax(235px,1fr) 2.55fr;gap:64px;align-items:center}
.ingredient-intro p{font-size:15px;line-height:1.61;color:#665c52;margin:0 0 23px}
.ingredient-pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}
.ingredient-pillar{display:grid;grid-template-columns:66px 1fr;gap:15px;align-items:start}
.pillar-icon{display:grid;place-items:center;height:65px;width:65px;font:49px/1 var(--serif);color:#b85d32;border-radius:50%;background:radial-gradient(circle,#efe0c8 0%,#eee4d6 60%,#f8f0e5 64%);text-shadow:1px 2px 0 rgba(102,49,24,.06)}
.pillar-icon-pods{font-size:55px;color:#627047}
.pillar-icon-mortar{font-size:44px;color:#514538}
.ingredient-pillar h3{font:600 18px/1.16 var(--serif);letter-spacing:-.02em;margin:6px 0 10px}
.ingredient-pillar p{font:13px/1.4 var(--serif);color:#635a51;margin:0}

/* Newsletter */
.newsletter-section{position:relative;overflow:hidden;padding:46px 0 50px;background:linear-gradient(112deg,rgba(36,29,23,.98),rgba(61,47,36,.94)),var(--route-map) center 57%/max(1260px,100%) auto no-repeat;color:#f7efe3}
.newsletter-route{position:absolute;inset:0;background:radial-gradient(circle at 13% 15%,rgba(196,139,90,.2),transparent 31%),radial-gradient(circle at 91% 85%,rgba(130,139,96,.16),transparent 32%);pointer-events:none}
.newsletter-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr);gap:clamp(42px,5vw,78px);align-items:center}
.newsletter-copy{max-width:665px}
.newsletter-copy .eyebrow{color:#e2b880}
.newsletter-copy h2{font:400 clamp(34px,3.6vw,49px)/1.05 var(--serif);letter-spacing:-.035em;margin:0;color:#fff9ef}
.newsletter-copy .title-rule{background:#cda475}
.newsletter-lead{max-width:630px;margin:17px 0 19px;color:#e0d5c8;font:18px/1.52 var(--serif)}
.newsletter-promises{display:grid;gap:8px;padding:0;margin:0;list-style:none;color:#f0e5d7;font:13px/1.4 var(--sans)}
.newsletter-promises li{display:flex;gap:12px;align-items:flex-start}
.newsletter-promises span{color:#d8aa72;font-size:13px;transform:translateY(2px)}
.newsletter-privacy-note{max-width:590px;margin:18px 0 0;padding-top:15px;border-top:1px solid rgba(230,205,177,.24);color:#bfb1a3;font:italic 12px/1.48 var(--serif)}
.newsletter-form-card{background:#fffaf3;color:#302820;border:1px solid rgba(219,185,145,.62);border-top:3px solid var(--terracotta);padding:10px 12px 9px;box-shadow:0 18px 48px rgba(11,8,6,.24)}
.newsletter-frame{display:block;width:100%;height:430px;border:0;background:#fffaf3;overflow:hidden}
.newsletter-preview-form{display:grid;gap:12px;padding:25px 18px 19px}
.newsletter-preview-form>label:first-child{font:700 11px/1.3 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:#79503b}
.newsletter-preview-form>input[type="email"]{width:100%;min-height:49px;padding:12px 14px;border:1px solid #bca890;background:#fff;color:#312820;border-radius:3px}
.newsletter-consent-preview{display:grid;grid-template-columns:22px 1fr;gap:10px;align-items:start;color:#65594e;font:13px/1.45 var(--serif);margin:7px 0}
.newsletter-consent-preview input{width:19px;height:19px;margin:1px 0 0;accent-color:var(--terracotta)}
.newsletter-preview-form .button{justify-self:start}
.newsletter-preview-form .button:disabled{opacity:.6}
.newsletter-config-note{margin:3px 0 0;color:#8a7564;font:italic 12px/1.45 var(--serif)}
.newsletter-legal{margin:8px 5px 0;text-align:center;color:#74685e;font:11px/1.4 var(--sans)}
.newsletter-legal a{color:#894a33;text-decoration:underline;text-underline-offset:3px}
.newsletter-status-page{min-height:calc(100vh - 220px);display:grid;place-items:center;padding:78px 0;background:linear-gradient(rgba(247,242,233,.91),rgba(247,242,233,.91)),var(--route-map) center/max(1250px,100%) auto no-repeat}
.newsletter-status-card{width:min(100% - 38px,760px);padding:61px 58px 65px;text-align:center;background:#fffaf3;border:1px solid #dccab5;border-top:5px solid var(--terracotta);box-shadow:var(--shadow)}
.newsletter-status-card .eyebrow{margin-bottom:20px}
.newsletter-status-symbol{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 21px;border-radius:50%;background:#efe1cf;color:#8e4b32;font:34px/1 var(--serif)}
.newsletter-status-card h1{font:500 clamp(37px,5vw,55px)/1.04 var(--serif);letter-spacing:-.035em;margin:0;color:#2c241e}
.newsletter-status-card>p:not(.eyebrow){max-width:580px;margin:21px auto 0;color:#63584f;font:17px/1.57 var(--serif)}
.newsletter-status-card .newsletter-status-help{font-size:13px;color:#817468}
.newsletter-status-card .button{margin-top:31px}
.newsletter-status-success .newsletter-status-symbol{background:#e5eadc;color:#566545}

/* Manifesto / footer */
.manifesto{display:grid;grid-template-columns:48% 52%;min-height:380px;background:#f6efe4}
.manifesto-image{position:relative;overflow:hidden;background:#6f4b30;isolation:isolate}
.manifesto-image:after{position:absolute;inset:0;content:"";background:linear-gradient(90deg,rgba(31,23,17,.43),rgba(31,23,17,.05)),linear-gradient(0deg,rgba(31,23,17,.12),transparent 50%)}
.manifesto-image img{width:100%;height:100%;object-fit:cover;object-position:50% 38%;position:absolute;inset:0}
.manifesto-image p{position:absolute;top:31%;left:11%;z-index:2;font:italic 26px/1.3 var(--serif);color:#fff8e6;transform:rotate(-7deg);text-shadow:0 1px 6px #493524}
.manifesto-panel{position:relative;display:flex;align-items:center;background:radial-gradient(circle at 95% 30%,rgba(221,204,175,.45),transparent 42%),#f8f1e8}
.manifesto-panel-inner{max-width:675px;padding:62px min(5.5vw,75px)}
.manifesto-panel .section-title{font-size:clamp(28px,2.5vw,37px);max-width:610px;margin-bottom:19px}
.manifesto-panel p:not(.eyebrow){color:#665c52;font:14px/1.52 var(--serif);margin:0 0 12px}
.manifesto-panel .brand-origin-note{margin:19px 0;padding:13px 0 13px 17px;border-left:2px solid #b7774b;color:#59493d}
.brand-origin-note strong{color:#7f432f}
.brand-origin-note a{display:inline-block;color:#915039;font-weight:600;border-bottom:1px solid #c39b7f}
.manifesto-panel .button{margin-top:9px}
.manifesto-stamp{position:absolute;right:22px;bottom:17px;font:600 9px/1.35 var(--sans);letter-spacing:.15em;text-align:right;color:#aa8e67;opacity:.7}
.site-footer{background:#261d17;color:#f4eada;padding:42px 0 18px}
.footer-top{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-bottom:32px;border-bottom:1px solid #59483b}
.footer-brand{display:flex;align-items:center;gap:10px;color:#d2ad71}
.footer-brand-symbol{width:38px;height:50px}
.footer-brand span{display:flex;flex-direction:column}
.footer-brand strong{font:600 22px/1 var(--serif);letter-spacing:.075em;color:#f1e5ce}
.footer-brand small{font:700 7px/1 var(--sans);letter-spacing:.15em;margin-top:8px}
.footer-nav{display:grid;grid-template-columns:repeat(4,minmax(115px,1fr));gap:31px 42px;font-size:12px;flex:1;max-width:710px}
.footer-nav>div{display:grid;align-content:start;gap:7px}
.footer-nav strong{color:#d2ad71;font:700 9px/1.3 var(--sans);letter-spacing:.13em;text-transform:uppercase;margin-bottom:4px}
.footer-nav a{color:#e3d7c8}
.footer-nav a:hover{color:#d9ad80}
.footer-signature{font:italic 16px/1.2 var(--serif);color:#e0c7a4;margin:0}
.footer-bottom{display:flex;justify-content:space-between;gap:25px;color:#ae9d8e;font-size:10px;padding-top:17px}
.footer-bottom p{margin:0}
.footer-bottom a{color:#e0c7a4;text-decoration:underline;text-underline-offset:3px}

/* Consentement et confidentialité */
.analytics-consent[hidden]{display:none!important}
.analytics-consent{position:fixed;z-index:1200;left:50%;bottom:18px;transform:translateX(-50%);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:25px;width:min(1060px,calc(100% - 36px));padding:23px 25px;background:#fffaf2;color:#342920;border:1px solid #c9aa8d;border-top:4px solid var(--terracotta);box-shadow:0 18px 55px rgba(31,22,16,.24)}
.analytics-consent .eyebrow{margin:0 0 7px}.analytics-consent h2{font:600 25px/1.12 var(--serif);margin:0 0 8px}.analytics-consent-copy>p:not(.eyebrow){max-width:690px;margin:0;color:#65594f;font:13px/1.55 var(--serif)}
.analytics-consent-copy>a{display:inline-block;margin-top:9px;color:#86472f;font:700 10px/1.3 var(--sans);letter-spacing:.07em;text-transform:uppercase;text-decoration:underline;text-underline-offset:3px}
.analytics-consent-actions{display:grid;grid-template-columns:1fr;gap:9px;min-width:210px}.analytics-consent-actions button{min-height:46px;padding:11px 16px;border:1px solid #91543c;border-radius:3px;background:#91543c;color:#fffaf2;font:700 11px/1.25 var(--sans);cursor:pointer}.analytics-consent-actions button:hover{background:#713b29;border-color:#713b29}.analytics-consent-actions button:focus-visible{outline:3px solid #d4a87f;outline-offset:3px}
.privacy-copy h3{margin-top:31px}.privacy-consent-button{margin-top:8px;color:#fffaf2;background:#91543c;border-color:#91543c}.privacy-aside>p:last-child{margin-top:21px;font:italic 14px/1.5 var(--serif);color:#6c5d50}.privacy-facts{margin:0}.privacy-facts div{padding:13px 0;border-bottom:1px solid #d9cbbb}.privacy-facts dt{font:700 8px/1.2 var(--sans);letter-spacing:.13em;text-transform:uppercase;color:#956044}.privacy-facts dd{margin:5px 0 0;font:15px/1.35 var(--serif);color:#4e433a}

/* Secondary pages */
.inner-hero{position:relative;isolation:isolate;padding:55px 0 85px;min-height:360px;overflow:hidden;background:#e9ddcc}
.inner-hero:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 75% 20%,rgba(196,143,94,.16),transparent 44%),linear-gradient(100deg,#f5ede1 0%,#eee2d1 100%)}
.inner-hero:after{content:"✧";font:320px var(--serif);color:rgba(154,102,61,.07);position:absolute;right:9%;top:-155px;z-index:-1}
.inner-hero-inner{position:relative}
.inner-hero h1{font:400 clamp(39px,4.7vw,63px)/1.04 var(--serif);letter-spacing:-.04em;margin:0;max-width:780px}
.inner-hero h1 em{color:var(--terracotta)}
.inner-hero-inner>p:not(.eyebrow){max-width:650px;line-height:1.6;color:#685d50;font-size:16px;margin:20px 0 0}
.inner-hero .eyebrow{margin-top:38px}
.inner-hero-recipes:before{background:linear-gradient(105deg,rgba(246,237,224,.97),rgba(245,235,220,.9) 63%,rgba(245,235,220,.54)),url('../images/fusion.webp') right center/45% auto no-repeat}
.inner-hero-spices:before{background:linear-gradient(110deg,#f6ede1 15%,rgba(247,237,224,.93) 61%,rgba(235,222,201,.58)),url('../images/fusion.webp') right center/49% auto no-repeat}
.inner-hero-techniques:before{background:linear-gradient(100deg,#f5ece1 2%,rgba(242,228,211,.88) 65%,rgba(219,201,172,.6)),url('../images/hero.webp') right center/50% auto no-repeat}
.inner-hero-about:before{background:linear-gradient(100deg,#f5ece1 3%,rgba(243,232,216,.94) 64%,rgba(231,210,179,.42)),url('../images/manifesto.webp') right center/47% auto no-repeat}
.breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:12px;color:#856d58;font-size:11px;margin-bottom:27px}
.breadcrumbs a:hover{color:var(--terracotta);text-decoration:underline}
.page-content{padding-top:71px;padding-bottom:78px}
.regions-grid-large{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.regions-grid-large .region-card-image{aspect-ratio:1.74}
.regions-grid-large .region-card-title{font-size:24px;min-height:0}
.regions-grid-large .region-card-desc{font-size:15px;min-height:0}
.editorial-note{border-left:2px solid #b38e68;color:#7a7065;font:13px/1.65 var(--sans);padding-left:17px;margin-top:32px;max-width:790px}
.detail-two-columns{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(280px,1fr);gap:clamp(50px,8vw,135px)}
.detail-main>p:not(.eyebrow),.detail-main li{color:#665a4d;max-width:735px;line-height:1.75}
.lead-paragraph{font:20px/1.6 var(--serif)!important;color:#50453a!important;margin-top:25px}
.detail-aside{border-top:2px solid #9a7659;background:#f7efe3;padding:25px 28px 33px;align-self:start;box-shadow:0 13px 36px rgba(78,55,37,.05)}
.accent-list{list-style:none;margin:20px 0 0;padding:0}
.accent-list li{font-size:14px;line-height:1.5;color:#5c5148;border-bottom:1px solid #e1d4c3;padding:13px 0 13px 20px;position:relative}
.accent-list li:before{content:"✦";position:absolute;left:0;color:#a96543;font-size:10px;top:16px}
.regions-grid-large .region-card-body{padding:20px}
.region-detail-hero{min-height:400px;isolation:isolate;background:#28211b;position:relative;display:flex;align-items:center;color:white;overflow:hidden}
.region-detail-visual{position:absolute;inset:0 0 0 38%;z-index:-3}
.region-detail-visual img{height:100%;width:100%;object-fit:cover;filter:saturate(.8) contrast(1.06)}
.region-detail-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#28211b 0%,rgba(40,33,27,.97) 35%,rgba(40,33,27,.67) 62%,rgba(40,33,27,.18));z-index:-2}
.region-detail-body{padding-top:48px;padding-bottom:64px}
.breadcrumbs-light{color:#e4b88f}
.region-detail-body h1{font:400 clamp(45px,5vw,69px)/1.05 var(--serif);letter-spacing:-.04em;margin:10px 0 15px;max-width:850px}
.region-detail-body>p:not(.eyebrow){font:18px/1.5 var(--serif);color:#e1d4c7;max-width:640px;margin:0}
.recipes-grid-limited{grid-template-columns:repeat(3,minmax(0,1fr));max-width:900px}
.empty-editorial{border:1px solid #dccab5;background:#fcf8f1;padding:26px 30px;max-width:800px}
.empty-editorial p{margin:0 0 10px;color:#685e51}
.recipe-count{font-size:13px;color:#827263}
.recipe-controls{display:flex;gap:24px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:28px}
.catalogue-search-label{display:flex;align-items:center;gap:10px;background:#fcf9f3;border:1px solid #d9c9b5;color:#7e6f5d;padding:10px 13px;min-width:min(100%,310px);min-height:48px}
.catalogue-search-label input{border:0;background:none;color:var(--text);min-width:0;width:100%;font-size:13px}
.catalogue-search-label:focus-within{outline:3px solid #bc7148;outline-offset:3px}
.catalogue-search-label input:focus-visible{outline:0}
.filters{display:flex;gap:8px;flex-wrap:wrap}
.filter-chip{border:1px solid #bda88f;background:transparent;color:#665a4b;border-radius:2px;padding:8px 12px;min-height:44px;font:600 12px var(--sans)}
.filter-chip:hover{background:#f1e4d5}
.filter-chip.is-active{background:#8a4b34;border-color:#8a4b34;color:white}
.advanced-filters{display:grid;grid-template-columns:repeat(5,minmax(135px,1fr)) auto;gap:10px;align-items:end;margin:-10px 0 30px;padding:17px;background:#f8f1e7;border:1px solid #d8c8b4}
.advanced-filters label{display:grid;gap:5px;color:#8e6045;font-size:9px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.advanced-filters select{width:100%;min-height:44px;border:1px solid #bca78e;background:#fffaf4;color:#43382f;padding:8px 28px 8px 10px;border-radius:2px;font-size:12px;text-transform:none;letter-spacing:0}
.advanced-filters button{min-height:44px;border:1px solid #aa8d72;background:transparent;color:#6e5746;padding:8px 13px;border-radius:2px;font-size:11px;font-weight:700;white-space:nowrap}.advanced-filters button:hover{background:#eadcca;color:var(--terracotta-dark)}
.recipes-catalogue{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.recipes-catalogue .recipe-card[hidden]{display:none!important}
.recipe-page{--route-accent:#9a5b3d}
.recipe-print-masthead,.recipe-print-servings,.recipe-print-footer{display:none}
.recipe-route-porchetta{--route-accent:#65704f}
.recipe-route-nam-tok-moo{--route-accent:#627252}
.recipe-route-cullen-skink{--route-accent:#61717a}
.recipe-route-kremet-fiskesuppe-variation-1{--route-accent:#53786a}
.recipe-route-marinade-jerk-jamaicaine{--route-accent:#a55432}
.recipe-route-sabich,.recipe-route-mujaddara{--route-accent:#9a603d}
.recipe-detail-intro{position:relative;overflow:hidden;padding:43px 0 60px;background-color:var(--paper);background-image:linear-gradient(100deg,rgba(247,242,233,.97) 4%,rgba(247,242,233,.77) 64%,rgba(247,242,233,.67)),var(--recipe-route-map);background-repeat:no-repeat;background-position:center,center 47%;background-size:cover,max(1080px,100%) auto}
.recipe-detail-intro:after{content:"";position:absolute;right:clamp(20px,5vw,80px);top:54px;width:74px;height:74px;border:1px solid color-mix(in srgb,var(--route-accent) 32%,transparent);border-radius:50%;opacity:.5;pointer-events:none}
.recipe-detail-intro:before{content:"✦";position:absolute;right:clamp(34px,6vw,95px);top:64px;color:color-mix(in srgb,var(--route-accent) 23%,transparent);font:55px/1 var(--serif);transform:rotate(16deg);pointer-events:none}
.recipe-detail-intro>.container{position:relative;z-index:1}
.recipe-detail-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(35px,6vw,100px)}
.recipe-detail-heading{padding:35px 0}
.recipe-kicker-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px}.recipe-kicker-row .eyebrow{margin:0}
.recipe-diet-chip{display:inline-flex;align-items:center;min-height:28px;padding:5px 9px;background:#edf0e5;border:1px solid #aab49b;color:#4d5d3d;font:800 8px/1 var(--sans);letter-spacing:.11em;text-transform:uppercase}
.recipe-detail-heading h1{font:400 clamp(52px,6vw,78px)/1.05 var(--serif);margin:0 0 20px;letter-spacing:-.05em}
.recipe-detail-lead{font:22px/1.4 var(--serif);max-width:460px;color:#605246;margin:0 0 27px}
.recipe-detail-photo{aspect-ratio:1.54;overflow:hidden;box-shadow:0 21px 55px rgba(52,35,22,.17)}
.recipe-detail-photo img{width:100%;height:100%;object-fit:cover}
.recipe-tag-row{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:30px}
.recipe-tag-row span{border:1px solid #d4bda2;background:#faf3e8;padding:7px 11px;font-size:11px;color:#846248}
.recipe-editorial-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0 0 27px;background:#d8c8b5;border:1px solid #d8c8b5}
.recipe-editorial-meta div{min-width:0;background:#f8f1e7;padding:11px 12px}.recipe-editorial-meta dt{color:#87533a;font:800 8px/1.3 var(--sans);letter-spacing:.12em;text-transform:uppercase;margin-bottom:3px}.recipe-editorial-meta dd{margin:0;color:#55483d;font:13px/1.35 var(--serif)}
.draft-note{background:#f5ebdf;border-left:3px solid #ad714f;padding:24px 29px;margin-top:28px}
.draft-note strong{font:600 19px var(--serif)}
.draft-note p{margin:7px 0 0;font-size:13px;line-height:1.6}
.recipe-facts{margin:8px 0 0}
.recipe-facts div{padding:12px 0;border-bottom:1px solid #e0d1bf}
.recipe-facts dt{color:#805039;font:700 10px var(--sans);letter-spacing:.1em;text-transform:uppercase;margin-bottom:2px}
.recipe-facts dd{margin:0;font:16px/1.4 var(--serif)}
.recipe-detail-photo{margin:0}
.recipe-hero-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.recipe-print-button{min-height:45px;border:1px solid #bca58d;background:transparent;color:#665544;padding:11px 16px;border-radius:3px;font-weight:600}
.recipe-print-button:hover{background:#eee1d1;color:var(--terracotta-dark)}
.recipe-anchor-bar{position:sticky;top:0;z-index:80;background:rgba(252,249,243,.96);border-block:1px solid #e3d7c8;backdrop-filter:blur(10px)}
.recipe-anchor-inner{display:flex;align-items:center;gap:7px;min-height:58px}
.recipe-anchor-inner a,.recipe-anchor-inner button{display:inline-flex;align-items:center;min-height:44px;padding:9px 15px;border:0;background:transparent;color:#66584a;font:700 11px/1.2 var(--sans);letter-spacing:.08em;text-transform:uppercase;border-radius:3px}
.recipe-anchor-inner a:hover,.recipe-anchor-inner button:hover{background:#efe3d4;color:var(--terracotta-dark)}
.recipe-anchor-inner button{margin-left:auto}
.recipe-overview{background-color:#fbf7f0;background-image:linear-gradient(rgba(251,247,240,.91),rgba(251,247,240,.91)),var(--recipe-route-map);background-position:center,center 20%;background-size:cover,max(1100px,100%) auto;padding-block:62px}
.marinade-usage-section{padding-block:58px 64px;border-block:1px solid #dfd2c1}.marinade-usage-section .section-header{align-items:end}.marinade-usage-intro{max-width:470px;margin:0;color:#6b5e52;font:16px/1.55 var(--serif)}
.marinade-usage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.marinade-usage-grid article{display:grid;gap:7px;min-height:190px;padding:24px;background:#f8f1e7;border-top:3px solid #99573d}.marinade-usage-grid p{margin:0;color:#9a5a3d;font-size:9px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.marinade-usage-grid strong{font:600 30px/1 var(--serif);color:#332a24}.marinade-usage-grid span{color:#64584d;font:15px/1.45 var(--serif)}.marinade-usage-grid small{margin-top:auto;padding-top:11px;border-top:1px solid #ded0bf;color:#725a49;font-size:11px;font-weight:700}.marinade-usage-note{margin:18px 0 0;padding:14px 17px;border-left:3px solid #a66546;background:#eee1d1;color:#65584c;font-size:12px;line-height:1.55}
.ingredients-workspace{background-color:#efe4d4;background-image:linear-gradient(rgba(239,228,212,.91),rgba(239,228,212,.91)),var(--recipe-route-map);background-position:center,center 48%;background-size:cover,max(1200px,100%) auto;padding-block:72px}
.recipe-content-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,330px);gap:clamp(42px,7vw,100px);align-items:start}
.recipe-main-column{min-width:0}
.serving-calculator{margin:27px 0 26px;background:#312720;color:#fff8ed;padding:22px 24px;display:flex;align-items:center;justify-content:space-between;gap:25px;border-radius:3px;box-shadow:0 12px 30px rgba(54,37,25,.12)}
.serving-label{font:600 21px/1.2 var(--serif);margin:0 0 5px}
.serving-help{color:#d9cbbb;font-size:12px;line-height:1.48;max-width:540px;margin:0}
.serving-stepper{display:flex;align-items:center;gap:8px;flex-shrink:0;background:#1f1915;padding:5px;border:1px solid #5d4b3d;border-radius:4px}
.serving-stepper button{width:44px;height:44px;border:0;background:#a75337;color:white;font-size:25px;line-height:1;border-radius:2px}
.serving-stepper button:hover{background:#c06a49}.serving-stepper button:disabled{opacity:.38}
.serving-stepper input{width:48px;height:44px;border:0;border-bottom:1px solid #7e6a58;background:transparent;color:white;text-align:center;font:600 19px var(--serif);-moz-appearance:textfield}
.serving-stepper input::-webkit-inner-spin-button,.serving-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.serving-stepper>span{font-size:12px;color:#e1d4c4;min-width:62px}
.recipe-caution{margin:-8px 0 26px;padding:15px 18px;border-left:3px solid #a85a3d;background:#f8f0e5;color:#65584c;font-size:13px;line-height:1.55}
.recipe-blend-stack{display:grid;gap:14px;margin:0 0 26px}
.recipe-blend-callout{display:grid;grid-template-columns:56px minmax(0,1fr) minmax(190px,auto);gap:22px;align-items:center;margin:0;padding:23px 24px;background:#35291f;color:#fff8ed;border:1px solid #5d4938;box-shadow:0 13px 32px rgba(53,38,26,.12)}
.recipe-blend-symbol{display:grid;place-items:center;width:52px;height:52px;border:1px solid #88654c;border-radius:50%;color:#d7a275;font:30px/1 var(--serif)}
.recipe-blend-copy .eyebrow{color:#d2a47f;margin:0 0 5px}.recipe-blend-copy h3{color:#fffaf2;font:600 27px/1.08 var(--serif);margin:0 0 8px}.recipe-blend-copy>p:not(.eyebrow){color:#dfd0c0;font:13px/1.5 var(--serif);margin:0;max-width:620px}
.recipe-blend-copy .ingredient-profile{margin-top:13px}.recipe-blend-copy .ingredient-profile span{border-color:#745945;background:#443329;color:#e5c6a8}
.recipe-blend-actions{display:grid;gap:11px;justify-items:start}.recipe-blend-open{min-height:46px;background:#a4583d;border-color:#a4583d;color:white;text-align:left}.recipe-blend-open:hover{background:#bd6c4e}.recipe-blend-actions .text-link{color:#f0c39f}.recipe-blend-actions .text-link:hover{color:white}
.ingredient-groups{display:grid;gap:19px}
.ingredient-group{background:#fbf7f0;border:1px solid #ddcebc;padding:24px 25px 16px}
.ingredient-group h3{font:600 24px/1.2 var(--serif);margin:0 0 14px;color:#372c24}
.ingredient-blend-formula{padding:0;scroll-margin-top:78px;overflow:hidden}.ingredient-blend-formula>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:76px;padding:20px 24px;cursor:pointer;list-style:none;background:#f7eee2;color:#382d25}.ingredient-blend-formula>summary::-webkit-details-marker{display:none}.ingredient-blend-formula>summary>span:first-child{font:600 23px/1.18 var(--serif)}.ingredient-blend-formula>summary small{display:block;margin-bottom:5px;color:#9b5a3e;font:800 8px/1 var(--sans);letter-spacing:.14em}.blend-summary-state{flex-shrink:0;color:#87523a;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.ingredient-blend-formula[open] .blend-summary-state{font-size:0}.ingredient-blend-formula[open] .blend-summary-state:after{content:"Masquer la formule";font-size:10px}.ingredient-blend-formula[open]>summary{border-bottom:1px solid #ddcebc}.ingredient-blend-formula>.ingredient-list{padding:0 25px 16px}.blend-batch-note{margin:18px 25px 5px;padding:10px 13px;border-left:3px solid #a45b3e;background:#efe1d1;color:#67574a;font-size:11px;line-height:1.45}
.ingredient-variant{border-top:3px solid #aa6646}
.variant-hint{margin:-7px 0 15px;color:#92715b;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em}
.ingredient-list{list-style:none;margin:0;padding:0}
.ingredient-list li{position:relative;border-top:1px solid #e5d9cb}
.ingredient-list label{display:grid;grid-template-columns:minmax(112px,145px) 1fr;gap:18px;align-items:start;min-height:49px;padding:12px 5px 11px 36px;cursor:pointer;position:relative}
.ingredient-check{position:absolute;left:4px;top:13px;width:20px;height:20px;margin:0;accent-color:var(--terracotta)}
.ingredient-amount{font-weight:700;color:#8c4e36;font-size:13px}
.ingredient-name{font:16px/1.35 var(--serif);color:#453b33}
.ingredient-name small{display:block;color:#73675e;font:11px/1.4 var(--sans);margin-top:2px}
.ingredient-check:checked+label{opacity:.53;text-decoration:line-through;text-decoration-thickness:1px}
.recipe-side-note{position:sticky;top:84px;background:#f9f2e8;border-top:3px solid #9a5b3d;padding:27px 27px 30px;box-shadow:0 15px 40px rgba(71,50,33,.08)}
.recipe-side-note h3{font:600 22px/1.2 var(--serif);margin:16px 0 8px}
.recipe-side-note p,.recipe-side-note li{font-size:13px;line-height:1.62;color:#665b51}
.recipe-side-note ul{padding-left:19px;margin:7px 0 0}
.recipe-narrow{max-width:1040px}
.preparation-section{background-color:#fbf8f2;background-image:linear-gradient(rgba(251,248,242,.93),rgba(251,248,242,.93)),var(--recipe-route-map);background-position:center,center 70%;background-size:cover,max(1200px,100%) auto;padding-block:75px}
.recipe-steps{list-style:none;padding:0;margin:31px 0 0;counter-reset:steps}
.recipe-steps li{position:relative;border-top:1px solid #ded1c2}
.recipe-steps li:last-child{border-bottom:1px solid #ded1c2}
.recipe-steps label{display:grid;grid-template-columns:72px 1fr;gap:25px;padding:25px 46px 25px 0;cursor:pointer;position:relative}
.step-check{position:absolute;right:8px;top:28px;width:22px;height:22px;margin:0;accent-color:var(--terracotta)}
.step-number{font:italic 31px/1 var(--serif);color:#a86142}
.step-copy{display:grid;gap:7px}
.step-copy strong{font:600 21px/1.2 var(--serif);color:#372d25}
.step-copy>span{font-size:14px;line-height:1.7;color:#62584f}
.step-check:checked+label{opacity:.48}.step-check:checked+label .step-copy strong{text-decoration:line-through}
.recipe-tips-section{background-color:#e8dac8;background-image:linear-gradient(rgba(232,218,200,.91),rgba(232,218,200,.91)),var(--recipe-route-map);background-position:center,center 93%;background-size:cover,max(1150px,100%) auto;padding-block:70px}
.recipe-tips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;list-style:none;margin:29px 0 0;padding:0}
.recipe-tips li{background:#f9f3ea;border-left:3px solid #9f5b3f;padding:20px 22px;font:16px/1.58 var(--serif);color:#54483d}
.recipe-end-actions{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:35px}
.recipe-end-actions>span{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.recipe-ingredients-button{color:#6b5545;background:#fbf5eb;border-color:#bca58d}
.recipe-ingredients-button:hover{background:#efe0cf;color:var(--terracotta-dark)}
.recipe-shopping-button{color:#685241;background:#f8efe4;border-color:#b99e82}
.recipe-shopping-button:hover{background:#e9dac7;color:var(--terracotta-dark)}
.recipe-shopping-button.is-added{background:#667253;border-color:#667253;color:white}
.recipe-menu-button{color:#654f3f;background:#f1e3d3;border-color:#af9175}
.recipe-menu-button:hover{background:#e5d1bb;color:var(--terracotta-dark)}
.recipe-menu-button.is-added{background:#7b664f;border-color:#7b664f;color:white}

/* Multi-recipe shopping list */
.shopping-hero{padding:48px 0 58px;border-bottom:1px solid #dfd2c1}
.shopping-hero-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,.65fr);gap:clamp(45px,8vw,125px);align-items:end}
.shopping-hero h1{font:400 clamp(52px,6vw,82px)/.96 var(--serif);letter-spacing:-.05em;margin:0}
.shopping-hero h1 em{font-weight:400;color:var(--terracotta)}
.shopping-hero-grid>div>p:last-child{max-width:660px;color:#665a4d;font:18px/1.58 var(--serif);margin:23px 0 0}
.shopping-hero aside{border-top:2px solid #9b694c;padding:22px 0 3px;display:grid;gap:6px}
.shopping-hero aside strong{font:600 24px/1.2 var(--serif)}
.shopping-hero aside span{color:#796d61;font-size:12px}
.shopping-workspace{background:#ede1d0;padding-block:62px 78px}
.shopping-layout{display:grid;grid-template-columns:minmax(390px,.86fr) minmax(0,1.5fr);gap:clamp(35px,5vw,80px);align-items:start}
.shopping-recipes-panel,.shopping-list-panel{min-width:0}
.shopping-panel-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:22px}
.shopping-panel-heading .eyebrow{margin-bottom:6px}.shopping-panel-heading h2{font:400 36px/1.1 var(--serif);margin:0}
.shopping-heading-links{display:flex;align-items:center;justify-content:end;gap:15px;flex-wrap:wrap}
.shopping-recipe-list{display:grid;gap:10px}
.shopping-recipe{display:grid;grid-template-columns:112px 1fr;gap:17px;align-items:center;background:#f9f4ec;border:1px solid #d8c8b5;padding:10px;transition:border-color .2s,background .2s}
.shopping-recipe[hidden]{display:none}
.shopping-recipes-empty{border:1px dashed #c9b49b;padding:24px;background:#f8f0e5;color:#6d6258}
.shopping-recipes-empty[hidden]{display:none}.shopping-recipes-empty p{margin:0 0 8px;font:19px/1.3 var(--serif)}
.shopping-recipe.is-selected{border-color:#8d684d;background:#fffaf2;box-shadow:inset 3px 0 #8f5138}
.shopping-recipe img{width:112px;height:92px;object-fit:cover}
.shopping-recipe h3{font:600 21px/1.15 var(--serif);margin:0 0 4px}.shopping-recipe h3 a:hover{color:var(--terracotta)}
.shopping-recipe p{font-size:11px;color:#7a6d60;margin:0 0 9px}
.shopping-recipe-controls{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.shopping-recipe-controls>button:not(.shopping-toggle){width:44px;height:44px;border:1px solid #bda991;background:#f3e8db;color:#704a36;font-size:20px;border-radius:2px}
.shopping-recipe-controls input{width:48px;height:44px;border:1px solid #baa58c;background:white;text-align:center;color:#342c26;-moz-appearance:textfield}
.shopping-recipe-controls input::-webkit-inner-spin-button,.shopping-recipe-controls input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.shopping-toggle{min-height:44px;margin-left:4px;padding:8px 14px;border:1px solid #9e674c;background:#985038;color:white;border-radius:2px;font-size:11px;font-weight:700}
.shopping-recipe.is-selected .shopping-toggle{background:#667253;border-color:#667253}
.shopping-list-panel{background:#fbf7f0;border-top:4px solid #865039;padding:29px clamp(22px,4vw,43px) 38px;box-shadow:0 18px 44px rgba(66,46,29,.08)}
.shopping-list-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:end}
.shopping-list-actions button{min-height:44px;padding:8px 13px;border:1px solid #b59f88;background:transparent;color:#66574a;border-radius:2px;font-size:11px;font-weight:700}
.shopping-list-actions button:hover:not(:disabled){background:#eee1d2}.shopping-list-actions button:disabled{opacity:.4}
.shopping-list-actions .shopping-share-primary{background:#865039;border-color:#865039;color:white}.shopping-list-actions .shopping-share-primary:hover:not(:disabled){background:#6f402e}
.shopping-share-note{margin:-8px 0 20px;color:#786b5e;font-size:11px;line-height:1.5}.shopping-share-status{min-height:18px;margin:-10px 0 18px;color:#6d594b;font-size:11px;line-height:1.45}
.shopping-empty{border:1px dashed #c9b49b;padding:45px 28px;text-align:center;color:#6d6258;background:#f8f0e5}
.shopping-empty[hidden]{display:none}.shopping-empty>span{font:42px var(--serif);color:#a66d4b}.shopping-empty h3{font:600 24px var(--serif);margin:6px 0}.shopping-empty p{font-size:13px;line-height:1.6;max-width:500px;margin:0 auto}
.shopping-groups{display:grid;gap:28px}
.shopping-group h3{font:700 11px/1.4 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:#8c593c;border-bottom:1px solid #cdbca8;padding-bottom:9px;margin:0}
.shopping-group ul{list-style:none;margin:0;padding:0}
.shopping-group li{position:relative;border-bottom:1px solid #e2d7ca}
.shopping-group input{position:absolute;left:2px;top:16px;width:22px;height:22px;margin:0;accent-color:var(--terracotta)}
.shopping-group label{display:grid;grid-template-columns:minmax(85px,125px) 1fr;gap:16px;align-items:start;padding:15px 4px 14px 37px;cursor:pointer;min-height:54px}
.shopping-group label>strong{font-size:13px;color:#8b4c34}.shopping-group label>span{font:17px/1.25 var(--serif);color:#41362d}
.shopping-group label small{display:block;margin-top:4px;color:#716357;font:10px/1.4 var(--sans)}
.shopping-group input:checked+label{opacity:.48;text-decoration:line-through}
.shopping-caution{margin:29px 0 0;padding:16px 18px;border-left:3px solid #a66143;background:#efe2d2;color:#65584c;font-size:12px;line-height:1.55}
.shopping-caution[hidden]{display:none}

/* Local weekly menu planner */
.menu-hero{padding:48px 0 58px;border-bottom:1px solid #dfd2c1}
.menu-hero-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,.65fr);gap:clamp(45px,8vw,125px);align-items:end}
.menu-hero h1{font:400 clamp(52px,6vw,82px)/.96 var(--serif);letter-spacing:-.05em;margin:0}.menu-hero h1 em{font-weight:400;color:var(--terracotta)}
.menu-hero-grid>div>p:last-child{max-width:680px;color:#665a4d;font:18px/1.58 var(--serif);margin:23px 0 0}
.menu-hero aside{border-top:2px solid #9b694c;padding:22px 0 3px;display:grid;gap:6px}.menu-hero aside strong{font:600 24px/1.2 var(--serif)}.menu-hero aside span{color:#796d61;font-size:12px}
.menu-workspace{background:#eadccb;padding-block:62px 78px}
.menu-toolbar{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:18px;margin-bottom:53px}
.menu-add-card,.menu-actions-card{background:#fbf7f0;border:1px solid #d7c6b3;border-top:4px solid #865039;padding:27px 28px 29px;box-shadow:0 13px 32px rgba(66,46,29,.07)}
.menu-add-card{display:grid;grid-template-columns:minmax(190px,.75fr) minmax(250px,1.2fr) auto;gap:20px;align-items:end}.menu-add-card h2,.menu-actions-card h2,.menu-planner-heading h2{font:400 34px/1.1 var(--serif);margin:0}.menu-add-card .eyebrow,.menu-actions-card .eyebrow,.menu-planner-heading .eyebrow{margin-bottom:6px}
.menu-add-card label,.menu-entry-controls label{display:grid;gap:7px;color:#766658;font:700 9px/1.3 var(--sans);letter-spacing:.12em;text-transform:uppercase}.menu-add-card select,.menu-entry-controls select,.menu-entry-controls input{min-height:45px;border:1px solid #bda88f;background:#fffdf9;color:#392f28;border-radius:2px;padding:8px 11px;font:14px/1.2 var(--sans)}
.menu-actions-card{display:grid;grid-template-columns:1fr 1fr;gap:16px 24px;align-items:end}.menu-actions-card>p{margin:0;color:#6b5d51;font:13px/1.52 var(--serif)}.menu-actions{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap}.menu-actions button{min-height:44px;padding:9px 13px;border:1px solid #a98e73;background:#f6ecdf;color:#5f4b3e;border-radius:2px;font-size:11px;font-weight:700}.menu-actions button:first-child{background:#865039;border-color:#865039;color:white}.menu-actions button:disabled{opacity:.42}
.menu-planner-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:20px}.menu-save-status{min-height:22px;margin:0;color:#6f5b4d;font:12px/1.4 var(--sans);text-align:right}
.menu-empty{padding:50px 28px;text-align:center;color:#6d6258;background:#f8f0e5;border:1px dashed #c5ad91}.menu-empty[hidden]{display:none}.menu-empty>span{font:42px var(--serif);color:#a66d4b}.menu-empty h3{font:600 25px var(--serif);margin:6px 0}.menu-empty p{font-size:13px;margin:0 0 14px}.menu-entry-list{display:grid;gap:11px}.menu-entry-list[hidden]{display:none}
.menu-entry{display:grid;grid-template-columns:170px minmax(0,1fr);background:#fcf8f1;border:1px solid #d5c3af;min-height:145px}.menu-entry img{width:170px;height:100%;min-height:145px;object-fit:cover}.menu-entry-body{padding:19px 22px 20px;min-width:0}.menu-entry-heading{display:flex;justify-content:space-between;gap:18px;align-items:start;margin-bottom:17px}.menu-entry-heading h3{font:600 25px/1.13 var(--serif);margin:0}.menu-entry-heading h3 a:hover{color:var(--terracotta)}.menu-remove{min-height:44px;border:0;background:transparent;color:#7c4a35;text-decoration:underline;text-underline-offset:3px;font-size:10px;font-weight:700}
.menu-entry-controls{display:grid;grid-template-columns:minmax(145px,.8fr) minmax(145px,.75fr) minmax(190px,1fr);gap:13px;align-items:end}.menu-serving-stepper{display:grid;grid-template-columns:44px minmax(54px,70px) 44px}.menu-serving-stepper button{min-height:45px;border:1px solid #bda88f;background:#f0e3d4;color:#704a36;font-size:19px}.menu-serving-stepper input{width:100%;text-align:center;border-inline:0;-moz-appearance:textfield}.menu-serving-stepper input::-webkit-inner-spin-button,.menu-serving-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.menu-local-note{margin:27px 0 0;padding:15px 18px;border-left:3px solid #7c7655;background:#f1e8dc;color:#65584d;font:12px/1.55 var(--serif)}

/* Ingredient sourcing and substitution guides */
.ingredient-guides-section{background:#e9dcc9;padding-block:66px 80px}
.ingredient-guides-intro{max-width:510px;margin:0;color:#6d6053;font:15px/1.55 var(--serif)}
.ingredient-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.ingredient-guide-card{display:flex;flex-direction:column;min-height:315px;padding:26px 27px 28px;border:1px solid #d3c2ae;background:#fbf6ef}
.ingredient-guide-card>p:first-of-type{margin:20px 0 6px;color:#9b6749;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.ingredient-guide-card h3{font:600 30px/1.05 var(--serif);letter-spacing:-.035em;margin:0 0 13px}.ingredient-guide-card h3 a:hover{color:var(--terracotta)}
.ingredient-guide-card>p:nth-of-type(2){margin:0;color:#685d52;font:14px/1.48 var(--serif)}
.ingredient-guide-card>div{display:flex;gap:6px;flex-wrap:wrap;margin:18px 0 21px}.ingredient-guide-card>div span{border:1px solid #d7c4ad;padding:5px 8px;color:#80664f;font-size:9px;text-transform:uppercase;letter-spacing:.06em}
.ingredient-guide-card .text-link{margin-top:auto;align-self:flex-start;min-height:36px}
.ingredient-guide-hero{padding:47px 0 63px;border-bottom:1px solid #ded1c0}
.ingredient-guide-hero h1{font:400 clamp(56px,7vw,90px)/.95 var(--serif);letter-spacing:-.055em;margin:0 0 21px}
.ingredient-guide-hero>div>p:not(.eyebrow){max-width:760px;margin:0;color:#5f5348;font:21px/1.5 var(--serif)}
.ingredient-profile{display:flex;gap:8px;flex-wrap:wrap;margin-top:27px}.ingredient-profile span{border:1px solid #c8ad90;background:#f8ecdd;color:#7d543c;padding:8px 11px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.09em}
.ingredient-guide-content{background:#f8f3eb;padding-block:70px 84px}
.ingredient-guide-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(285px,.7fr);gap:clamp(50px,8vw,120px);align-items:start}
.ingredient-guide-block{padding:0 0 48px;margin-bottom:44px;border-bottom:1px solid #d9cbbb}.ingredient-guide-block h2,.ingredient-substitute h2{font:400 clamp(32px,4vw,48px)/1.1 var(--serif);letter-spacing:-.035em;margin:0 0 22px}.ingredient-guide-block>p:not(.eyebrow),.ingredient-guide-block li,.ingredient-substitute>p:not(.eyebrow){color:#5e5349;font:17px/1.7 var(--serif)}
.ingredient-guide-block ol{list-style:none;counter-reset:sources;margin:0;padding:0}.ingredient-guide-block li{counter-increment:sources;position:relative;padding:17px 0 17px 58px;border-top:1px solid #e1d6ca}.ingredient-guide-block li:before{content:counter(sources,decimal-leading-zero);position:absolute;left:0;top:16px;color:#9b5a3e;font:italic 23px var(--serif)}
.ingredient-authenticity{border-left:3px solid #a85d40;padding-left:clamp(24px,4vw,42px)}
.ingredient-gesture{margin:0 0 44px;padding:32px clamp(25px,4vw,42px) 35px;background:#eadbc8;border-top:3px solid #a85d40}.ingredient-gesture h2{margin:0 0 16px;color:#352b24;font:400 clamp(31px,4vw,47px)/1.08 var(--serif);letter-spacing:-.035em}.ingredient-gesture>p:not(.eyebrow){margin:0;color:#5e5146;font:17px/1.7 var(--serif)}
.ingredient-substitute{background:#30261f;color:#fff8ed;padding:33px 36px 37px}.ingredient-substitute .eyebrow{color:#d5ae86}.ingredient-substitute h2{color:white}.ingredient-substitute>p:not(.eyebrow){color:#ecdfd0}.ingredient-substitute>div{margin-top:25px;border-left:3px solid #bf7754;background:#403229;padding:17px 19px}.ingredient-substitute>div strong{font:700 10px var(--sans);letter-spacing:.13em;text-transform:uppercase;color:#e0b28f}.ingredient-substitute>div p{margin:7px 0 0;color:#e4d7c7;font:14px/1.6 var(--serif)}
.ingredient-guide-aside{position:sticky;top:84px;display:grid;gap:18px}.ingredient-guide-aside>section{background:#eee1d1;border-top:3px solid #9a5b3d;padding:25px 24px 28px}.ingredient-guide-aside>section>a:not(.ingredient-source){display:grid;grid-template-columns:1fr auto;gap:5px 12px;padding:13px 0;border-top:1px solid #d6c5b2}.ingredient-guide-aside>section>a strong{font:600 19px var(--serif)}.ingredient-guide-aside>section>a>span:not([aria-hidden]){color:#6e6155;font-size:11px;line-height:1.45}.ingredient-guide-aside>section>a>span[aria-hidden]{grid-column:2;grid-row:1/3;align-self:center;color:#955338}.source-caution{color:#76695e;font-size:10px;line-height:1.5;margin:-4px 0 13px}
.ingredient-source{display:grid;grid-template-columns:1fr auto;gap:3px 12px;align-items:center;min-height:48px;padding:11px 0;border-top:1px solid #d6c5b2;color:#624c3d;font-size:12px}.ingredient-source strong{font-weight:700}.ingredient-source small{grid-column:1;color:#7b6a5c;font-size:10px;line-height:1.35}.ingredient-source>span{grid-column:2;grid-row:1/3}.ingredient-source:hover{color:var(--terracotta)}

/* Kotomili spice blends */
.blend-index-hero{padding:48px 0 68px;border-bottom:1px solid #ded1c0}.blend-index-heading{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);gap:clamp(45px,9vw,140px);align-items:end}.blend-index-heading h1{font:400 clamp(58px,7vw,94px)/.92 var(--serif);letter-spacing:-.055em;margin:0}.blend-index-heading h1 em{color:var(--terracotta);font-weight:400}.blend-index-heading>p{max-width:540px;margin:0 0 8px;color:#63574b;font:19px/1.55 var(--serif)}
.blend-library{background:#e9dcc9;padding-block:68px 82px}.blend-library-intro{max-width:525px;margin:0;color:#6d6053;font:15px/1.55 var(--serif)}.blend-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.blend-card{display:flex;flex-direction:column;min-height:450px;padding:27px 28px 29px;background:#fbf6ef;border:1px solid #d3c2ae}.blend-card-top{display:flex;align-items:center;justify-content:space-between}.blend-card-top>span:last-child{display:grid;place-items:center;width:42px;height:42px;border:1px solid #c5a98c;border-radius:50%;color:#9d6043;font:24px var(--serif)}.blend-card>p:first-of-type{margin:26px 0 7px;color:#9b6749;font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.blend-card h3{font:600 clamp(30px,3vw,40px)/1.02 var(--serif);letter-spacing:-.04em;margin:0 0 14px}.blend-card h3 a:hover{color:var(--terracotta)}.blend-card>p:nth-of-type(2){margin:0;color:#685d52;font:15px/1.52 var(--serif)}.blend-card .ingredient-profile{margin:20px 0 16px}.blend-card-batch{padding-top:15px;border-top:1px solid #ddd0c1;color:#7d6653!important;font-size:11px!important;font-family:var(--sans)!important}.blend-card .text-link{margin-top:auto;align-self:flex-start}.blend-principle{padding-block:72px}
.blend-hero{padding:48px 0 68px;border-bottom:1px solid #ded1c0}.blend-hero-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(245px,.45fr);gap:clamp(50px,9vw,135px);align-items:end}.blend-hero h1{font:400 clamp(60px,8vw,100px)/.92 var(--serif);letter-spacing:-.06em;margin:0 0 22px}.blend-hero-grid>div>p:not(.eyebrow){max-width:780px;margin:0;color:#5f5348;font:21px/1.5 var(--serif)}.blend-hero aside{position:relative;border-top:3px solid #97563a;background:#eee1d1;padding:56px 25px 24px}.blend-hero aside>span{position:absolute;right:20px;top:14px;color:#a96949;font:32px var(--serif)}.blend-hero aside strong{display:block;color:#8e593d;font-size:9px;letter-spacing:.14em;text-transform:uppercase}.blend-hero aside p{margin:8px 0 0;font:19px/1.4 var(--serif)}
.blend-content{background:#f8f3eb;padding-block:70px 84px}.blend-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(285px,.7fr);gap:clamp(50px,8vw,115px);align-items:start}.blend-main>section{padding-bottom:50px;margin-bottom:48px;border-bottom:1px solid #d9cbbb}.blend-main>section:last-child{margin-bottom:0}.blend-main h2{font:400 clamp(36px,4.5vw,53px)/1.05 var(--serif);letter-spacing:-.04em;margin:0 0 21px}.blend-intro,.blend-understand-section>p:not(.eyebrow){color:#5e5349;font:18px/1.68 var(--serif)}.blend-formula-list{list-style:none;margin:28px 0 0;padding:0;border-top:1px solid #d8cab9}.blend-formula-list li{display:grid;grid-template-columns:minmax(110px,155px) 1fr;gap:24px;padding:17px 4px;border-bottom:1px solid #ded2c4}.blend-formula-list li>strong{color:#955238;font-size:13px}.blend-formula-list li>span{display:grid;gap:4px}.blend-formula-list b{font:600 20px/1.2 var(--serif)}.blend-formula-list small{color:#75695e;font-size:11px;line-height:1.5}.blend-method-section ol{list-style:none;counter-reset:blendsteps;margin:0;padding:0}.blend-method-section li{counter-increment:blendsteps;position:relative;padding:19px 0 19px 62px;border-top:1px solid #e0d5c8;color:#5b5047;font:16px/1.68 var(--serif)}.blend-method-section li:before{content:counter(blendsteps,decimal-leading-zero);position:absolute;left:0;top:16px;color:#9b5a3e;font:italic 25px var(--serif)}.blend-understand-section>div{margin-top:26px;padding:20px 22px;border-left:3px solid #9b5a3e;background:#eee1d1}.blend-understand-section>div strong{color:#8a5137;font-size:9px;letter-spacing:.12em;text-transform:uppercase}.blend-understand-section>div p{margin:7px 0 0;color:#5f5349;font:14px/1.6 var(--serif)}.blend-usage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:28px}.blend-usage-grid article{position:relative;min-height:190px;padding:24px 23px;background:#eee1d1;border-top:2px solid #a45b3e}.blend-usage-grid article:last-child{grid-column:1/-1;min-height:0}.blend-usage-grid article>span{position:absolute;right:18px;top:17px;color:#b78668;font:italic 18px var(--serif)}.blend-usage-grid h3{max-width:80%;margin:0 0 12px;color:#3c3129;font:600 22px/1.15 var(--serif)}.blend-usage-grid p{margin:0;color:#65594e;font-size:13px;line-height:1.65}
.blend-variant-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:30px}.blend-variant-grid article{padding:26px 25px;background:#eee1d1;border-top:3px solid #a45b3e}.blend-variant-grid article>p:first-child{margin:0 0 9px;color:#98563c;font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.blend-variant-grid h3{margin:0 0 14px;font:600 25px/1.12 var(--serif)}.blend-variant-grid h4{margin:20px 0 8px;color:#8c5138;font-size:9px;letter-spacing:.12em;text-transform:uppercase}.blend-variant-grid ul{margin:0;padding-left:18px}.blend-variant-grid li,.blend-variant-grid article>p:not(:first-child),.blend-variant-summary{color:#62564b;font:13px/1.6 var(--serif)}.blend-variant-grid li+li{margin-top:5px}
.blend-aside{position:sticky;top:84px;display:grid;gap:18px}.blend-aside>section{background:#eee1d1;border-top:3px solid #9a5b3d;padding:25px 24px 28px}.blend-aside ul{margin:10px 0 0;padding-left:18px}.blend-aside li{padding:6px 0;color:#62564b;font-size:13px;line-height:1.5}.blend-aside>section>a{display:grid;grid-template-columns:1fr auto;gap:5px 12px;padding:13px 0;border-top:1px solid #d6c5b2}.blend-aside>section>a strong{font:600 19px var(--serif)}.blend-aside>section>a>span:not([aria-hidden]){color:#6e6155;font-size:11px;line-height:1.45}.blend-aside>section>a>span[aria-hidden]{grid-column:2;grid-row:1/3;align-self:center;color:#955338}.blend-kitchen-note{background:#30261f!important;border-top-color:#c07855!important;color:#fff4e8}.blend-kitchen-note .eyebrow{color:#d9ab87}.blend-kitchen-note>strong{display:block;font:600 22px var(--serif)}.blend-kitchen-note>p:not(.eyebrow){margin:8px 0 0;color:#ddcfc0;font-size:12px;line-height:1.55}
body.cooking-mode-open{overflow:hidden}
.cooking-mode-dialog{inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#f7f2e9;color:var(--text)}
.cooking-mode-dialog::backdrop{background:rgba(26,20,16,.76);backdrop-filter:blur(5px)}
.cooking-mode-shell{height:100%;display:grid;grid-template-rows:auto 5px auto minmax(0,1fr) auto;background:radial-gradient(circle at 86% 9%,rgba(187,132,86,.12),transparent 30%),var(--paper)}
.cooking-mode-header{display:grid;grid-template-columns:1fr auto 52px;gap:24px;align-items:center;padding:18px clamp(20px,4vw,58px);border-bottom:1px solid #ddd0bf;background:#fbf8f2}
.cooking-mode-header .eyebrow{margin:0 0 3px}
.cooking-progress-copy{margin:0;font:600 19px/1.2 var(--serif);color:#51443a}
.wake-lock-status{margin:0;display:flex;align-items:center;gap:7px;color:#786c60;font-size:12px}
.wake-lock-status span{font-size:20px;color:#9b765b}.wake-lock-status.is-active{color:#506143}.wake-lock-status.is-active span{color:#657a54}
.cooking-close{width:48px;height:48px;border:1px solid #cbb9a4;background:#f4eadf;color:#4d4037;font-size:29px;line-height:1;border-radius:3px}
.cooking-close:hover{background:#e4d1bb;color:#7c3e2b}
.cooking-progress{display:block;width:100%;height:5px;border:0;background:#e5d8c8;appearance:none}
.cooking-progress::-webkit-progress-bar{background:#e5d8c8}.cooking-progress::-webkit-progress-value{background:var(--terracotta);transition:width .25s}.cooking-progress::-moz-progress-bar{background:var(--terracotta)}
.running-timers{display:flex;align-items:center;gap:14px;min-height:53px;padding:7px clamp(20px,4vw,58px);background:#30261f;color:white;overflow-x:auto}
.running-timers[hidden]{display:none}
.running-timers>span{flex-shrink:0;color:#d6c7b6;font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.running-timers>div{display:flex;gap:8px}
.running-timers button{min-height:38px;white-space:nowrap;border:1px solid #7b6452;background:#46372d;color:#fff3e4;border-radius:3px;padding:7px 12px;font-size:12px;font-weight:700}
.running-timers button:hover{background:#9c5037}
.cooking-mode-body{overflow:auto;padding:clamp(35px,6vh,72px) clamp(20px,7vw,110px)}
.cooking-step{width:min(920px,100%);margin-inline:auto}
.cooking-step-kicker{margin:0 0 12px;color:#98563d;font-size:11px;font-weight:800;letter-spacing:.22em}
.cooking-step h2{font:400 clamp(38px,5vw,65px)/1.05 var(--serif);letter-spacing:-.04em;margin:0 0 24px;outline:none}
.cooking-step-text{max-width:825px;margin:0;font:clamp(18px,2vw,25px)/1.63 var(--serif);color:#53483f;text-wrap:pretty}
.cooking-timer-card{margin-top:clamp(34px,6vh,58px);background:#2e251f;color:#fff7eb;padding:25px 27px;border-radius:4px;box-shadow:0 18px 44px rgba(54,37,25,.16);border:1px solid #514238}
.cooking-step.is-timer-running .cooking-timer-card{border-color:#b96b4b}.cooking-step.is-timer-finished .cooking-timer-card{border-color:#78906b;box-shadow:0 0 0 3px rgba(120,144,107,.17)}
.cooking-timer-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;padding-bottom:17px;border-bottom:1px solid #5d4b3e}
.cooking-timer-heading span{color:#d7c4ae;font-size:10px;font-weight:800;letter-spacing:.16em}
.cooking-timer-heading strong{font:500 clamp(38px,5vw,58px)/.9 var(--sans);font-variant-numeric:tabular-nums;letter-spacing:-.04em}
.cooking-timer-setup{display:flex;align-items:end;gap:13px;flex-wrap:wrap;padding-top:18px}
.cooking-timer-setup label{display:flex;flex-direction:column;gap:5px;color:#cdbda9;font-size:10px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.cooking-timer-setup label span{display:flex;align-items:center;gap:7px;color:white;font-size:13px;letter-spacing:0;text-transform:none}
.cooking-timer-setup input{width:83px;height:45px;border:1px solid #7d6959;background:#1f1915;color:white;text-align:center;border-radius:3px;font-size:17px}
.cooking-timer-setup button{min-height:45px;border:1px solid #806a58;background:transparent;color:#e8d7c4;padding:9px 14px;border-radius:3px;font-size:12px;font-weight:700}
.cooking-timer-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:17px}
.cooking-timer-actions button{min-height:45px;border:1px solid #796353;background:transparent;color:#f5e8d8;border-radius:3px;padding:10px 17px;font-weight:700}
.cooking-timer-actions .timer-start{background:var(--terracotta);border-color:#b96c4f;color:white}.cooking-timer-actions button:hover:not(:disabled){background:#a95b40}.cooking-timer-actions button:disabled{opacity:.43}
.cooking-mode-footer{display:grid;grid-template-columns:1fr auto 1fr;gap:13px;align-items:center;padding:14px clamp(20px,4vw,58px);border-top:1px solid #d9cbbb;background:#fbf8f2}
.cooking-mode-footer button{min-height:48px;border:1px solid #bfa993;background:transparent;color:#5d4e43;padding:11px 18px;border-radius:3px;font-weight:700}
.cooking-mode-footer button:disabled{opacity:.35}.cooking-mode-footer button:hover:not(:disabled){background:#eadcca}
.cooking-mode-footer .cooking-complete{justify-self:center}.cooking-mode-footer .cooking-complete[aria-pressed="true"]{background:#677456;border-color:#677456;color:white}
.cooking-mode-footer .cooking-next{justify-self:end;background:var(--terracotta);border-color:#a95c42;color:white}
.editorial-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.editorial-columns-four{grid-template-columns:repeat(4,minmax(0,1fr))}
.editorial-tile{padding:30px 27px 33px;background:#fdfaf5;border:1px solid #e6d9c9;min-height:210px}
.editorial-index{font:700 11px var(--sans);letter-spacing:.17em;color:#9e603d}
.editorial-tile h3{font:600 26px/1.15 var(--serif);margin:28px 0 12px;letter-spacing:-.028em}
.editorial-tile p{color:#73675a;font:14px/1.55 var(--serif);margin:0}
.prose h3{font:600 25px var(--serif);margin:29px 0 10px}
.prose p{margin-top:0}
.about-quote blockquote{font:italic 30px/1.28 var(--serif);color:#6d4535;margin:18px 0 32px}
.brand-story{margin:35px 0 42px;padding:30px 31px 27px;background:#efe3d3;border-left:3px solid var(--terracotta)}
.brand-story .eyebrow{margin-bottom:8px}
.brand-story h3{font-size:30px;margin:0 0 16px}
.brand-story p{margin:0 0 13px}
.brand-story p:last-child{margin-bottom:0}
.brand-story-sources{font-size:11px;color:#7b6a5a;padding-top:7px;border-top:1px solid #d9c7b2}
.brand-story-sources a{text-decoration:underline;text-underline-offset:3px}
.not-found{min-height:58vh;display:flex;align-items:center}
.not-found h1{font:400 clamp(43px,5vw,72px)/1.1 var(--serif);margin:0 0 18px}
.not-found .hero-actions{margin-top:27px}

/* Espace privé */
.private-library-hero{padding:48px 0 64px;border-bottom:1px solid #e2d5c4}
.private-library-hero .breadcrumbs{margin-bottom:41px}
.private-hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:clamp(48px,8vw,120px);align-items:end}
.private-library-hero h1{font:400 clamp(45px,5.2vw,76px)/1.02 var(--serif);letter-spacing:-.045em;margin:0;color:#2c241d}
.private-library-hero h1 em{font-weight:400;color:var(--terracotta)}
.private-hero-lead{max-width:690px;color:#675d52;font:17px/1.65 var(--serif);margin:25px 0 0}
.private-access-card{display:grid;grid-template-columns:48px 1fr;gap:16px;padding:25px 26px;background:#2e261f;color:#f8f0e5;border-radius:3px;box-shadow:var(--shadow)}
.private-access-card>svg{color:#d6aa77;margin-top:2px}
.private-access-card strong{font:600 19px/1.25 var(--serif)}
.private-access-card p{color:#d7cdc0;font-size:12px;line-height:1.6;margin:7px 0 0}
.private-library-section{background:#eee0ce;min-height:48vh}
.private-recipe-count{font:700 10px/1.2 var(--sans);letter-spacing:.13em;text-transform:uppercase;color:#7c624d;border:1px solid #bfa88e;padding:9px 12px;background:rgba(255,255,255,.28)}
.private-recipes-grid{display:grid;gap:25px;max-width:1020px}
.private-recipe-card{display:grid;grid-template-columns:minmax(300px,.95fr) minmax(0,1.05fr);background:#fbf6ef;border:1px solid rgba(117,83,53,.16);box-shadow:0 13px 35px rgba(65,48,31,.08);overflow:hidden}
.private-recipe-image{min-height:360px;overflow:hidden;background:#bead94}
.private-recipe-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.private-recipe-card:hover .private-recipe-image img{transform:scale(1.035)}
.private-recipe-copy{padding:38px clamp(27px,4vw,53px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.private-status-badge{display:inline-flex;align-items:center;gap:8px;margin-bottom:24px;padding:7px 10px;background:#eee0ce;color:#704833;font:700 9px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;border-radius:2px}
.private-status-badge span{font-size:7px;color:var(--terracotta)}
.private-recipe-copy .eyebrow{margin-bottom:9px}
.private-recipe-copy h3{font:600 clamp(29px,3.2vw,43px)/1.08 var(--serif);letter-spacing:-.035em;margin:0 0 13px}
.private-recipe-copy h3 a:hover{color:var(--terracotta)}
.private-recipe-copy>p:not(.eyebrow){font:16px/1.6 var(--serif);color:#655b50;margin:0 0 19px}
.private-recipe-copy .recipe-tag-row{margin:0 0 27px}
.private-security-note{display:flex;align-items:center;gap:23px;margin-top:31px;padding-top:25px;border-top:1px solid rgba(111,80,52,.22)}
.private-security-note p{font-size:12px;color:#706355;margin:0}

/* Search overlay */
.search-dialog{border:none;width:min(690px,calc(100% - 28px));max-width:none;max-height:min(720px,85vh);padding:0;background:#fbf6ed;color:var(--text);box-shadow:0 26px 95px #1b160f80}
.search-dialog::backdrop{background:rgba(26,19,14,.66);backdrop-filter:blur(3px)}
.search-shell{padding:33px 35px 36px}
.search-top{display:flex;justify-content:space-between;align-items:center}
.dialog-close{border:0;background:#e9dfd1;width:44px;height:44px;font-size:25px;line-height:1;color:#5a4535}
.dialog-close:hover{background:#dbc6aa}
.search-heading{font:400 clamp(28px,4vw,39px) var(--serif);display:block;margin:16px 0 23px}
.search-field{display:flex;gap:13px;align-items:center;border:1px solid #bca184;padding:12px 17px;background:white;color:#876948}
.search-field input{flex:1;min-width:0;border:0;background:none;color:var(--text);font-size:16px}
.search-field:focus-within{outline:3px solid #bc7148;outline-offset:3px}
.search-field input:focus-visible{outline:0}

.contact-section{padding-top:72px;padding-bottom:94px}.contact-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,.7fr);gap:42px;align-items:start}.contact-form-card{background:#fffaf2;border:1px solid #ddcfbe;padding:42px;box-shadow:0 16px 44px rgba(65,47,34,.07)}.contact-heading{max-width:690px;margin-bottom:30px}.contact-heading h2,.contact-aside h2{font:600 clamp(29px,4vw,42px)/1.05 var(--serif);letter-spacing:-.03em;margin:8px 0 12px}.contact-heading>p:last-child{color:#73665a;font-size:14px}.contact-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 24px}.contact-field{display:flex;flex-direction:column;gap:8px}.contact-field-wide{grid-column:1/-1}.contact-field label{font:700 11px/1.3 var(--sans);letter-spacing:.07em;text-transform:uppercase;color:#684d3d}.contact-field input,.contact-field select,.contact-field textarea{width:100%;border:1px solid #bda991;border-radius:2px;background:white;color:var(--text);padding:12px 13px;min-height:48px}.contact-field textarea{resize:vertical;min-height:180px;line-height:1.55}.contact-field input:hover,.contact-field select:hover,.contact-field textarea:hover{border-color:#9a765f}.contact-field [aria-invalid="true"]{border-color:#a83d34;background:#fff8f6}.contact-help{font-size:12px;color:#76685d}.contact-error{min-height:18px;color:#9b302b;font:600 12px/1.4 var(--sans)}.contact-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.contact-turnstile{min-height:65px}.contact-privacy{max-width:730px;color:#6d6055;font-size:13px;line-height:1.55;margin:0}.contact-submit{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.contact-status{margin:0;font:600 13px/1.45 var(--sans);color:#9b302b}.contact-status.is-success{color:#536240}.contact-aside{background:#eadcc9;padding:32px 29px;border-top:4px solid #9d543a}.contact-aside p{color:#65584d;line-height:1.55}.contact-email-link{display:inline-block;margin:10px 0 19px;font:600 18px/1.3 var(--serif);color:#8d472f;border-bottom:1px solid currentColor}.contact-aside-note{border-top:1px solid #ccb9a3;padding-top:18px;font-style:italic;font-size:14px}
.search-hint{font-size:11px;color:#8c7c6b;margin:9px 0 21px}
.search-results{display:grid;gap:1px;max-height:300px;overflow:auto}
.search-result{display:block;padding:13px 14px;border-bottom:1px solid #e0d4c5;background:#f6eee3}
.search-result:hover,.search-result:focus{background:#eadac6}
.search-result-kind{color:#995b38;font-size:9px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;display:block;margin-bottom:3px}
.search-result-title{font:600 19px var(--serif);display:block}
.search-result-desc{color:#766858;font-size:12px;display:block;margin-top:2px}
.search-empty{font-size:13px;color:#796c5d}

/* Espace d’organisation partagé : menu, courses et recettes enregistrées */
.organizer-tabs{display:flex;align-items:stretch;gap:7px;margin:0 0 36px;padding:6px;width:max-content;max-width:100%;background:#eee2d2;border:1px solid #ddcdb9;border-radius:5px}
.organizer-tabs a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:9px 15px;color:#5d5146;border-radius:3px;font:600 12px/1.2 var(--sans);white-space:nowrap}
.organizer-tabs a:hover{color:var(--terracotta);background:rgba(255,250,243,.7)}
.organizer-tabs a[aria-current="page"]{color:#fffaf2;background:var(--terracotta);box-shadow:0 5px 13px rgba(91,49,32,.16)}
.organizer-tabs svg{flex:0 0 auto}
.organizer-tab-count{display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:12px;background:#dac5ae;color:#513c30;font:700 9px/1 var(--sans)}
.organizer-tabs a[aria-current="page"] .organizer-tab-count{background:#fff6e9;color:#7a3e2a}
.organizer-tab-count[hidden]{display:none}

@media (max-width:1250px){
  .container{width:min(100% - 72px,1390px)}
  .header-quote{display:none}.header-divider{display:none}
  .brand{min-width:190px}
  .site-nav{gap:19px}
  .ingredient-content{gap:33px}
  .ingredient-pillars{gap:15px}
  .ingredient-pillar{grid-template-columns:47px 1fr;gap:8px}
  .pillar-icon{width:45px;height:45px;font-size:36px}
  .pillar-icon-pods{font-size:38px}
  .pillar-icon-mortar{font-size:33px}
}
@media(max-width:1020px){
  .header-inner{min-height:86px}.brand-symbol{width:40px;height:52px}.brand strong{font-size:24px}
  .site-nav>a,.nav-dropdown>summary{font-size:12px}.site-nav{gap:15px}.header-actions{gap:8px}.utility-button{padding-inline:4px}
  .hero{min-height:470px}.hero h1{font-size:clamp(41px,5vw,55px)}
  .regions-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .region-card-image{aspect-ratio:1.7}.region-card-title{font-size:19px;min-height:0}.region-card-desc{min-height:38px}
  .recipes-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ingredient-content{grid-template-columns:1fr;gap:35px}.ingredient-pillars{gap:20px}
  .ingredient-pillar{grid-template-columns:60px 1fr}.pillar-icon{width:58px;height:58px;font-size:45px}.pillar-icon-pods{font-size:51px}.pillar-icon-mortar{font-size:43px}
  .ingredient-intro{max-width:660px}.ingredient-intro p{margin-bottom:18px}
  .newsletter-grid{grid-template-columns:minmax(0,.95fr) minmax(370px,1.05fr);gap:38px}
  .manifesto{grid-template-columns:46% 54%}.manifesto-panel-inner{padding:45px 40px}
  .editorial-columns-four{grid-template-columns:repeat(2,minmax(0,1fr))}
  .recipes-catalogue{grid-template-columns:repeat(3,minmax(0,1fr))}
  .advanced-filters{grid-template-columns:repeat(3,minmax(0,1fr))}
  .shopping-layout{grid-template-columns:1fr}.shopping-recipe-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ingredient-guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .blend-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.blend-index-heading{grid-template-columns:1fr;gap:28px}.blend-index-heading>p{max-width:700px}.blend-layout{grid-template-columns:minmax(0,1.45fr) minmax(260px,.65fr);gap:45px}
}
@media(max-width:740px){
  .container{width:min(100% - 38px,1390px)}
  .marinade-usage-grid{grid-template-columns:1fr}.marinade-usage-grid article{min-height:0}
  .header-inner{min-height:76px;gap:16px}
  .brand{min-width:0}.brand-symbol{height:46px;width:33px}.brand strong{font-size:23px}.brand small{font-size:8px;letter-spacing:.02em;font-family:var(--serif);font-style:italic;font-weight:500}.brand-eyebrow{display:none}.brand-mobile-signature{display:inline}
  .site-nav{display:none;position:absolute;top:100%;left:0;right:0;padding:13px 20px 20px;background:#fcf8f2;box-shadow:0 12px 25px #20150d26;border-top:1px solid #e9dfd1;flex-direction:column;align-items:stretch;gap:0}
  .site-header.is-menu-open .site-nav{display:flex}
  .site-nav>a,.nav-dropdown>summary{font:500 17px/1.2 var(--serif);padding:13px 8px;border-bottom:1px solid #e9dfd1}
  .site-nav .private-nav-mobile{display:flex;align-items:center;gap:10px;color:var(--terracotta)}
  .private-nav-mobile svg{flex:0 0 auto}
  .nav-dropdown{width:100%}.nav-dropdown-panel{position:static;transform:none;width:auto;padding:5px 0 9px 13px;border:0;border-bottom:1px solid #e9dfd1;box-shadow:none;background:transparent}
  .nav-dropdown-panel a{font-size:14px;padding:10px 9px;border:0}
  .understand-dropdown a{gap:2px}.understand-dropdown small{font-size:11px;max-width:430px}
  .mobile-menu-button{display:grid}.header-actions{gap:5px}
  .private-access-trigger{display:none}.utility-button.search-trigger{min-width:44px;min-height:44px;padding:8px;justify-content:center}.utility-button.search-trigger span{display:none}
  .hero{min-height:570px;align-items:end}
  .hero-photo{inset:0;background-position:55% 42%;background-size:cover}
  .hero-shadow{background:linear-gradient(0deg,#241b16 0%,rgba(36,27,22,.96) 12%,rgba(36,27,22,.77) 53%,rgba(36,27,22,.25) 100%)}
  .hero-content{padding:54px 0 47px}
  .hero h1{font-size:clamp(40px,8.2vw,60px)}
  .hero h1 br{display:none}
  .hero-description{font-size:14px;max-width:550px;line-height:1.55}
  .hero-actions{gap:22px}
  .hero-disclaimer{font-size:14px;margin-top:26px}
  .hero-vertical{display:none}
  .section{padding:54px 0 58px}.section-header{align-items:start;gap:17px;flex-wrap:wrap;margin-bottom:24px}
  .section-title{font-size:clamp(29px,6vw,38px)}
  .section-header .small-link{margin-left:auto}
  .regions-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .region-card-body{padding:13px 12px 15px}.region-card-image{aspect-ratio:1.3}
  .region-card-title{font-size:17px}.region-card-desc{font-size:13px;min-height:58px}.region-number{font-size:8px}
  .region-card-more{font-size:10px}
  .recipes-grid{display:flex;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;gap:12px;padding-bottom:12px;margin-right:-19px;padding-right:19px}
  .recipe-card{flex:0 0 min(70vw,270px);scroll-snap-align:start}
  .recipe-heading-row h3{font-size:20px}.recipe-teaser{min-height:52px}
  .ingredient-content{gap:25px}.ingredient-pillars{grid-template-columns:1fr;gap:18px}
  .ingredient-pillar h3{margin-top:5px;font-size:20px}
  .newsletter-section{padding:44px 0 47px}.newsletter-grid{grid-template-columns:1fr;gap:27px}.newsletter-copy{max-width:none}.newsletter-lead{font-size:17px}.newsletter-form-card{padding:9px 9px 8px}.newsletter-frame{height:450px}
  .newsletter-status-page{padding:53px 0}.newsletter-status-card{padding:47px 25px 52px}.newsletter-status-card>p:not(.eyebrow){font-size:16px}
  .manifesto{grid-template-columns:1fr}
  .manifesto-image{min-height:300px}
  .manifesto-image p{font-size:24px;top:26%;left:8%}
  .manifesto-panel-inner{max-width:none;padding:46px 25px 53px}
  .manifesto-panel .section-title{font-size:32px}
  .footer-top{align-items:start;flex-wrap:wrap}.footer-nav{order:3;width:100%;max-width:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:27px 24px}.footer-bottom{flex-direction:column;gap:10px}
  .analytics-consent{bottom:9px;grid-template-columns:1fr;gap:17px;width:calc(100% - 18px);max-height:calc(100vh - 18px);overflow:auto;padding:20px 18px}.analytics-consent h2{font-size:22px}.analytics-consent-actions{grid-template-columns:1fr 1fr;min-width:0}.analytics-consent-actions button{min-height:48px;padding-inline:10px}
  .inner-hero{min-height:320px;padding:34px 0 60px}.inner-hero .eyebrow{margin-top:23px}.inner-hero h1{font-size:clamp(39px,7.1vw,55px)}
  .inner-hero-inner>p:not(.eyebrow){font-size:14px}
  .breadcrumbs{margin-bottom:25px}
  .organizer-tabs{width:100%;overflow-x:auto;justify-content:flex-start;margin-bottom:29px;scrollbar-width:thin}.organizer-tabs a{flex:0 0 auto;min-height:46px;padding-inline:13px}
  .regions-grid-large .region-card-image{aspect-ratio:1.5}
  .regions-grid-large .region-card-title{font-size:20px}
  .detail-two-columns{grid-template-columns:1fr;gap:32px}
  .contact-section{padding-top:52px;padding-bottom:64px}.contact-layout{grid-template-columns:1fr;gap:28px}.contact-form-card{padding:30px 25px}.contact-aside{padding:27px 24px}
  .recipes-grid-limited{display:flex}.recipes-catalogue{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;gap:12px;margin:0;padding:0}
  .recipes-catalogue .recipe-card{min-width:0;flex:auto}
  .recipe-controls{gap:17px}.catalogue-search-label{width:100%}
  .advanced-filters{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0}
  .region-detail-hero{min-height:370px}.region-detail-visual{inset:0}
  .region-detail-hero:after{background:linear-gradient(0deg,rgba(36,27,20,.97),rgba(36,27,20,.62) 75%,rgba(36,27,20,.32))}
  .region-detail-body h1{font-size:clamp(41px,7vw,60px)}
  .recipe-detail-grid{grid-template-columns:1fr;gap:5px}.recipe-detail-heading{padding:16px 0}.recipe-detail-photo{max-width:700px}
  .recipe-detail-heading h1{font-size:50px}
  .recipe-anchor-inner{overflow-x:auto;white-space:nowrap;justify-content:space-between}.recipe-anchor-inner a,.recipe-anchor-inner button{padding-inline:9px}.recipe-anchor-inner button{display:none}
  .recipe-content-grid{grid-template-columns:1fr;gap:32px}.recipe-side-note{position:static}
  .serving-calculator{align-items:stretch;flex-direction:column}.serving-stepper{align-self:flex-start}
  .recipe-steps label{grid-template-columns:52px 1fr;gap:13px}.recipe-tips{grid-template-columns:1fr}
  .editorial-columns{grid-template-columns:1fr}.editorial-columns-four{grid-template-columns:1fr}
  .editorial-tile{min-height:0;padding:23px}.editorial-tile h3{margin-top:19px}
  .shopping-hero-grid{grid-template-columns:1fr;gap:34px}.shopping-hero h1{font-size:58px}.shopping-hero-grid>div>p:last-child{font-size:16px}
  .shopping-workspace{padding-block:50px}.shopping-recipe-list{grid-template-columns:1fr}.shopping-list-panel{padding:25px 20px 32px}
  .ingredient-guide-grid{grid-template-columns:1fr}.ingredient-guide-card{min-height:0}.ingredient-guide-layout{grid-template-columns:1fr;gap:42px}.ingredient-guide-aside{position:static}.ingredient-guide-hero>div>p:not(.eyebrow){font-size:18px}.ingredient-substitute{padding:27px 23px 30px}
  .recipe-blend-callout{grid-template-columns:46px 1fr;gap:16px;padding:20px 17px}.recipe-blend-symbol{width:44px;height:44px;font-size:25px}.recipe-blend-actions{grid-column:1/-1;width:100%}.recipe-blend-actions .button{width:100%;justify-content:center}.ingredient-blend-formula>summary{align-items:flex-start;padding:18px 15px}.ingredient-blend-formula>summary>span:first-child{font-size:20px}.ingredient-blend-formula>.ingredient-list{padding-inline:15px}.blend-batch-note{margin-inline:15px}
  .blend-card-grid{grid-template-columns:1fr}.blend-card{min-height:0}.blend-hero-grid,.blend-layout{grid-template-columns:1fr;gap:38px}.blend-hero h1{font-size:58px}.blend-hero-grid>div>p:not(.eyebrow){font-size:18px}.blend-hero aside{padding-top:46px}.blend-aside{position:static}.blend-formula-list li{grid-template-columns:92px 1fr;gap:14px}.blend-index-heading h1{font-size:58px}.blend-index-heading>p{font-size:17px}.blend-usage-grid,.blend-variant-grid{grid-template-columns:1fr}.blend-usage-grid article,.blend-usage-grid article:last-child{grid-column:auto;min-height:0}
  .private-library-hero{padding:31px 0 49px}.private-library-hero .breadcrumbs{margin-bottom:29px}
  .private-hero-grid{grid-template-columns:1fr;gap:31px}.private-library-hero h1{font-size:clamp(43px,12vw,58px)}.private-hero-lead{font-size:15px;margin-top:19px}
  .private-access-card{grid-template-columns:39px 1fr;padding:21px 20px}.private-access-card>svg{width:27px;height:27px}.private-access-card strong{font-size:18px}
  .private-recipe-card{grid-template-columns:1fr}.private-recipe-image{min-height:0;aspect-ratio:1.45}.private-recipe-copy{padding:29px 23px 32px}.private-recipe-copy h3{font-size:32px}.private-status-badge{margin-bottom:20px}
  .private-security-note{align-items:flex-start;flex-direction:column;gap:10px}
}
@media(max-width:450px){
  .container{width:calc(100% - 34px)}
  .site-header .brand strong{font-size:21px}
  .hero{min-height:610px}
  .hero h1{font-size:43px;line-height:1.03}
  .hero-actions .button{padding:13px 15px;font-size:12px}
  .hero-actions .text-link{font-size:12px}
  .hero-description{font-size:14px}
  .regions-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .region-card-image{aspect-ratio:1.18}
  .region-card-title{font-size:16px}
  .region-card-desc{font-size:12px;min-height:65px}
  .region-card-body{padding:11px 10px}
  .regions-grid-large{grid-template-columns:1fr}
  .recipes-catalogue{grid-template-columns:1fr 1fr}
  .recipes-catalogue .recipe-card-content{padding:12px 10px}
  .recipes-catalogue .recipe-heading-row h3{font-size:17px}
  .recipes-catalogue .recipe-teaser{font-size:12px;min-height:55px}
  .recipes-catalogue .recipe-meta{font-size:10px}
  .section-title .title-rule{width:23px;margin-left:8px}
  .search-shell{padding:25px 19px}
  .filter-chip{padding:8px 10px;font-size:11px}
  .advanced-filters{grid-template-columns:1fr}.advanced-filters button{width:100%}
  .contact-form{grid-template-columns:1fr}.contact-field-wide{grid-column:auto}.contact-form-card{padding:25px 18px}.contact-submit{align-items:stretch;flex-direction:column}.contact-submit .button{width:100%}.contact-turnstile{max-width:100%;overflow:hidden}
  .analytics-consent-actions{grid-template-columns:1fr}
  .recipe-detail-intro{padding-bottom:38px}.recipe-detail-heading h1{font-size:46px}.recipe-detail-lead{font-size:19px}
  .recipe-editorial-meta{grid-template-columns:1fr}
  .recipe-hero-actions{align-items:stretch}.recipe-hero-actions .button,.recipe-print-button{flex:1 1 auto}
  .ingredients-workspace,.preparation-section,.recipe-tips-section{padding-block:52px}
  .serving-calculator{padding:18px 16px}.serving-stepper{width:100%;justify-content:space-between}.serving-stepper>span{min-width:0}
  .ingredient-group{padding:20px 15px 12px}.ingredient-list label{grid-template-columns:95px 1fr;gap:10px;padding-left:31px}
  .ingredient-name{font-size:15px}.recipe-steps label{grid-template-columns:43px 1fr;padding-block:21px}.step-check{right:3px}.step-copy>span{padding-right:18px}
  .recipe-end-actions{align-items:stretch;flex-direction:column-reverse}.recipe-end-actions .button{width:100%}
  .marinade-usage-section .section-header{align-items:start}.marinade-usage-grid{grid-template-columns:1fr}.marinade-usage-grid article{min-height:0}.shopping-panel-heading{align-items:start;flex-direction:column}.shopping-list-actions{width:100%;justify-content:start}.shopping-recipe{grid-template-columns:86px 1fr;gap:12px}.shopping-recipe img{width:86px;height:100%}.shopping-recipe h3{font-size:19px}.shopping-group label{grid-template-columns:78px 1fr;gap:10px;padding-left:34px}.shopping-group label>span{font-size:16px}
  .cooking-mode-header{grid-template-columns:1fr 48px;gap:12px;padding:13px 17px}.wake-lock-status{grid-column:1/-1;grid-row:2;margin-top:-5px}.cooking-close{grid-column:2;grid-row:1;width:46px;height:46px}
  .running-timers{padding-inline:17px}.cooking-mode-body{padding:35px 17px 28px}.cooking-step h2{font-size:40px;margin-bottom:18px}.cooking-step-text{font-size:19px;line-height:1.55}
  .cooking-timer-card{margin-top:30px;padding:20px 16px}.cooking-timer-heading{align-items:center}.cooking-timer-heading strong{font-size:41px}
  .cooking-timer-actions{display:grid;grid-template-columns:1.25fr 1fr 1fr}.cooking-timer-actions button{padding-inline:8px;font-size:12px}
  .cooking-mode-footer{grid-template-columns:1fr 1fr;padding:10px 12px;gap:8px}.cooking-mode-footer button{padding-inline:9px;font-size:12px}.cooking-mode-footer .cooking-complete{grid-column:1/-1;grid-row:1;justify-self:stretch}.cooking-mode-footer .cooking-next{justify-self:stretch}.cooking-mode-footer [data-cooking-prev]{grid-column:1;grid-row:2}.cooking-mode-footer .cooking-next{grid-column:2;grid-row:2}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}

@media print{
  @page{size:A4 portrait;margin:9mm 11mm 12mm}
  html{background:#fff}
  body{background:#fff!important;color:#171513;font-size:8.4pt;line-height:1.32;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  *,*::before,*::after{box-shadow:none!important;text-shadow:none!important}
  a{color:inherit!important;text-decoration:none!important}
  .site-header,.site-footer,.analytics-consent-root,.newsletter-section,.recipe-anchor-bar,.recipe-detail-photo,.recipe-hero-actions,.recipe-overview,.recipe-technique-gallery,.recipe-sources,.marinade-usage-section,.recipe-side-note,.breadcrumbs,.cooking-mode-dialog,.recipe-detail-lead,.recipe-editorial-meta,.serving-calculator,.recipe-end-actions,.recipe-blend-callout{display:none!important}
  .recipe-print-masthead{display:flex;align-items:baseline;gap:3mm;border-bottom:.25mm solid #9a6a4f;padding:0 0 2.2mm;margin:0 0 3mm;color:#3a3029}
  .recipe-print-masthead strong{font:600 15pt/1 var(--serif);letter-spacing:.07em}
  .recipe-print-masthead span{font:italic 7.5pt/1.2 var(--serif);color:#735541}
  .recipe-print-masthead em{margin-left:auto;font:700 6.5pt/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:#7b6b5f}
  .container,.recipe-narrow{width:100%;max-width:none;margin:0}
  .recipe-detail-intro,.ingredients-workspace,.preparation-section,.recipe-tips-section{background:#fff!important;background-image:none!important;padding:0;overflow:visible}
  .recipe-detail-intro::before,.recipe-detail-intro::after{display:none}
  .recipe-detail-grid{display:block}
  .recipe-detail-heading{padding:0 0 3mm}
  .recipe-detail-heading .eyebrow{margin:0 0 1mm;font-size:6.7pt;letter-spacing:.18em}
  .recipe-detail-heading h1{font:500 22pt/.98 var(--serif);letter-spacing:-.035em;margin:0 0 1.8mm;color:#211b17}
  .recipe-tag-row{gap:1.5mm;margin:0}
  .recipe-tag-row span{background:#fff;border:.2mm solid #c9b5a4;padding:1mm 2mm;font-size:6.8pt;line-height:1.1;color:#5f4f44}
  .ingredients-workspace .eyebrow,.preparation-section .eyebrow,.recipe-tips-section .eyebrow{display:none}
  .section-title{font:600 13.5pt/1.05 var(--serif);letter-spacing:-.015em;margin:0 0 1.7mm;color:#2b241f}
  .title-rule{display:none}
  .recipe-content-grid{display:block}
  .recipe-print-servings{display:block;margin:0 0 2.4mm;padding:1.5mm 2mm;border-left:.7mm solid #9a5b3d;background:#f6f1eb;font-size:7pt;color:#4f4741}
  .recipe-print-servings strong{font-size:7.6pt;color:#2e2722}
  .recipe-caution{margin:0 0 2.4mm;padding:1.5mm 2mm;border-left:.7mm solid #9a5b3d;background:#fff;color:#514842;font-size:6.9pt;line-height:1.3}
  .ingredient-groups{display:block;columns:2;column-gap:4mm}
  .ingredient-group{width:100%;break-inside:avoid;margin:0 0 2.2mm;background:#fff;border:.2mm solid #d7cbc0;padding:2mm 2.4mm 1.2mm}
  .ingredient-blend-formula{display:block!important;padding:2mm 2.4mm 1.2mm;overflow:visible}
  .ingredient-blend-formula>summary{display:block;min-height:0;padding:0;margin:0 0 1.2mm;background:#fff;border:0!important;list-style:none}
  .ingredient-blend-formula>summary>span:first-child{font:600 9.5pt/1.12 var(--serif);color:#2f2823}.ingredient-blend-formula>summary small,.blend-summary-state{display:none!important}
  .ingredient-blend-formula>.ingredient-list{display:block!important;padding:0}.ingredient-blend-formula:not([open])>.ingredient-list{display:block!important}.blend-batch-note{margin:0 0 1mm;padding:0;border:0;background:#fff;font-size:5.8pt}
  .ingredient-variant{border-top:.7mm solid #9a5b3d}
  .ingredient-group h3{font:600 9.5pt/1.12 var(--serif);margin:0 0 1.2mm;color:#2f2823}
  .variant-hint{margin:-.4mm 0 1mm;font-size:5.8pt;letter-spacing:.06em}
  .ingredient-list li{border-top:.15mm solid #e1d8cf}
  .ingredient-list label{grid-template-columns:25mm 1fr;gap:2mm;align-items:start;min-height:0;padding:.85mm 0 .85mm 4.5mm}
  .ingredient-check{display:block;position:absolute;left:0;top:1.1mm;width:3mm;height:3mm;margin:0;appearance:none;-webkit-appearance:none;border:.25mm solid #75685e;border-radius:.25mm;background:#fff}
  .ingredient-check:checked{background:linear-gradient(135deg,transparent 42%,#7e4e38 43% 56%,transparent 57%),linear-gradient(45deg,transparent 54%,#7e4e38 55% 65%,transparent 66%)}
  .ingredient-check:checked+label{opacity:1;text-decoration:none}
  .ingredient-amount{font-size:6.8pt;line-height:1.25;color:#75452f}
  .ingredient-name{font:7.2pt/1.25 var(--serif);color:#352f2a}
  .ingredient-name small{font:5.8pt/1.2 var(--sans);margin-top:.3mm;color:#6e655e}
  .preparation-section{margin-top:3mm}
  .recipe-steps{margin:1.5mm 0 0}
  .recipe-steps li{break-inside:avoid;border-top:.2mm solid #d7cdc4}
  .recipe-steps li:last-child{border-bottom:.2mm solid #d7cdc4}
  .recipe-steps label{grid-template-columns:7mm 1fr;gap:2.2mm;padding:1.45mm 5mm 1.45mm 0}
  .step-check{display:block;position:absolute;right:0;top:1.7mm;width:3mm;height:3mm;margin:0;appearance:none;-webkit-appearance:none;border:.25mm solid #75685e;border-radius:.25mm;background:#fff}
  .step-check:checked{background:linear-gradient(135deg,transparent 42%,#7e4e38 43% 56%,transparent 57%),linear-gradient(45deg,transparent 54%,#7e4e38 55% 65%,transparent 66%)}
  .step-check:checked+label{opacity:1}
  .step-number{font:italic 12pt/1 var(--serif);color:#8d543b}
  .step-copy{gap:.6mm}
  .step-copy strong{font:600 8.3pt/1.15 var(--serif);color:#29231f}
  .step-copy>span{padding-right:0;font-size:7.2pt;line-height:1.3;color:#423b36}
  .recipe-tips-section{display:block!important;margin-top:2.5mm;break-inside:avoid}
  .recipe-tips-section .section-title{font-size:11pt;margin-bottom:1.4mm}
  .recipe-tips{grid-template-columns:repeat(2,minmax(0,1fr));gap:2mm;margin:0}
  .recipe-tips li{break-inside:avoid;background:#fff;border:.2mm solid #d8cbc0;border-left:.7mm solid #9a5b3d;padding:1.2mm 2mm;font:6.8pt/1.25 var(--serif);color:#423a34}
  .recipe-print-footer{display:none!important}
  [data-shopping-page] .shopping-hero{padding:0 0 8mm;border:0}[data-shopping-page] .shopping-hero-grid{display:block}[data-shopping-page] .shopping-hero h1{font-size:28pt}[data-shopping-page] .shopping-hero-grid>div>p:last-child,[data-shopping-page] .shopping-hero aside span{display:none}[data-shopping-page] .shopping-workspace{padding:0;background:white}[data-shopping-page] .shopping-layout{display:block}[data-shopping-page] .shopping-recipes-panel,[data-shopping-page] .shopping-list-actions,[data-shopping-page] .shopping-empty,[data-shopping-page] .shopping-caution{display:none!important}[data-shopping-page] .shopping-list-panel{box-shadow:none;border:0;padding:0}[data-shopping-page] .shopping-group{break-inside:avoid}[data-shopping-page] .shopping-group label{padding-block:3mm}
}

/* Hero and section artwork stacking: photographs stay above the section backdrop. */
.hero-photo{z-index:0}
.hero-shadow{z-index:1}

/* Exploration compacte des régions */
.region-summary-section{padding-block:50px}
.region-summary-section .lead-paragraph{margin-bottom:0}
.region-explore-section{padding-block:58px 64px;background:#e9d9c6}
.region-explore-heading{align-items:end;margin-bottom:30px}
.region-explore-grid{display:grid;grid-template-columns:minmax(310px,.72fr) minmax(0,1.58fr);gap:clamp(30px,4vw,58px);align-items:start}
.region-explore-grid-without-dossiers{grid-template-columns:1fr}
.region-dossier-panel,.region-recipes-panel{min-width:0}
.region-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:31px;margin-bottom:15px;padding-bottom:12px;border-bottom:1px solid rgba(110,76,49,.25)}
.region-panel-heading .eyebrow{margin:0}.region-panel-heading>span{display:grid;place-items:center;width:27px;height:27px;border:1px solid #aa876c;border-radius:50%;font:800 9px/1 var(--sans);color:#76553e}
.region-dossier-list{display:grid;gap:14px}
.region-dossier-card{display:grid;grid-template-columns:142px minmax(0,1fr);min-height:166px;background:#fbf6ed;border:1px solid #d8c6b2;box-shadow:0 8px 24px rgba(63,43,28,.075);overflow:hidden}
.region-dossier-image{display:block;min-height:166px;overflow:hidden;background:#a98464}
.region-dossier-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.region-dossier-card:hover .region-dossier-image img{transform:scale(1.04)}
.region-dossier-copy{min-width:0;padding:17px 17px 16px;display:flex;flex-direction:column;align-items:flex-start}
.region-dossier-copy>p{margin:0 0 6px;font:800 8px/1.3 var(--sans);letter-spacing:.12em;color:#9a5b3d}
.region-dossier-copy h3{margin:0 0 7px;font:600 28px/1 var(--serif);letter-spacing:-.035em;color:#30261f}
.region-dossier-copy h3 a{text-decoration:none}
.region-dossier-copy>span{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin:0 0 9px;font:12px/1.45 var(--serif);color:#6d6054}
.region-dossier-copy .text-link{margin-top:auto;font-size:9px}
.region-recipes-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}

.prebranac-hero{position:relative;min-height:620px;display:flex;align-items:end;overflow:hidden;background:#261d17;color:#fff8ee}
.prebranac-hero-image{position:absolute;inset:0}
.prebranac-hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 49%}
.prebranac-hero-image>span{position:absolute;inset:0;background:linear-gradient(90deg,rgba(35,25,18,.94) 0%,rgba(35,25,18,.76) 37%,rgba(35,25,18,.22) 72%,rgba(35,25,18,.26) 100%),linear-gradient(0deg,rgba(25,17,12,.62),transparent 55%)}
.prebranac-hero-copy{position:relative;z-index:1;padding-block:55px 64px}
.prebranac-hero .breadcrumbs{margin-bottom:68px}
.prebranac-hero h1{font:500 clamp(70px,9vw,132px)/.78 var(--serif);letter-spacing:-.055em;margin:0;max-width:800px;text-shadow:0 2px 18px rgba(0,0,0,.2)}
.prebranac-subtitle{max-width:710px;font:italic clamp(22px,2.3vw,35px)/1.23 var(--serif);color:#f1dfc8;margin:26px 0 28px;text-wrap:balance}
.prebranac-status{display:inline-flex;align-items:center;gap:10px;margin:0;padding:9px 12px;border:1px solid rgba(255,244,227,.44);font:700 9px/1.2 var(--sans);letter-spacing:.13em;text-transform:uppercase;background:rgba(34,25,18,.35)}
.prebranac-status span{font-size:8px;color:#e1ad77}
.prebranac-anchor{position:sticky;top:0;z-index:35;background:#2c231d;color:#f2e9dc;border-bottom:1px solid #5b493c}
.prebranac-anchor .container{display:flex;align-items:center;gap:clamp(20px,4vw,56px);min-height:58px;overflow-x:auto;white-space:nowrap}
.prebranac-anchor a{display:grid;place-items:center;min-height:44px;font:700 10px/1.2 var(--sans);letter-spacing:.13em;text-transform:uppercase;color:#d8c9ba;border-bottom:2px solid transparent}
.prebranac-anchor a:hover{color:white;border-color:#c17950}
.prebranac-intro-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(310px,.65fr);gap:clamp(55px,8vw,125px);align-items:start}
.prebranac-intro-grid .lead-paragraph{max-width:820px}
.prebranac-intro-grid>div>p:last-child{max-width:780px;color:#706357;font:15px/1.65 var(--serif)}
.prebranac-principles{background:#2f2720;color:#f6ede2;padding:34px 34px 30px;border-top:4px solid #9c5d3e}
.prebranac-principles .eyebrow{color:#e2b28c}
.prebranac-principles ul{list-style:none;padding:0;margin:0;display:grid;gap:20px}
.prebranac-principles li{display:grid;gap:5px;padding-top:19px;border-top:1px solid #5a4c41}
.prebranac-principles strong{font:600 20px/1.2 var(--serif)}
.prebranac-principles span{font-size:12px;line-height:1.5;color:#d6cabe}
.prebranac-family-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-top:54px}
.prebranac-family{min-height:210px;padding:24px 22px 22px;background:#fdf9f2;border:1px solid #dfd1c0;display:flex;flex-direction:column;align-items:flex-start}
.prebranac-family>span{font:700 9px var(--sans);letter-spacing:.18em;color:#a36a48}
.prebranac-family strong{font:600 24px/1.1 var(--serif);margin:25px 0 2px}
.prebranac-family small{font:700 9px/1.2 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:#967a62}
.prebranac-family p{font:13px/1.48 var(--serif);color:#6c6055;margin:auto 0 0}
.prebranac-beans{background:#e9dccb}
.prebranac-beans .section-header{align-items:start}
.prebranac-rule{max-width:330px;margin:0;padding:12px 15px;border-left:3px solid #9b5b3d;background:rgba(255,255,255,.45);font:600 14px/1.45 var(--serif);color:#5b4a3e}
.prebranac-bean-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.prebranac-bean-grid article{display:grid;grid-template-columns:31px 1fr;gap:12px;min-height:205px;padding:24px 18px 22px;background:#faf5ec;border:1px solid #d6c5b2}
.prebranac-bean-grid article>span{width:28px;height:28px;display:grid;place-items:center;border:1px solid #b99273;color:#865239;font:700 10px var(--sans)}
.prebranac-bean-grid small{font:700 8px/1.2 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:#a16a49}
.prebranac-bean-grid h3{font:600 19px/1.15 var(--serif);margin:7px 0 12px}
.prebranac-bean-grid p{font:12px/1.5 var(--serif);color:#6b5e52;margin:0}
.prebranac-caution{margin:22px 0 0;padding:16px 19px;background:#f7efe4;border-left:3px solid #9e5b3c;font-size:12px;color:#6b5e52}
.prebranac-caution strong{color:#6f3e2d}
.prebranac-versions{background-color:#f8f3eb;background-image:linear-gradient(rgba(248,243,235,.95),rgba(248,243,235,.95)),var(--recipe-route-map);background-size:cover,max(1300px,100%) auto;background-position:center,center 25%}
.prebranac-section-intro{max-width:760px;margin:17px 0 0;color:#6c6055;font:15px/1.6 var(--serif)}
.prebranac-version-count{font:700 10px/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#7b624e;border:1px solid #bea78e;padding:9px 12px;margin:0}
.prebranac-recipe-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.prebranac-recipe-card{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:300px;background:#fffaf3;border:1px solid #decfbd;box-shadow:0 8px 24px rgba(75,50,31,.055);overflow:hidden;scroll-margin-top:76px}
.prebranac-recipe-image{position:relative;display:block;min-height:100%;background:#cbb59b;overflow:hidden}.prebranac-recipe-image img{width:100%;height:100%;object-fit:cover;transition:transform .45s}.prebranac-recipe-card:hover .prebranac-recipe-image img{transform:scale(1.035)}
.prebranac-recipe-copy{display:flex;flex-direction:column;align-items:flex-start;padding:27px 25px 24px}.prebranac-recipe-copy h3{font:600 27px/1.06 var(--serif);letter-spacing:-.025em;margin:9px 0 11px;color:#302820}.prebranac-recipe-copy h3 a:hover{color:#8b4c34}.prebranac-recipe-copy>p{font:13px/1.52 var(--serif);color:#6c6055;margin:9px 0 18px}.prebranac-recipe-copy>.button{margin-top:auto}
.prebranac-card-meta{display:flex;flex-wrap:wrap;gap:7px 13px;margin:0 0 19px;color:#7a6c5f;font-size:10px}.prebranac-card-meta span+span:before{content:"·";margin-right:13px;color:#af9178}
.prebranac-version-list{display:grid;gap:13px}
.prebranac-version{background:#fffaf3;border:1px solid #decfbd;scroll-margin-top:76px;box-shadow:0 5px 17px rgba(75,50,31,.035)}
.prebranac-version summary{display:grid;grid-template-columns:230px minmax(0,1fr) 185px;gap:28px;align-items:center;min-height:162px;padding:13px 21px 13px 13px;cursor:pointer;list-style:none}
.prebranac-version summary::-webkit-details-marker{display:none}
.prebranac-version-image{height:136px;overflow:hidden;background:#cbb59b}
.prebranac-version-image img{width:100%;height:100%;object-fit:cover;transition:transform .45s}
.prebranac-version summary:hover .prebranac-version-image img{transform:scale(1.04)}
.prebranac-version-heading{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.prebranac-version-index{font:700 8px/1.2 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:#9a694b;margin-bottom:9px}
.prebranac-version-heading>strong{font:600 clamp(25px,2.2vw,34px)/1.07 var(--serif);letter-spacing:-.028em;color:#302820;margin-bottom:9px}
.prebranac-version-heading>span:last-child{font:14px/1.45 var(--serif);color:#6c6055;max-width:720px}
.prebranac-badge{font:700 8px/1.2 var(--sans);letter-spacing:.11em;text-transform:uppercase;padding:5px 7px;margin-bottom:9px;border:1px solid;font-style:normal}
.prebranac-badge-tradition{color:#556143;border-color:#aab197;background:#f3f4ec}
.prebranac-badge-adaptation{color:#7f4d33;border-color:#d2ad94;background:#f8eee6}
.prebranac-badge-substitution{color:#5e5f73;border-color:#bfc0ca;background:#f2f2f6}
.prebranac-badge-personal{color:#894334;border-color:#d79e8e;background:#fbebe7}
.prebranac-version-meta{display:grid;justify-items:end;gap:7px;color:#76695d;text-align:right}
.prebranac-version-meta small{font-size:10px;line-height:1.35}
.prebranac-version-meta b{display:grid;place-items:center;width:44px;height:44px;margin-top:6px;border:1px solid #b9a38b;color:#8b5138;font:300 24px/1 var(--sans);transition:transform .25s,background .25s}
.prebranac-version[open] .prebranac-version-meta b{transform:rotate(45deg);background:#efe0d0}
.prebranac-version-body{display:grid;grid-template-columns:minmax(275px,.72fr) minmax(0,1.28fr);gap:clamp(34px,6vw,90px);padding:38px clamp(28px,5vw,67px) 43px;border-top:1px solid #dfd1c1;background:#f6eee3}
.prebranac-version-body h3{font:600 24px/1.15 var(--serif);margin:0 0 18px}
.prebranac-serving-calculator{display:grid;align-items:stretch;gap:13px;margin:0 0 22px;padding:16px 17px}
.prebranac-serving-calculator .serving-label{font-size:18px}
.prebranac-serving-calculator .serving-help{font-size:11px}
.prebranac-serving-calculator .serving-stepper{justify-content:space-between;width:100%}
.prebranac-serving-calculator .serving-stepper>span{min-width:0}
.prebranac-ingredients ul{list-style:none;padding:0;margin:0;display:grid;gap:0}
.prebranac-ingredients li{padding:9px 0 9px 19px;border-top:1px solid #ddcdbb;font-size:12px;line-height:1.4;position:relative}
.prebranac-ingredients li:before{content:"";position:absolute;left:1px;top:15px;width:6px;height:6px;border:1px solid #9b5c3e}
.prebranac-ingredient-amount{font-size:12px}
.prebranac-method>ol{margin:0;padding-left:21px;display:grid;gap:11px;color:#5e5349;font:13px/1.58 var(--serif)}
.prebranac-paths{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:25px}
.prebranac-paths section{padding:18px 19px;background:#fffaf3;border-top:3px solid #986047}
.prebranac-paths h4{font:700 10px/1.3 var(--sans);letter-spacing:.09em;text-transform:uppercase;color:#784732;margin:0 0 8px}
.prebranac-paths p{font:12px/1.55 var(--serif);color:#62564b;margin:0}
.prebranac-version-note{display:grid;gap:4px;margin:18px 0 0;padding:14px 16px;background:#eadbc9;color:#594b40;font:12px/1.5 var(--serif)}
.prebranac-version-note strong{font:700 8px/1.2 var(--sans);letter-spacing:.13em;text-transform:uppercase;color:#8a5037}
.prebranac-safety{background:#2c231d;color:#f3eadf}
.prebranac-safety-grid{display:grid;grid-template-columns:minmax(320px,.78fr) minmax(0,1.22fr);gap:clamp(55px,9vw,135px);align-items:start}
.prebranac-safety h2{font:500 clamp(39px,4vw,58px)/1.02 var(--serif);letter-spacing:-.04em;margin:0 0 22px;color:#fff8ee}
.prebranac-safety-grid>div>p:last-child{font:15px/1.58 var(--serif);color:#cfc2b4;max-width:500px}
.prebranac-safety ol{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#5b4b40;border:1px solid #5b4b40}
.prebranac-safety li{display:grid;grid-template-columns:38px 1fr;gap:14px;padding:22px 20px;background:#362c25}
.prebranac-safety li span{font:italic 22px/1 var(--serif);color:#d79a72}
.prebranac-safety li p{margin:0;font:12px/1.55 var(--serif);color:#e1d6ca}
.prebranac-sources .detail-aside .text-link{margin-top:23px}
.pasulj-technique-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.pasulj-technique-grid article{min-height:235px;padding:25px 23px;background:#fdf9f2;border:1px solid #dfd1c0;border-top:4px solid #9c5d3e}
.pasulj-technique-grid article>span{font:700 9px var(--sans);letter-spacing:.18em;color:#a36a48}
.pasulj-technique-grid h3{font:600 24px/1.1 var(--serif);margin:28px 0 15px}
.pasulj-technique-grid p{font:13px/1.55 var(--serif);color:#6c6055;margin:0}
.recipe-original-name{margin:-8px 0 19px;font:italic 16px/1.35 var(--serif);color:#8a6651;letter-spacing:.025em}
.recipe-technique-gallery{background:#efe3d4}
.recipe-technique-grid{max-width:980px}.recipe-technique-grid figure{margin:0;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);background:#fbf7f0;border:1px solid #d9c7b4;overflow:hidden}.recipe-technique-grid img{width:100%;height:100%;min-height:390px;object-fit:cover}.recipe-technique-grid figcaption{display:flex;flex-direction:column;justify-content:center;padding:clamp(30px,5vw,64px)}.recipe-technique-grid figcaption strong{font:600 30px/1.08 var(--serif);color:#322820;margin-bottom:16px}.recipe-technique-grid figcaption span{font:15px/1.62 var(--serif);color:#6b5c50}
.recipe-sources{margin-top:38px;padding-top:29px;border-top:1px solid #d9c9bb}.recipe-sources ul{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:9px}.recipe-sources a{display:flex;justify-content:space-between;gap:18px;padding:13px 0;border-bottom:1px solid #e0d5cb;text-decoration:none}.recipe-sources a strong{font:600 14px/1.35 var(--serif)}.recipe-sources a span{font:700 9px/1.35 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:#8f634c;text-align:right}
.caucasus-aromatics{display:grid;grid-template-columns:minmax(250px,.62fr) minmax(0,1.38fr);gap:clamp(42px,8vw,110px);margin-top:38px;padding:clamp(32px,5vw,60px);background:#30271f;color:#f6eee4}.caucasus-aromatics h2{font:500 clamp(35px,4vw,54px)/1.02 var(--serif);letter-spacing:-.035em;margin:13px 0 0}.caucasus-aromatics>div:last-child{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#5b4b3d;border:1px solid #5b4b3d}.caucasus-aromatics a{display:grid;grid-template-columns:1fr auto;gap:8px 15px;padding:22px;background:#3a3028;color:#f7efe5;text-decoration:none}.caucasus-aromatics a strong{font:600 21px/1.1 var(--serif)}.caucasus-aromatics a span{grid-column:1;display:block;font:12px/1.5 var(--serif);color:#d6c8ba}.caucasus-aromatics a em{grid-column:2;grid-row:1/3;font-style:normal;color:#d59a73;align-self:center}

@media(max-width:980px){
  .region-explore-grid{grid-template-columns:1fr;gap:35px}.region-dossier-list{grid-template-columns:repeat(2,minmax(0,1fr))}.region-dossier-card{grid-template-columns:120px minmax(0,1fr)}.region-dossier-image{min-height:156px}.region-recipes-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .prebranac-intro-grid{grid-template-columns:1fr;gap:37px}.prebranac-family-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .prebranac-bean-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.prebranac-bean-grid article:last-child{grid-column:1/-1;min-height:0}
  .prebranac-version summary{grid-template-columns:190px minmax(0,1fr) 135px;gap:20px}.prebranac-version-image{height:128px}.prebranac-recipe-grid{grid-template-columns:1fr}.prebranac-recipe-card{grid-template-columns:260px minmax(0,1fr)}
  .prebranac-safety-grid{grid-template-columns:1fr;gap:38px}
  .pasulj-technique-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .recipe-technique-grid figure,.caucasus-aromatics{grid-template-columns:1fr}.recipe-technique-grid img{min-height:0;aspect-ratio:1.5}.caucasus-aromatics>div:last-child{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
  .region-summary-section{padding-block:38px}.region-explore-section{padding-block:44px 50px}.region-explore-heading{margin-bottom:24px}.region-dossier-list{display:flex;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;gap:12px;margin-right:-19px;padding:0 19px 12px 0}.region-dossier-card{flex:0 0 min(82vw,340px);grid-template-columns:112px minmax(0,1fr);scroll-snap-align:start}.region-dossier-image{min-height:154px}.region-dossier-copy{padding:15px 14px}.region-dossier-copy h3{font-size:25px}.region-recipes-grid{display:flex}.region-panel-heading{margin-bottom:12px}
  .prebranac-hero{min-height:570px}.prebranac-hero-image>span{background:linear-gradient(0deg,rgba(35,25,18,.97) 0%,rgba(35,25,18,.79) 49%,rgba(35,25,18,.22) 100%)}.prebranac-hero-copy{padding-block:38px 47px}.prebranac-hero .breadcrumbs{margin-bottom:125px}.prebranac-hero h1{font-size:74px}.prebranac-subtitle{font-size:23px}
  .prebranac-anchor .container{width:100%;padding-inline:17px;gap:27px}.prebranac-family-grid{grid-template-columns:1fr 1fr;gap:9px}.prebranac-family{min-height:200px;padding:19px 16px}.prebranac-family strong{font-size:20px}
  .prebranac-beans .section-header{display:grid}.prebranac-rule{max-width:none}.prebranac-bean-grid{grid-template-columns:1fr}.prebranac-bean-grid article:last-child{grid-column:auto}.prebranac-bean-grid article{min-height:0}
  .prebranac-version summary{grid-template-columns:112px minmax(0,1fr);gap:14px;padding:9px;align-items:start}.prebranac-version-image{height:112px}.prebranac-version-heading{padding-top:5px}.prebranac-version-heading>strong{font-size:23px}.prebranac-version-heading>span:last-child{display:none}.prebranac-badge{font-size:7px;margin-bottom:0}.prebranac-version-meta{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;text-align:left;border-top:1px solid #e1d4c6;padding:9px 4px 0}.prebranac-version-meta b{margin:0;width:44px;height:44px}
  .prebranac-version-body{grid-template-columns:1fr;padding:28px 20px 32px;gap:31px}.prebranac-paths{grid-template-columns:1fr}.prebranac-safety ol{grid-template-columns:1fr}.prebranac-recipe-card{grid-template-columns:1fr}.prebranac-recipe-image{min-height:0;aspect-ratio:1.6}.prebranac-recipe-copy{padding:23px 21px 25px}.prebranac-recipe-copy h3{font-size:25px}
  .pasulj-technique-grid{grid-template-columns:1fr}.pasulj-technique-grid article{min-height:0}
  .recipe-technique-grid figcaption{padding:28px 24px}.caucasus-aromatics{padding:28px 22px}.caucasus-aromatics>div:last-child{grid-template-columns:1fr}
}
@media(max-width:450px){
  .prebranac-hero h1{font-size:64px}.prebranac-hero .breadcrumbs{margin-bottom:105px}.prebranac-status{align-items:flex-start;font-size:8px}
  .prebranac-family-grid{grid-template-columns:1fr}.prebranac-family{min-height:0}.prebranac-family p{margin-top:24px}
  .prebranac-version summary{grid-template-columns:96px minmax(0,1fr)}.prebranac-version-image{height:96px}.prebranac-version-heading>strong{font-size:21px}.prebranac-version-index{font-size:7px}.prebranac-version-body h3{font-size:22px}
}
.hero-content{z-index:2}
.hero-vertical{z-index:3}
.region-detail-visual{z-index:0}
.region-detail-hero:after{z-index:1}
.region-detail-body{position:relative;z-index:2}
.inner-hero:before{z-index:0}
.inner-hero:after{z-index:0}
.inner-hero-inner{z-index:1}

/* Accessibilité AA : contrastes des micro-libellés sur fonds ivoire. */
.ingredient-guide-card>p:first-of-type,.blend-card>p:first-of-type{color:#965f41}
.source-caution{color:#695b4e}
.blend-hero aside strong{color:#824b32}
.blend-usage-grid article>span{color:#84533a}
.brand-story-sources{color:#685648}
.private-security-note p{color:#695b4e}
.prebranac-family>span{color:#955c3d}
.prebranac-family small{color:#79604e}
.prebranac-bean-grid small{color:#955c3d}
.ingredient-source small{color:#695b4e}
.prebranac-version-index{color:#8a5438}

@media(max-width:1020px){
  .menu-toolbar{grid-template-columns:1fr}.menu-add-card{grid-template-columns:minmax(180px,.7fr) minmax(240px,1.1fr) auto}
}
@media(max-width:740px){
  .menu-hero-grid{grid-template-columns:1fr;gap:34px}.menu-hero h1{font-size:58px}.menu-hero-grid>div>p:last-child{font-size:16px}
  .menu-workspace{padding-block:50px}.menu-add-card{grid-template-columns:1fr;padding:25px 20px}.menu-add-card .button{width:100%}.menu-actions-card{grid-template-columns:1fr;padding:25px 20px}.menu-planner-heading{align-items:start;flex-direction:column}.menu-save-status{text-align:left}
  .menu-entry{grid-template-columns:105px minmax(0,1fr)}.menu-entry img{width:105px;min-height:100%;}.menu-entry-body{padding:17px 16px 18px}.menu-entry-heading h3{font-size:21px}.menu-entry-controls{grid-template-columns:1fr 1fr}.menu-entry-controls label:last-child{grid-column:1/-1}.menu-serving-stepper{grid-template-columns:44px 60px 44px}
  .shopping-heading-links{justify-content:start}
}
@media(max-width:450px){
  .menu-entry{grid-template-columns:1fr}.menu-entry img{width:100%;height:auto;min-height:0;aspect-ratio:1.8}.menu-entry-controls{grid-template-columns:1fr}.menu-entry-controls label:last-child{grid-column:auto}.menu-entry-heading{margin-bottom:14px}.menu-actions{display:grid}.menu-actions button{width:100%}
  .favorites-help{font-size:12px}
}
@media print{
  .organizer-tabs{display:none!important}
  [data-menu-page] .menu-hero{padding:0 0 7mm;border:0}[data-menu-page] .menu-hero-grid{display:block}[data-menu-page] .menu-hero h1{font-size:28pt}[data-menu-page] .menu-hero-grid>div>p:last-child,[data-menu-page] .menu-hero aside span{display:none}
  [data-menu-page] .menu-workspace{padding:0;background:white}[data-menu-page] .menu-toolbar,[data-menu-page] .menu-save-status,[data-menu-page] .menu-empty,[data-menu-page] .menu-local-note,[data-menu-page] .menu-remove{display:none!important}[data-menu-page] .menu-planner-heading{margin-bottom:4mm}[data-menu-page] .menu-planner-heading h2{font-size:18pt}
  [data-menu-page] .menu-entry-list{gap:2mm}[data-menu-page] .menu-entry{grid-template-columns:32mm 1fr;min-height:0;break-inside:avoid;background:white}[data-menu-page] .menu-entry img{width:32mm;min-height:0;height:23mm}[data-menu-page] .menu-entry-body{padding:2.5mm 3mm}[data-menu-page] .menu-entry-heading{margin-bottom:2mm}[data-menu-page] .menu-entry-heading h3{font-size:12pt}[data-menu-page] .menu-entry-controls{grid-template-columns:1fr 1fr 1fr;gap:3mm}[data-menu-page] .menu-entry-controls label{font-size:5.7pt;gap:1mm}[data-menu-page] .menu-entry-controls select,[data-menu-page] .menu-entry-controls input{min-height:0;border:0;padding:0;font-size:8pt;appearance:none}[data-menu-page] .menu-serving-stepper{display:block}[data-menu-page] .menu-serving-stepper button{display:none}
}
