/* Generated by scripts/build_design.py. Edit source stylesheets, then rebuild. */

/* Source: site.css */
:root{--paper:#f7eedc;--ink:#183a34;--blue:#174ba0;--red:#b53624;--gold:#dca638;--muted:#5c655b;--border:#cfc7b4;--sc-canvas:var(--paper);--sc-ink:var(--ink);--sc-ink-soft:var(--muted);--sc-accent:var(--red);--sc-font-display:Georgia,'Times New Roman',serif;--sc-font-text:Arial,Helvetica,sans-serif;scroll-padding-top:100px}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 Arial,Helvetica,sans-serif}body:before{position:fixed;inset:0;content:'';pointer-events:none;z-index:10;opacity:.13;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath filter='url(%23n)' opacity='.23' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.08;text-wrap:balance}h1{font-size:clamp(3.4rem,6.6vw,7.3rem);letter-spacing:-.055em}h2{font-size:clamp(2.6rem,4.2vw,4.8rem);letter-spacing:-.045em}h3{font-size:1.7rem;letter-spacing:-.025em}a{color:inherit;text-underline-offset:5px}button,input,select{font:inherit}button,a,select,input{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--blue);outline-offset:5px}img{display:block;max-width:100%}button{color:inherit}em{font-weight:400}main{overflow:clip}.wrap{width:calc(100% - 112px);max-width:1392px;margin-inline:auto}.site-header{height:104px;display:flex;align-items:center;justify-content:space-between;padding:0 4%;border-bottom:1px solid var(--border);background:var(--paper);position:relative;z-index:30;gap:24px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;flex-shrink:0}.brand svg{width:44px;height:44px;fill:var(--red)}.brand circle{fill:var(--paper)}.brand>span{font:29px/1 Georgia,serif;letter-spacing:-1px}.brand small{display:block;font:9px/1.5 Arial,sans-serif;letter-spacing:2.5px;margin-top:8px}.site-header nav{display:flex;gap:30px;font-size:13px}.site-header nav a{text-decoration:none;padding-block:10px}.site-header nav a:hover{color:var(--red)}.header-favorites{display:flex;align-items:center;gap:10px;text-decoration:none;font-size:13px}.header-favorites>b{font-size:10px;background:var(--ink);color:var(--paper);width:20px;height:20px;border-radius:50%;text-align:center;line-height:20px}.menu-toggle{display:none}.skip{position:absolute;top:-100px;left:15px;z-index:100;background:white;padding:15px}.skip:focus{top:10px}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:760px;max-width:1600px;margin:auto;position:relative}.hero-copy{padding:65px 20px 55px 8%;position:relative;z-index:3;align-self:center}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2.3px;margin-bottom:24px}.hero .eyebrow{color:var(--blue);display:flex;align-items:center;gap:10px}.hero .eyebrow span{font-size:23px;color:var(--red)}.hero h1{font-size:clamp(4.6rem,7vw,7.8rem);line-height:.99}.hero h1 em{color:var(--red)}.hero-description{max-width:360px;font-size:15px;margin:28px 0 28px;line-height:1.85}.button{display:inline-flex;align-items:center;justify-content:center;gap:26px;padding:15px 22px;border:1px solid transparent;text-decoration:none;font-size:12px;font-weight:bold;letter-spacing:.25px;min-height:50px;transition:background .2s,color .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button.red{background:var(--red);color:var(--paper)}.button.red:hover{background:#942b1c}.button.outline{background:transparent;border-color:currentColor}.button.outline:hover{background:var(--ink);color:var(--paper)}.hero-footnote{display:flex;gap:12px;align-items:center;margin-top:40px;font-size:10px;color:var(--muted)}.tiny-flower{color:var(--red);font-size:28px}.hero-scene{position:relative;min-width:0;min-height:760px;isolation:isolate}.arch-back{position:absolute;inset:35px 8% 70px 2%;border-radius:46% 46% 0 0;background:var(--blue);overflow:hidden;transform-origin:center bottom}.arch-back:after{content:'';position:absolute;inset:14px;border:1px solid #c1b583;border-radius:46% 46% 0 0;opacity:.65}.arch-lines{position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 75px,#072e6b38 76px 78px),repeating-linear-gradient(0deg,transparent 0 125px,#072e6b38 126px 128px)}.arch-star{position:absolute;color:#e8c45b;font-size:80px}.s1{top:10%;left:20%}.s2{top:18%;right:14%;font-size:50px}.arabic-welcome{position:absolute;top:4%;left:0;width:100%;text-align:center;color:#ead594;font:29px Georgia,serif}.scene-halo{position:absolute;width:70%;aspect-ratio:1;top:17%;left:13%;border:1px dashed #e6b95f66;border-radius:50%;z-index:1}.ommek{position:absolute;bottom:38px;left:0;width:94%;height:91%;object-fit:contain;object-position:center bottom;z-index:2;filter:drop-shadow(10px 16px 9px #102b4226);transform-origin:center bottom;max-width:none}.scene-seal{width:112px;height:112px;background:var(--red);border:1px solid var(--paper);outline:5px solid var(--red);color:var(--paper);border-radius:50%;position:absolute;right:4%;bottom:27%;z-index:4;display:flex;align-items:center;justify-content:center;flex-direction:column;rotate:10deg}.scene-seal span{font-size:7px;letter-spacing:1.6px}.scene-seal b{font:38px Georgia,serif;line-height:1.3}.woven-edge{position:absolute;height:32px;bottom:28px;left:-7%;right:0;z-index:3;background:repeating-conic-gradient(from 45deg,var(--red) 0% 25%,var(--paper) 0% 50%) 0 0/24px 24px;border-block:5px solid var(--red)}.scene-note{position:absolute;bottom:2px;left:12%;font:italic 13px Georgia,serif}.heritage-ribbon{display:flex;align-items:center;justify-content:space-around;gap:32px;background:var(--blue);color:var(--paper);padding:18px 25px;white-space:nowrap;overflow:hidden;font-size:10px;letter-spacing:2px;border-block:6px double var(--paper)}.heritage-ribbon span:first-child{font:23px Georgia,serif;letter-spacing:0}.heritage-ribbon b{color:var(--gold);font-size:25px}.history{padding-block:110px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:55px}.section-heading>p,.section-heading>div:nth-child(2){max-width:350px;font-size:14px}.section-heading .text-link{margin-top:20px}.history-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:11%}.history-intro{position:sticky;top:50px;align-self:start;padding:35px 40px 40px;background:#e9e0cb;border:1px solid var(--border)}.large-motif{color:var(--blue);font-size:100px;line-height:1.2;display:block;margin-bottom:15px}.history-intro h3{font-size:46px}.history-intro p{font-size:14px;margin:22px 0}.text-link{font-size:12px;display:inline-block;font-weight:700;text-decoration:none;border-bottom:1px solid;padding-bottom:5px;color:var(--red)}.timeline{border-left:1px solid var(--border);padding-left:35px}.timeline article{position:relative;padding-bottom:45px}.timeline article:last-child{padding-bottom:0}.timeline-dot{position:absolute;left:-41px;top:5px;width:11px;height:11px;border-radius:50%;background:var(--red);outline:5px solid var(--paper)}.meta{font-size:10px;font-weight:600;letter-spacing:1.2px;color:var(--muted)}.timeline h3{margin:10px 0 14px;font-size:27px}.timeline p:not(.meta){font-size:14px;color:var(--muted)}.encounters{background:var(--ink);color:var(--paper);position:relative;min-height:140vh;isolation:isolate}.encounters:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(45deg,transparent 0 25px,#f7eedc05 26px 27px);z-index:-1}.encounter-stage{position:sticky;top:0;min-height:100svh;display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;padding:65px 0 65px 5%;gap:40px;overflow:hidden}.encounter-copy{max-width:490px;z-index:2}.encounter-copy .eyebrow{color:#e6c372}.encounter-copy h2{font-size:clamp(3rem,5.1vw,5.7rem)}.encounter-copy h2 em{color:#e6c372}.encounter-copy>p:not(.eyebrow){font-size:14px;max-width:330px;margin-top:22px;color:#d0d9ca}.culture-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:25px 0}.culture-tabs button{background:transparent;border:1px solid #a0b3a566;color:var(--paper);padding:9px 12px;font-size:10px;min-height:40px}.culture-tabs button.active{background:#e6c372;border-color:#e6c372;color:#17352e}.culture-story{border-left:2px solid #e6c372;padding-left:20px;min-height:170px}.culture-story h3{font-size:24px}.culture-story p{font-size:13px;color:#d0d9ca;margin:12px 0 15px}.text-link.light{color:#e6c372}.table-scene{position:relative;height:690px;display:flex;align-items:center;transform:translateX(6%);will-change:transform}.table-scene img{width:850px;height:650px;max-width:none;object-fit:cover;border-radius:48% 0 0 48%;border:10px solid #c49b54;box-shadow:-20px 20px 0 #0f2923}.table-label{position:absolute;background:var(--paper);color:var(--ink);padding:10px 14px;font:italic 17px Georgia,serif;box-shadow:4px 4px 0 #0003;max-width:230px}.label-one{top:19%;left:4%;rotate:-5deg}.label-two{bottom:17%;left:20%;rotate:3deg}.table-credit{position:absolute;bottom:0;left:25%;font-size:9px;color:#ced7c8}.recipes-preview{padding-block:110px}.recipe-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.recipe-card{min-width:0}.recipe-art{height:220px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;text-decoration:none;background:#d1a047;color:var(--paper);isolation:isolate}.recipe-art:before{content:'';position:absolute;border:2px solid currentColor;inset:13px;opacity:.4;z-index:0}.recipe-art:after{content:'';width:135px;height:135px;position:absolute;border-radius:50%;border:14px double currentColor;opacity:.25;transition:transform .5s}.recipe-art:hover:after{transform:rotate(30deg) scale(1.1)}.art-pattern{position:absolute;inset:0;opacity:.12;background:repeating-conic-gradient(from 45deg,currentColor 0% 25%,transparent 0% 50%) 0 0/44px 44px}.dish-symbol{font-size:108px;line-height:1;z-index:1}.art-caption{position:absolute;bottom:23px;font-size:7px;letter-spacing:2px}.art-couscous{background:#b66a2c}.art-brik{background:#b53c27}.art-mechouia{background:#3b6748}.art-makroudh{background:#a46f22}.art-lablabi{background:#aa672b}.art-tajine{background:#27588b}.art-bread{background:#9a6539}.art-tea{background:#376c65}.time-tag{position:absolute;right:0;top:0;background:var(--paper);color:var(--ink);font-size:10px;padding:5px 10px}.card-info{padding-top:18px}.card-info .meta{font-size:8px}.card-info h3{font-size:23px;margin-top:9px;line-height:1.18;min-height:54px}.card-info h3 a{text-decoration:none}.card-info h3 a:hover{color:var(--red)}.card-bottom{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);margin-top:13px;padding-bottom:13px;font-size:10px;color:var(--muted)}.save{border:1px solid var(--border);border-radius:50%;background:transparent;font-size:23px;width:38px;height:38px;line-height:1}.save[aria-pressed=true]{color:var(--red);border-color:var(--red);background:#ead6bd}.catalog-note{text-align:center;margin-top:30px;font-size:11px;color:var(--muted)}.tools-preview{background:#e8deca;padding-block:80px;border-block:1px solid var(--border)}.tools-preview .section-heading{align-items:center}.tool-rail{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:20px}.tool-preview{flex:0 0 240px;scroll-snap-align:start;position:relative;border:1px solid #bbae93;padding:25px;text-decoration:none;background:var(--paper)}.tool-drawing{display:flex;height:110px;align-items:center;justify-content:center;font-size:78px;color:var(--blue);font-family:Georgia,serif}.tool-preview h3{font-size:24px;margin-top:14px}.tool-preview p{font-size:12px;margin:9px 0 15px}.tool-arrow{position:absolute;right:20px;bottom:16px;color:var(--red)}.closing{text-align:center;padding-block:90px 100px}.closing-motif{font-size:76px;line-height:1.2;color:var(--red)}.closing>p{font:25px/1.5 Georgia,serif;margin:15px 0}.closing .button{margin-top:30px}.site-footer{padding:55px 5% 25px;background:var(--blue);color:var(--paper);text-align:center;position:relative;border-top:13px double var(--paper)}.footer-wordmark{font:44px/1 Georgia,serif;letter-spacing:-1.5px;text-decoration:none}.footer-wordmark span{display:block;font:20px Georgia,serif;letter-spacing:0;margin-top:16px}.site-footer>p{font-size:12px;margin-top:18px}.site-footer>div{display:flex;justify-content:center;gap:30px;margin:30px 0}.site-footer>div a{font-size:10px;text-decoration:none}.site-footer small{display:block;padding-top:20px;border-top:1px solid #ffffff38;font-size:9px;letter-spacing:.5px}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);padding:12px 22px;background:var(--ink);color:var(--paper);z-index:70;font-size:13px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;max-width:90vw}.toast.visible{opacity:1;transform:translate(-50%,0)}.catalog{padding-block:60px 90px;min-height:70vh}.catalog-title{display:flex;align-items:center;justify-content:space-between;gap:60px;margin-bottom:40px}.catalog-title h1{font-size:clamp(3.4rem,5.8vw,6.5rem)}.catalog-title p:not(.eyebrow){max-width:650px;font-size:14px;margin-top:22px}.catalog-flower{font-size:180px;color:var(--red);line-height:1}.filter-form{padding:28px;border:1px solid var(--border);background:#eee4d1;margin-bottom:30px}.search-field>label{display:block;font-size:12px;margin-bottom:10px}.search-field>div{display:flex;gap:12px}.search-field input{width:100%;min-width:0;background:var(--paper);border:1px solid #b4b8a4;padding:14px 16px}.filter-row{display:flex;flex-wrap:wrap;align-items:end;gap:20px;margin-top:20px}.filter-row>label{font-size:11px}.filter-row select{display:block;background:var(--paper);border:1px solid #b4b8a4;padding:10px;max-width:240px;margin-top:5px;font-size:13px;min-height:44px}.filter-row .checkbox{display:flex;align-items:center;gap:8px;min-height:44px}.checkbox input{width:18px;height:18px;accent-color:var(--red)}.filter-row>a{font-size:11px;padding-bottom:13px}.results-heading{display:flex;justify-content:space-between;font-size:12px;margin-block:30px}.catalog .recipe-grid{row-gap:40px}.pagination{display:flex;gap:10px;justify-content:center;margin-top:45px;flex-wrap:wrap}.pagination a{font-size:12px;border:1px solid var(--border);padding:10px 14px;text-decoration:none;min-width:44px;text-align:center}.pagination [aria-current=page]{background:var(--ink);color:var(--paper)}.empty-state{padding:70px 20px;text-align:center}.empty-state p{margin-block:20px}.recipe-detail{padding-block:35px 90px}.back-link{font-size:12px;text-decoration:none;display:inline-block;margin-bottom:35px}.detail-heading{display:flex;align-items:center;gap:50px;justify-content:space-between}.detail-heading h1{font-size:clamp(3rem,5.4vw,6rem);max-width:900px}.detail-heading>div>p:not(.eyebrow){max-width:750px;margin-top:23px;font-size:14px}.detail-motif{font-size:140px;color:var(--red);line-height:1}.detail-meta{display:flex;flex-wrap:wrap;gap:20px;font-size:11px;margin-top:25px}.detail-meta>span{padding:6px 10px;border:1px solid var(--border)}.detail-actions{display:flex;gap:12px;margin-block:30px 45px}.recipe-columns{display:grid;grid-template-columns:340px 1fr;gap:70px}.ingredients{align-self:start;background:#eae0cc;padding:28px}.ingredients h2,.preparation h2{font-size:38px;margin-bottom:20px}.servings-label{font-size:12px}.servings-label select{background:var(--paper);border:1px solid var(--border);padding:9px;margin-inline:5px;min-width:60px}.small-note{font-size:11px;color:var(--muted);margin-top:12px}.ingredient-list{list-style:none;padding:0;margin-top:25px}.ingredient-list li{border-bottom:1px solid var(--border);padding:13px 0;font-size:13px}.ingredient-list label{display:flex;gap:10px;align-items:start}.ingredient-list input{width:17px;height:17px;accent-color:var(--red);flex-shrink:0;margin-top:3px}.ingredient-list input:checked+span{text-decoration:line-through;opacity:.6}.ingredients h3{margin-top:25px;font-size:23px}.ingredients>ul:last-child{font-size:13px;padding-left:20px}.preparation ol{counter-reset:steps;list-style:none;padding:0}.preparation li{counter-increment:steps;display:flex;gap:22px;margin-bottom:30px;font-size:14px}.preparation li:before{content:counter(steps);display:block;font:26px Georgia,serif;color:var(--red);width:38px;flex-shrink:0;border-top:2px solid;padding-top:10px}.preparation li p{padding-top:8px}.recipe-note{background:#eee4d1;padding:25px;border-left:3px solid var(--red);margin:40px 0 25px}.recipe-note h3{font-size:24px}.recipe-note p{font-size:13px;margin-top:12px}details{border-top:1px solid var(--border);padding-top:18px;font-size:13px}summary{cursor:pointer;font-weight:600;min-height:35px}details p{margin-block:12px}details h3{font-size:18px;margin-top:20px}.utensils-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;margin-top:25px}.utensil{border:1px solid var(--border);padding:28px;background:#f3e8d3;scroll-margin-top:25px}.utensil:target{outline:3px solid var(--red)}.utensil h2{font-size:31px;margin-top:20px}.utensil>p{font-size:13px;margin-top:20px}.utensil .local-name{font:italic 18px Georgia,serif;margin-top:10px;color:var(--red)}.utensil details{margin-top:25px}.source-note{background:#eae0cc;padding:25px;font-size:12px;margin-top:35px}.about{padding-block:60px 90px}.about>h1{margin-bottom:50px}.about-intro{display:grid;grid-template-columns:.7fr 1fr;gap:70px;align-items:center}.about-intro img{max-height:560px;object-fit:contain;background:var(--blue);border-radius:45% 45% 0 0}.about-intro h2,.about section h2{font-size:40px}.about-intro p,.about section>p{font-size:14px;line-height:1.9;margin-top:22px}.about-intro h3{margin-top:30px}.about section{padding-top:65px;max-width:900px}.sources-list article{padding:25px 0;border-bottom:1px solid var(--border)}.sources-list h3{font-size:23px}.sources-list p{font-size:13px;margin-top:12px}.about #clear-favorites{margin-top:25px}.error-page{padding-block:100px;min-height:50vh}
@media(min-width:1600px){.hero{min-height:850px}.hero-scene{min-height:850px}.hero-copy{padding-left:9%}}
@media(max-width:1100px){.site-header nav{gap:18px}.site-header{padding-inline:3%;gap:15px}.header-favorites span{display:none}.wrap{width:calc(100% - 64px)}.hero,.hero-scene{min-height:680px}.hero h1{font-size:7.4vw}.hero-copy{padding-left:7%}.ommek{width:104%;left:-7%;height:86%}.scene-seal{width:92px;height:92px;right:2%}.hero-description{font-size:14px;max-width:310px}.scene-note{font-size:11px}.recipe-grid{gap:18px}.recipe-art{height:190px}.card-info h3{font-size:21px}.encounter-stage{gap:20px}.table-scene{height:600px}.table-scene img{height:550px;width:700px}.section-heading{gap:35px}.recipe-columns{grid-template-columns:300px 1fr;gap:40px}.utensils-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.site-header{height:85px;padding-inline:22px;gap:12px}.brand{gap:8px}.brand svg{width:30px}.brand>span{font-size:24px}.brand small{font-size:7px;letter-spacing:1.8px}.menu-toggle{display:block;border:0;background:none;font-size:12px;padding:12px 5px;margin-left:auto}.header-favorites{font-size:23px;gap:3px}.header-favorites b{width:17px;height:17px;font-size:8px;line-height:17px}.site-header nav{display:none;position:absolute;top:85px;left:0;right:0;background:var(--paper);padding:20px 24px;border-bottom:1px solid var(--border);box-shadow:0 10px 15px #183a3415}.site-header nav.open{display:flex;flex-direction:column;gap:5px}.site-header nav a{font-size:15px;padding:12px}.wrap{width:calc(100% - 40px)}.hero{display:block;min-height:0}.hero-copy{padding:38px 24px 20px}.eyebrow{font-size:8px;letter-spacing:1.7px;margin-bottom:20px}.hero h1{font-size:clamp(4.4rem,13vw,6.5rem);line-height:.98}.hero-description{font-size:14px;max-width:390px;margin:23px 0}.hero-footnote{margin-top:23px;font-size:9px}.hero-scene{height:580px;min-height:0;max-width:520px;margin:-5px auto 0}.arch-back{inset:20px 12% 45px}.ommek{width:92%;height:96%;left:4%;bottom:20px}.arabic-welcome{font-size:23px;top:4%}.scene-seal{bottom:30%;right:9%;width:86px;height:86px}.scene-seal span{font-size:5.5px}.scene-seal b{font-size:31px}.woven-edge{left:5%;right:5%;bottom:15px;height:25px}.scene-note{bottom:-8px;left:0;width:100%;text-align:center;font-size:11px}.hero{padding-bottom:27px}.hero .button{font-size:11px;padding-inline:18px}.heritage-ribbon{justify-content:start;padding:12px 20px;gap:25px;font-size:8px}.heritage-ribbon span:first-child{font-size:19px}.history{padding-block:65px}.section-heading{display:block;margin-bottom:35px}.section-heading>p,.section-heading>div:nth-child(2){margin-top:25px;max-width:100%}.history-grid{display:block}.history-intro{position:static;padding:25px;margin-bottom:40px;display:grid;grid-template-columns:70px 1fr;gap:10px 20px}.large-motif{font-size:65px;grid-row:1 / 3;margin:0}.history-intro h3{font-size:34px}.history-intro p{margin:10px 0;grid-column:1 / -1}.history-intro .text-link{grid-column:1 / -1;justify-self:start}.timeline{margin-left:6px;padding-left:28px}.timeline-dot{left:-34px}.timeline h3{font-size:25px}.timeline article{padding-bottom:32px}.timeline p:not(.meta){font-size:13px}.encounters{min-height:0}.encounter-stage{position:relative;display:flex;flex-direction:column;padding:55px 20px 30px;min-height:0;gap:20px}.encounter-copy{max-width:none;width:100%}.encounter-copy h2{font-size:54px}.encounter-copy>p:not(.eyebrow){max-width:100%}.culture-tabs{gap:7px;margin-block:22px}.culture-tabs button{padding:9px 10px;font-size:9px}.culture-story{min-height:175px}.culture-story h3{font-size:25px}.table-scene{height:380px;transform:none!important;align-self:stretch;width:100%}.table-scene img{height:340px;width:100%;border-radius:43% 43% 4px 4px;object-fit:cover;border-width:5px;box-shadow:6px 10px 0 #0f2923}.table-label{font-size:13px;padding:8px;max-width:180px}.label-one{top:15%;left:0}.label-two{bottom:18%;left:auto;right:0}.table-credit{bottom:0;left:0;width:100%;text-align:center;font-size:8px}.recipes-preview{padding-block:65px}.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 16px}.recipe-art{height:180px}.dish-symbol{font-size:83px}.recipe-art:after{width:105px;height:105px;border-width:10px}.art-caption{font-size:5px;letter-spacing:1px;bottom:20px}.card-info h3{font-size:22px;min-height:52px}.card-info .meta{font-size:7px;letter-spacing:.5px}.card-bottom{font-size:9px;gap:5px}.save{flex-shrink:0;width:34px;height:34px;font-size:22px}.catalog-note{font-size:10px}.tools-preview{padding-block:55px}.tools-preview .button{margin-top:25px}.tool-preview{flex-basis:220px}.closing{padding-block:60px}.closing h2{font-size:39px}.closing>p{font-size:21px}.site-footer{padding:40px 20px 20px}.footer-wordmark{font-size:38px}.site-footer>div{display:grid;grid-template-columns:1fr 1fr;gap:18px}.site-footer small{font-size:8px}.catalog{padding-block:40px 65px}.catalog-title{gap:15px;align-items:start}.catalog-title h1{font-size:49px}.catalog-title .eyebrow{font-size:7px}.catalog-title p:not(.eyebrow){font-size:13px}.catalog-flower{display:none}.filter-form{padding:18px}.search-field>div{flex-direction:column;gap:10px}.search-field input{font-size:14px;padding:12px}.search-field .button{align-self:start}.filter-row{gap:12px;align-items:start}.filter-row>label:not(.checkbox){width:calc(50% - 6px)}.filter-row select{width:100%;max-width:100%;font-size:11px}.filter-row .checkbox{width:100%}.filter-row>a{padding-bottom:0}.results-heading{margin-block:25px}.catalog .recipe-grid{row-gap:28px}.detail-heading{display:block}.detail-heading h1{font-size:47px}.detail-motif{display:none}.detail-heading>div>p:not(.eyebrow){font-size:13px}.detail-meta{gap:9px}.detail-actions{flex-wrap:wrap;gap:10px;margin-bottom:30px}.detail-actions .button{font-size:10px;padding-inline:14px}.recipe-columns{grid-template-columns:1fr;gap:35px}.ingredients{padding:22px}.preparation li{font-size:13px;gap:12px}.utensils-grid{grid-template-columns:1fr;gap:18px}.utensil{padding:24px}.about{padding-block:40px 65px}.about h1{font-size:65px}.about-intro{grid-template-columns:1fr;gap:35px}.about-intro img{width:100%;max-height:430px;object-position:center 20%}.about-intro h2,.about section h2{font-size:35px}.about section{padding-top:45px}.error-page h1{font-size:45px}}
@media(max-width:380px){.site-header{padding-inline:15px}.brand>span{font-size:21px}.hero h1{font-size:65px}.hero-scene{height:490px}.recipe-art{height:155px}.card-info h3{font-size:20px}.recipe-grid{gap:25px 12px}.encounter-copy h2{font-size:47px}.table-scene{height:320px}.table-scene img{height:280px}.catalog-title h1{font-size:43px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.encounters{min-height:0}.encounter-stage{position:relative}.table-scene,.hero [data-depth]{transform:none!important} [data-sc-in]{opacity:1!important;transform:none!important}}
@media print{body{background:white;color:black}body:before,.site-header,.site-footer,.detail-actions,.back-link,.toast{display:none!important}.wrap{width:100%;max-width:none}.recipe-detail{padding:0}.detail-heading h1{font-size:32px}.recipe-columns{display:block}.ingredients{background:transparent;padding:15px 0}.ingredient-list{columns:2}.preparation li{break-inside:avoid}.detail-meta{margin-block:15px}.preparation details{display:block}details:not([open])>*:not(summary){display:block}.recipe-note{background:none;border:1px solid #aaa}a{text-decoration:none}.ingredient-list input{display:none}.recipe-detail h2{font-size:25px}.recipe-note h3{font-size:20px}}
html:not(.sc-ready) [data-sc-in]{opacity:1;transform:none}
.recipe-art.has-photo img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.recipe-art.has-photo:hover img{transform:scale(1.05)}.has-photo .art-pattern,.has-photo .dish-symbol,.has-photo .art-caption,.recipe-art.has-photo:before,.recipe-art.has-photo:after{display:none}.detail-photo{margin:0 0 45px}.detail-photo img{width:100%;max-height:530px;object-fit:cover}.detail-photo figcaption{font-size:10px;color:var(--muted);margin-top:8px}
@media print{.detail-photo{display:none}}
.image-scope{position:absolute;left:0;bottom:0;max-width:100%;padding:4px 8px;background:#183a34ed;color:#f7eedc;font:9px/1.4 Arial,Helvetica,sans-serif;z-index:2}.has-photo .time-tag{z-index:2}
.install-page{max-width:920px;padding-block:40px 80px}.install-page>.brand{font:30px Georgia,serif;margin-bottom:45px;color:var(--red)}.install-page h1{font-size:clamp(40px,6vw,72px);margin-bottom:26px}.install-intro{font-size:14px;line-height:1.9;max-width:750px}.install-checks{display:grid;grid-template-columns:1fr 1fr;gap:10px 25px;margin:30px 0;padding:23px;background:#eae0cc;font-size:12px}.install-checks span{color:var(--blue);font-weight:bold}.install-message{padding:22px;margin:22px 0;background:#eee4d1;border-left:4px solid var(--blue);font-size:14px}.install-message p+p{margin-top:12px}.install-message.error{border-color:var(--red)}.install-message.success{border-color:var(--ink)}.install-key-note{padding-block:25px}.install-key-note h2{font-size:30px;margin-bottom:15px}.install-key-note p{font-size:13px;line-height:1.85}.install-form{padding:28px;border:1px solid var(--border)}.install-form label{display:block;font-size:12px}.install-form input:not([type=checkbox]):not([type=hidden]){display:block;width:100%;margin-top:8px;padding:13px;border:1px solid #b4b8a4;background:var(--paper);font-size:15px;min-width:0}.install-fields{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-block:25px}.install-form .install-confirm{display:flex;align-items:start;gap:12px;margin-block:28px;line-height:1.8}.install-confirm input{flex-shrink:0;width:18px;height:18px;margin-top:3px}.install-form .button:disabled{opacity:.5;transform:none}.install-page code{overflow-wrap:anywhere}.install-page .small-note{line-height:1.8}
@media(max-width:650px){.install-checks,.install-fields{grid-template-columns:1fr}.install-form{padding:20px}.install-page{padding-top:25px}}


/* Source: oriental.css */
/* La maison des saveurs. Contemporary Tunisian craft, two-script typography. */
:root {
  --paper: #f6efdf;
  --ink: #153c3e;
  --blue: #205e67;
  --red: #a83c2f;
  --gold: #cfa75e;
  --muted: #59665f;
  --border: #d4c4a7;
  --night: #092f35;
  --jade: #12474a;
  --display: 'El Messiri', 'Palatino Linotype', 'Book Antiqua', serif;
  --text: 'Noto Sans', system-ui, sans-serif;
  --ease-craft: cubic-bezier(.2,.7,.2,1);
  --sc-font-display: var(--display);
  --sc-font-text: var(--text);
  --sc-accent-ink: #fff9ec;
  --duration-hover: 160ms;
  --duration-scene: 650ms;
  scroll-padding-top: 110px;
}
body { font-family: var(--text); font-size: 15px; line-height: 1.8; }
body::before { opacity: .08; z-index: 5; }
h1,h2,h3 { font-family: var(--display); font-weight: 500; letter-spacing: -.025em; line-height: 1.24; }
h1 { font-size: clamp(3.3rem,6vw,6.7rem); }
h2 { font-size: clamp(2.5rem,4.1vw,4.5rem); }
h3 { font-size: 1.65rem; }
em { font-style: normal; }
p { text-wrap: pretty; }
:lang(ar) { font-family: var(--display); letter-spacing: 0; line-height: 1.65; }
button,input,select { font-family: var(--text); }
::selection { background: #d8b16d; color: var(--night); }
.wrap { max-width: 1340px; }
.reading-progress { position: fixed; top: 0; left: 0; right: 0; height: 3px; z-index: 80; pointer-events: none; }
.reading-progress span { display: block; height: 100%; background: var(--gold); transform-origin: left center; transform: scaleX(var(--reading-progress,0)); }
.site-header { position: sticky; top: 0; height: 96px; padding-inline: 4.5%; color: var(--paper); background: var(--night); border-bottom: 1px solid #cfa75e45; box-shadow: none; transition: box-shadow 200ms, background-color 200ms; }
.site-header.is-scrolled { background: #092f35f5; box-shadow: 0 8px 24px #092f3526; }
.brand { gap: 13px; }
.brand svg { width: 40px; height: 40px; fill: var(--gold); }
.brand circle { fill: var(--night); }
.brand>span { position: relative; font: 500 28px/1.1 var(--display); letter-spacing: -.5px; }
.brand-arabic { display: inline-block; font-size: 17px; margin-left: 13px; color: #dfbf82; }
.brand small { font: 500 8px/1.8 var(--text); letter-spacing: 3px; margin-top: 6px; }
.site-header nav { gap: 26px; font-size: 12px; }
.site-header nav a { position: relative; padding-block: 13px; color: #eee6d7; }
.site-header nav a::after { content: ''; position: absolute; left: 0; right: 0; bottom: 4px; height: 1px; background: var(--gold); transform-origin: left; transform: scaleX(0); transition: transform 200ms var(--ease-craft); }
.site-header nav a:hover,.site-header nav a:focus-visible { color: #e9c98c; }
.site-header nav a:hover::after,.site-header nav a:focus-visible::after { transform: scaleX(1); }
.header-favorites { border: 1px solid #cfa75e68; padding: 10px 13px; color: #f9edda; min-height: 45px; }
.header-favorites>b { background: var(--gold); color: var(--night); }
.header-favorites:hover { border-color: var(--gold); }
.eyebrow { color: #976c2d; font-size: 10px; letter-spacing: 2px; margin-bottom: 20px; }
.hero { max-width: none; min-height: 800px; overflow: clip; grid-template-columns: 1fr 1fr; background: var(--night); color: var(--paper); isolation: isolate; }
.hero::before { content: ''; position: absolute; top: 0; bottom: 0; left: 0; width: 28px; background: url('tiles.svg') center/75px; opacity: .4; border-right: 1px solid #cfa75e33; }
.hero::after { content: ''; position: absolute; inset: 20px 26px 25px; border: 1px solid #cfa75e30; pointer-events: none; z-index: 4; }
.hero-copy { padding: 55px 25px 70px max(65px,8vw); z-index: 3; }
.hero-calligraphy { width: fit-content; font-size: 40px; color: #d8b576; margin-bottom: 8px; }
.hero .eyebrow { color: #e0c68e; font-size: 8px; letter-spacing: 2.4px; }
.hero .eyebrow>span { color: var(--gold); font-size: 18px; }
.hero h1 { font: 500 clamp(4rem,6.5vw,7.2rem)/1.12 var(--display); letter-spacing: -.025em; color: #fbf3e2; }
.hero-description { font-size: 14px; line-height: 1.95; max-width: 350px; color: #e2dfcf; margin: 26px 0 30px; }
.hero-footnote { color: #d4ccba; margin-top: 32px; font-size: 10px; line-height: 1.8; }
.tiny-flower { color: var(--gold); }
.button { position: relative; overflow: hidden; border-radius: 2px; padding: 16px 24px; font-size: 11px; letter-spacing: .35px; min-height: 52px; transition: background-color var(--duration-hover),border-color var(--duration-hover),color var(--duration-hover),transform var(--duration-hover),box-shadow var(--duration-hover); }
.button::after { content: ''; position: absolute; inset: 5px; pointer-events: none; border: 1px solid currentColor; opacity: .3; }
.button.red { background: var(--red); color: #fff8ec; border-color: #cfa75e6b; box-shadow: 4px 5px 0 #071e2120; }
.button.red:hover { background: #893328; box-shadow: 6px 9px 0 #071e2120; }
.button:hover { transform: translateY(-3px); }
.button:active { transform: translateY(0) scale(.985); }
.button.outline { border-color: #a58045; background: transparent; color: var(--ink); }
.button.outline:hover { background: var(--ink); color: #fff8ec; }
.hero-scene { min-height: 800px; height: 100%; transform: translate3d(var(--scene-x,0px),var(--scene-y,0px),0); }
.hero-rosette { position: absolute; width: 105%; max-width: none; height: 90%; object-fit: contain; top: -3%; left: -8%; opacity: .35; transform: rotate(var(--rosette-rotation,0deg)); pointer-events: none; }
.arch-back { inset: 43px 12% 80px 1%; background: #1c5558 url('tiles.svg') center/90px; border: 10px double #cfa75eab; border-radius: 48% 48% 8px 8px / 35% 35% 8px 8px; box-shadow: 16px 18px 0 #061f25, 17px 19px 0 #a98547; }
.arch-back::after { inset: 16px; border: 1px solid #cfa75e9c; border-radius: 48% 48% 0 0 / 35% 35% 0 0; }
.arch-lines { background: repeating-linear-gradient(90deg,transparent 0 50px,#072e3033 51px 52px); }
.arch-star { color: #e7c17a; opacity: .9; }
.s1 { top: 15%; left: 18%; font-size: 65px; }
.s2 { top: 23%; right: 12%; font-size: 40px; }
.arabic-welcome { top: 5%; color: #f6dfae; font: 400 31px/1.6 var(--display); }
.scene-halo { border-color: #cfa75e8c; width: 85%; top: 13%; left: -1%; border-style: solid; }
.hero [data-depth] { transform: translate3d(0,var(--depth-y,0px),0); }
.ommek { width: 100%; height: 91%; left: -7%; bottom: 29px; filter: drop-shadow(8px 12px 18px #041b2470); }
.scene-seal { right: 6%; bottom: 25%; width: 115px; height: 115px; background: var(--night); border: 1px solid var(--gold); outline: 5px solid var(--night); color: #f3d59c; box-shadow: 0 0 0 6px #cfa75e80; }
.scene-seal b { font: 400 38px/1.6 var(--display); }
.scene-seal span { font-size: 6px; letter-spacing: 1.6px; }
.woven-edge { bottom: 27px; left: -4%; right: 5%; height: 29px; background: #b28142 url('tiles.svg') center/30px; border-block: 4px double #f3dab0; }
.scene-note { color: #d7bd86; bottom: 1px; left: 3%; font: 400 11px/1.7 var(--text); letter-spacing: .4px; }
.heritage-ribbon { display: block; padding: 0; background: #c6a367; color: var(--night); border-block: 6px double #6a542f; overflow: hidden; }
.ribbon-track { display: flex; align-items: center; gap: 38px; width: max-content; padding: 16px 30px; transform: translate3d(var(--ribbon-x,0px),0,0); }
.ribbon-track>span { font-size: 10px; letter-spacing: 1.7px; }
.ribbon-track>span:first-child,.ribbon-track>span:nth-last-child(4) { font-family: var(--display); font-size: 23px; letter-spacing: 0; }
.ribbon-track>b { color: var(--night); font-size: 24px; }
.history { padding-block: 110px 100px; }
.section-heading { align-items: center; gap: 55px; margin-bottom: 52px; }
.section-heading>div:first-child { position: relative; padding-left: 26px; }
.section-heading>div:first-child::before { content: ''; position: absolute; left: 0; top: 9px; bottom: 10px; width: 3px; background: #cfa75e; }
.section-heading>p,.section-heading>div:nth-child(2) { font-size: 14px; line-height: 1.95; max-width: 345px; }
.history-grid { grid-template-columns: .9fr 1.1fr; gap: 10%; }
.history-intro { border: 1px solid #cfa75e; padding: 48px 42px 40px; background: #eae0c9; top: 126px; }
.history-intro::before { content: ''; position: absolute; inset: 8px; border: 1px solid #b68f4c70; pointer-events: none; }
.large-motif { display: block; color: transparent; background: url('rosette.svg') center/contain no-repeat; width: 110px; height: 110px; font-size: 0; margin-bottom: 23px; transform: rotate(var(--history-rotation,0deg)); }
.history-intro h3 { font: 500 44px/1.24 var(--display); }
.history-intro p { line-height: 1.95; font-size: 13px; }
.text-link { color: #93372d; font: 600 11px/1.8 var(--text); position: relative; border-bottom-color: #b58c4b88; padding-bottom: 6px; }
.text-link::after { content: ''; position: absolute; bottom: -1px; left: 0; right: 0; height: 1px; background: currentColor; transform-origin: left; transform: scaleX(0); transition: transform 180ms var(--ease-craft); }
.text-link:hover::after,.text-link:focus-visible::after { transform: scaleX(1); }
.timeline { position: relative; border-left: 1px solid #d4c4a7; padding-left: 35px; }
.timeline::before { content: ''; position: absolute; top: 0; bottom: 0; left: -1px; width: 2px; background: #a58045; transform-origin: top; transform: scaleY(var(--history-progress,0)); }
.timeline article { padding-bottom: 45px; }
.timeline-dot { width: 11px; height: 11px; border-radius: 0; rotate: 45deg; background: var(--paper); border: 1px solid #a58045; transition: background-color 200ms; }
.timeline article.is-past .timeline-dot { background: #a58045; }
.timeline h3 { font: 500 27px/1.35 var(--display); margin-top: 10px; }
.timeline p:not(.meta) { font-size: 13px; line-height: 1.95; }
.meta { font-family: var(--text); font-size: 10px; letter-spacing: .8px; }
.encounters { background: var(--night); color: var(--paper); min-height: 155vh; border-block: 10px double #a58147; }
.encounters::before { background: url('tiles.svg') left center/115px; opacity: .1; }
.encounter-stage { padding-block: 80px; gap: 45px; min-height: 100svh; }
.encounter-copy h2 { font: 500 clamp(3rem,5vw,5.5rem)/1.19 var(--display); }
.encounter-copy h2 em { color: #e4c78f; }
.encounter-copy>p:not(.eyebrow) { line-height: 1.95; max-width: 360px; }
.culture-tabs { margin-block: 28px; gap: 9px; }
.culture-tabs button { font-size: 10px; border-color: #cfa75e7a; min-height: 44px; position: relative; transition: background-color 160ms,color 160ms,border-color 160ms; }
.culture-tabs button:hover { border-color: #f0d7a3; }
.culture-tabs button.active { background: #d2ad6a; color: #092f35; border-color: #e2c28b; }
.culture-story { padding-left: 20px; border-left-color: #cfa75e; }
.culture-story h3 { font: 500 25px/1.4 var(--display); }
.culture-story p { line-height: 1.95; font-size: 13px; }
.text-link.light { color: #e2c28b; }
.table-scene { height: 700px; }
.table-scene img { height: 650px; width: 850px; border-radius: 46% 46% 3px 3px / 34% 34% 3px 3px; border: 8px double #d9b876; box-shadow: -15px 18px 0 #062027; }
.table-label { font: 500 16px/1.6 var(--display); padding: 10px 16px; border: 1px solid #cfa75e; background: #fbf3e3; box-shadow: 5px 7px 0 #041b2538; }
.label-one { top: 14%; left: 2%; }
.label-two { bottom: 14%; left: 14%; }
.table-credit { bottom: -8px; color: #d9ceb6; }
.recipes-preview { padding-block: 105px; }
.recipe-grid { gap: 28px; }
.recipe-card { background: #fcf6e9; border: 1px solid #d4c4a7; border-radius: 5px; padding: 10px; box-shadow: 4px 7px 0 #123f3b08; min-width: 0; }
.recipe-art { height: 235px; border-radius: 42% 42% 3px 3px / 26% 26% 3px 3px; transform: perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)); transition: transform 180ms var(--ease-craft); transform-origin: center; }
.recipe-art.has-photo img { transform: scale(1.02); transition: transform 500ms var(--ease-craft); }
.recipe-art.has-photo:hover img { transform: scale(1.085); }
.recipe-art.has-photo::before { display: block; content: ''; position: absolute; z-index: 1; inset: 7px; border: 1px solid #f7e2b88a; border-radius: inherit; pointer-events: none; opacity: 1; }
.time-tag { background: #092f35ed; color: #f6e1b9; padding: 7px 10px; top: 15px; right: 7px; border: 1px solid #cfa75e66; font-size: 9px; }
.image-scope { font: 500 8px/1.6 var(--text); padding: 5px 8px; background: #092f35ed; color: #f5e5c7; }
.card-info { padding: 18px 8px 0; }
.card-info .meta { font-size: 8px; line-height: 1.8; color: #6b695c; }
.card-info h3 { font: 500 23px/1.35 var(--display); min-height: 62px; margin-top: 9px; }
.card-info h3 a { transition: color 160ms; }
.card-info h3 a:hover { color: #a83c2f; }
.card-bottom { margin-top: 12px; padding-bottom: 9px; border-bottom: none; border-top: 1px solid #d4c4a7; padding-top: 12px; font-size: 9px; }
.save { border-color: #b7955d; color: #785f36; width: 36px; height: 36px; transition: background-color 120ms, color 120ms, transform 120ms; }
.save:hover { transform: scale(1.1); background: #eee0c3; }
.save[aria-pressed=true] { background: #a83c2f; color: #fff4db; border-color: #a83c2f; }
.catalog-note { margin-top: 35px; font-size: 11px; }
.tools-preview { position: relative; isolation: isolate; border-block: 1px solid #c3a873; background: #e8ddc4; padding-block: 85px; }
.tools-preview::before { content: ''; position: absolute; inset: 0; background: url('tiles.svg') center/105px; opacity: .15; z-index: -1; }
.tool-rail { gap: 22px; padding: 8px 0 25px; }
.tool-preview { flex-basis: 245px; border: 1px solid #b7955d; background: #f9f1df; padding: 28px; border-radius: 44% 44% 3px 3px / 19% 19% 3px 3px; box-shadow: 4px 7px 0 #173e3912; transition: transform 200ms var(--ease-craft),background-color 200ms; }
.tool-preview:hover,.tool-preview:focus-visible { transform: translateY(-5px); background: #fff8ea; }
.tool-drawing { height: 130px; width: 100%; font-size: 0; color: #9a713b; }
.tool-drawing svg { width: 112px; height: 112px; transition: transform 220ms var(--ease-craft); }
.tool-preview:hover svg { transform: rotate(-5deg); }
.tool-preview h3 { font: 500 25px/1.35 var(--display); }
.tool-preview .meta { font-size: 8px; }
.tool-arrow { color: #96703d; }
.closing { position: relative; padding-block: 95px 105px; }
.closing::before { content: ''; position: absolute; top: 12%; left: 50%; width: 500px; max-width: 90%; aspect-ratio: 1; transform: translateX(-50%); border: 1px solid #cfa75e42; border-radius: 50%; pointer-events: none; z-index: -1; }
.closing-motif { display: block; margin: auto; width: 95px; height: 95px; color: transparent; font-size: 0; background: url('rosette.svg') center/contain no-repeat; transform: rotate(var(--closing-rotation,0deg)); }
.closing>p { font: 400 29px/1.7 var(--display); color: #8b6632; margin-block: 20px; }
.closing h2 { font-family: var(--display); line-height: 1.35; }
.site-footer { background: var(--night); border-top: 9px double #cfa75e; padding: 60px 5% 26px; overflow: hidden; isolation: isolate; }
.site-footer::before { content: ''; position: absolute; inset: 0; background: url('tiles.svg') center/115px; opacity: .12; z-index: -1; }
.footer-wordmark { font: 500 46px/1.3 var(--display); color: #fbf2df; }
.footer-wordmark span { color: #d7b579; font: 400 27px/1.8 var(--display); margin-top: 2px; }
.site-footer>p { font-size: 12px; color: #d9d7c8; }
.site-footer>div a { font-size: 11px; color: #f2e6d2; }
.site-footer>div a:hover { color: #f2d393; text-decoration: underline; }
.site-footer small { border-top-color: #cfa75e45; color: #c8c4b3; font-size: 9px; }
.catalog,.recipe-detail,.about { padding-top: 60px; }
.catalog-title { padding: 40px; border: 1px solid #bca06c; background: #eae0c9; position: relative; isolation: isolate; margin-bottom: 40px; }
.catalog-title::before { content: ''; position: absolute; top: 10px; right: 10px; bottom: 10px; width: 22%; background: url('tiles.svg') center/95px; opacity: .35; z-index: -1; }
.catalog-title h1 { font: 500 clamp(3rem,5.2vw,5.8rem)/1.22 var(--display); }
.catalog-title p:not(.eyebrow) { font-size: 13px; line-height: 1.95; max-width: 680px; }
.catalog-flower { width: 150px; height: 150px; color: transparent; font-size: 0; background: url('rosette.svg') center/contain no-repeat; flex-shrink: 0; }
.filter-form { background: #fcf6e9; border-color: #c8ad7e; border-top: 4px double #c8ad7e; padding: 28px; }
.search-field>label { font-weight: 500; font-size: 12px; }
.search-field input,.filter-row select { background: #fffaf0; border-color: #bba780; transition: border-color 160ms,box-shadow 160ms; }
.search-field input:focus,.filter-row select:focus { border-color: #966b2f; box-shadow: 0 0 0 3px #cfa75e22; }
.filter-row select { padding: 11px; }
.filter-row>label { font-size: 11px; }
.pagination a { border-color: #b99b66; background: #fcf6e9; }
.pagination [aria-current=page] { background: var(--night); color: #f5dbab; }
.pagination a:hover { background: #e4d2af; color: var(--night); }
.results-heading { font-size: 12px; }
.back-link { color: #906b36; margin-bottom: 30px; }
.detail-heading { border-bottom: 1px solid #c8ad7e; padding-bottom: 30px; }
.detail-heading h1 { font: 500 clamp(3rem,5vw,5.8rem)/1.2 var(--display); }
.detail-heading>div>p:not(.eyebrow) { line-height: 1.95; }
.detail-motif { color: transparent; background: url('rosette.svg') center/contain no-repeat; width: 140px; height: 140px; font-size: 0; flex-shrink: 0; }
.detail-meta { gap: 12px; }
.detail-meta>span { background: #ece1c9; border-color: #d0b888; padding: 7px 12px; }
.detail-photo { padding: 9px; border: 1px solid #b99b66; background: #eee4ce; }
.detail-photo img { border-radius: 3px; }
.detail-photo figcaption { font-family: var(--text); padding: 5px; font-size: 10px; }
.recipe-columns { gap: 60px; }
.ingredients { border: 1px solid #b99b66; background: #ece2cb; padding: 30px; border-top: 5px double #b99b66; }
.ingredients h2,.preparation h2 { font: 500 38px/1.3 var(--display); }
.ingredient-list li { border-color: #cdbc9b; line-height: 1.8; }
.preparation li { font-size: 14px; line-height: 1.95; }
.preparation li::before { font: 500 26px/1.6 var(--display); color: #a47b3c; }
.recipe-note { border-left-color: #ae8240; background: #eae0c9; }
.recipe-note h3 { font-family: var(--display); }
.utensils-grid { gap: 25px; }
.utensil { background: #fcf6e9; border-color: #bca06c; border-top: 5px double #bca06c; padding: 30px; transition: border-color 180ms,box-shadow 180ms; }
.utensil:hover { border-color: #8d692f; box-shadow: 5px 8px 0 #173e390b; }
.utensil h2 { font: 500 32px/1.3 var(--display); }
.utensil .local-name { color: #9c7137; font: 500 17px/1.5 var(--display); }
.utensil p { line-height: 1.95; }
summary { font-size: 12px; color: var(--ink); transition: color 160ms; }
summary:hover { color: #9c7137; }
details[open] { border-top-color: #ad874d; }
.source-note { background: #e7dcc1; border-left: 3px solid #ae8240; }
.about>h1 { font-family: var(--display); color: var(--ink); padding-left: 30px; border-left: 3px solid #cfa75e; }
.about-intro img { border: 10px double #b99b66; border-radius: 45% 45% 5px 5px / 30% 30% 5px 5px; background: var(--night) url('tiles.svg') center/95px; }
.about-intro h2,.about section h2 { font: 500 39px/1.3 var(--display); }
.about-intro p,.about section>p { line-height: 1.95; }
.sources-list h3 { font: 500 24px/1.4 var(--display); }
.toast { background: var(--night); border: 1px solid #cfa75e; color: #f6e1b9; font: 400 12px/1.8 var(--text); }
:focus-visible { outline-color: #b8893d; outline-width: 3px; }
.install-page>.brand { font-family: var(--display); color: #946f39; }
.install-page h1 { font-family: var(--display); }
.install-checks,.install-message { background: #eae0c9; }
.install-form { border-color: #bca06c; background: #fcf6e9; }
.install-key-note h2 { font-family: var(--display); }
/* Reveals are opt-in and initialized only after capability and motion checks. */
.motion-enabled .motion-pending { opacity: 0; }
@media(hover:hover) and (pointer:fine) {
  .recipe-card:hover { box-shadow: 6px 10px 0 #123f3b13; border-color: #af8a4c; }
  .hero-scene { will-change: transform; }
}
@media(min-width:1600px) {
  .hero { min-height: 880px; }
  .hero-copy { padding-left: max(90px,calc((100vw - 1340px)/2)); }
  .hero-scene { min-height: 880px; }
  .ommek { max-width: 800px; }
}
@media(max-width:1150px) {
  .brand-arabic { display: none; }
  .site-header nav { gap: 18px; font-size: 11px; }
  .hero,.hero-scene { min-height: 730px; }
  .hero-copy { padding-left: 65px; }
  .hero h1 { font-size: 7vw; }
  .hero-calligraphy { font-size: 33px; }
  .scene-seal { width: 95px; height: 95px; }
  .scene-seal b { font-size: 32px; }
  .recipe-grid { gap: 20px; }
  .recipe-art { height: 200px; }
  .card-info { padding-inline: 3px; }
  .card-info h3 { font-size: 21px; }
  .encounter-stage { gap: 25px; }
  .table-scene { height: 600px; }
  .table-scene img { height: 550px; width: 730px; }
}
@media(max-width:760px) {
  :root { scroll-padding-top: 98px; }
  .site-header { height: 84px; padding-inline: 18px; gap: 12px; }
  .brand>span { font-size: 24px; }
  .brand small { font-size: 6px; letter-spacing: 2px; margin-top: 5px; }
  .brand svg { width: 31px; height: 31px; }
  .header-favorites { border: none; padding: 7px 0 7px 4px; }
  .menu-toggle { color: #f4dfb7; font-family: var(--text); font-size: 11px; }
  .site-header nav { top: 84px; background: #092f35; color: #f6efdf; border-color: #cfa75e6b; padding: 16px 25px; }
  .site-header nav a { font-size: 14px; padding: 12px 0; }
  .site-header nav a::after { right: auto; width: 45px; }
  .hero { min-height: 0; display: block; padding-bottom: 38px; }
  .hero::before { width: 13px; background-size: 55px; }
  .hero::after { inset: 12px 13px 16px 22px; }
  .hero-copy { padding: 36px 33px 18px; }
  .hero-calligraphy { font-size: 29px; margin-bottom: 2px; }
  .hero .eyebrow { font-size: 7px; letter-spacing: 1.8px; margin-bottom: 14px; }
  .hero h1 { font-size: clamp(48px,12vw,76px); line-height: 1.18; }
  .hero-description { max-width: 390px; margin: 18px 0 24px; font-size: 13px; line-height: 1.9; }
  .hero-footnote { margin-top: 24px; font-size: 9px; }
  .hero .button { font-size: 10px; padding-inline: 18px; }
  .hero-scene { min-height: 0; height: 540px; max-width: 490px; margin: 0 auto; transform: none; }
  .hero-rosette { width: 100%; left: 0; top: 0; height: 90%; }
  .arch-back { inset: 28px 15% 45px; border-width: 7px; box-shadow: 10px 12px 0 #061f25,11px 13px 0 #a98547; background-size: 65px; }
  .arch-back::after { inset: 9px; }
  .arabic-welcome { font: 400 22px/1.8 var(--display); top: 7%; }
  .s1 { font-size: 45px; }
  .s2 { font-size: 32px; }
  .ommek { width: 91%; height: 94%; left: 4.5%; bottom: 20px; }
  .scene-halo { top: 10%; left: 8%; width: 84%; }
  .scene-seal { width: 84px; height: 84px; right: 8%; bottom: 27%; }
  .scene-seal b { font-size: 29px; }
  .scene-seal span { font-size: 5px; }
  .woven-edge { left: 8%; right: 8%; height: 22px; bottom: 15px; }
  .scene-note { bottom: -10px; left: 10%; width: 80%; font-size: 9px; text-align: center; }
  .ribbon-track { gap: 26px; padding: 11px 22px; }
  .ribbon-track>span { font-size: 8px; }
  .ribbon-track>span:first-child { font-size: 20px; }
  .history { padding-block: 65px; }
  .section-heading { margin-bottom: 35px; }
  .section-heading>div:first-child { padding-left: 19px; }
  .section-heading>p,.section-heading>div:nth-child(2) { font-size: 13px; max-width: 100%; line-height: 1.9; }
  h2 { font-size: 36px; line-height: 1.3; }
  .history-grid { display: block; }
  .history-intro { position: relative; padding: 30px; gap: 10px 18px; }
  .large-motif { width: 75px; height: 75px; margin: 0; }
  .history-intro h3 { font-size: 33px; }
  .history-intro p { font-size: 13px; }
  .timeline { padding-left: 28px; }
  .timeline h3 { font-size: 25px; }
  .timeline p:not(.meta) { font-size: 13px; }
  .timeline-dot { left: -34px; }
  .encounters { min-height: 0; }
  .encounter-stage { position: relative; min-height: 0; padding: 50px 22px 35px; gap: 22px; }
  .encounter-copy h2 { font-size: 45px; line-height: 1.22; }
  .encounter-copy>p:not(.eyebrow) { font-size: 13px; max-width: 100%; }
  .culture-tabs { gap: 8px; margin-block: 23px; }
  .culture-tabs button { font-size: 9px; min-height: 44px; padding: 9px; }
  .culture-story { min-height: 190px; padding-left: 17px; }
  .culture-story h3 { font-size: 24px; }
  .culture-story p { font-size: 12px; }
  .table-scene { width: 100%; height: 380px; }
  .table-scene img { width: 100%; height: 340px; border-width: 5px; border-radius: 43% 43% 3px 3px / 30% 30% 3px 3px; box-shadow: 6px 10px 0 #062027; }
  .table-label { font-size: 13px; padding: 8px; max-width: 175px; }
  .label-one { top: 12%; left: 0; }
  .label-two { bottom: 17%; right: 0; left: auto; }
  .table-credit { font-size: 8px; bottom: 0; }
  .recipes-preview { padding-block: 65px; }
  .recipe-grid { gap: 22px 14px; }
  .recipe-card { padding: 7px; }
  .recipe-art { height: 175px; }
  .card-info { padding: 14px 2px 0; }
  .card-info h3 { font-size: 20px; line-height: 1.3; min-height: 55px; }
  .card-info .meta { font-size: 7px; letter-spacing: .2px; }
  .card-bottom { font-size: 8px; gap: 3px; padding-top: 10px; }
  .save { width: 32px; height: 32px; font-size: 21px; }
  .time-tag { font-size: 8px; padding: 5px 7px; top: 10px; right: 4px; }
  .image-scope { font-size: 7px; padding: 4px 5px; }
  .tools-preview { padding-block: 55px; }
  .tool-preview { flex-basis: 215px; padding: 26px; }
  .tool-preview h3 { font-size: 23px; }
  .tool-drawing { height: 115px; }
  .tool-drawing svg { width: 95px; height: 95px; }
  .closing { padding-block: 65px 70px; }
  .closing-motif { width: 75px; height: 75px; }
  .closing>p { font-size: 23px; }
  .closing h2 { font-size: 35px; }
  .closing::before { width: 330px; top: 18%; }
  .site-footer { padding: 45px 20px 23px; }
  .footer-wordmark { font-size: 37px; }
  .footer-wordmark span { font-size: 24px; }
  .site-footer>div { gap: 20px; }
  .site-footer>div a { font-size: 10px; }
  .catalog,.recipe-detail,.about { padding-top: 35px; }
  .catalog-title { padding: 28px 22px; gap: 0; }
  .catalog-title::before { width: 15%; opacity: .2; }
  .catalog-title h1 { font-size: 43px; line-height: 1.24; }
  .catalog-title p:not(.eyebrow) { font-size: 12px; }
  .filter-form { padding: 19px; }
  .filter-row select { padding: 10px 6px; }
  .detail-heading { padding-bottom: 24px; }
  .detail-heading h1 { font-size: 42px; }
  .detail-meta { font-size: 10px; }
  .detail-actions { gap: 10px; }
  .detail-photo { padding: 6px; }
  .detail-photo figcaption { font-size: 9px; }
  .recipe-columns { gap: 30px; }
  .ingredients { padding: 23px; }
  .ingredients h2,.preparation h2 { font-size: 32px; }
  .preparation li { font-size: 13px; }
  .utensil { padding: 25px; }
  .utensil h2 { font-size: 29px; }
  .about>h1 { font-size: 52px; padding-left: 20px; }
  .about-intro h2,.about section h2 { font-size: 34px; }
  .sources-list h3 { font-size: 23px; }
  .install-page h1 { font-size: 43px; }
}
@media(max-width:380px) {
  .site-header { padding-inline: 14px; gap: 8px; }
  .brand>span { font-size: 21px; }
  .hero-copy { padding-inline: 30px; }
  .hero h1 { font-size: 46px; }
  .hero-scene { height: 460px; }
  .hero .button { font-size: 9px; padding-inline: 15px; }
  .hero-footnote { font-size: 8px; }
  .recipe-grid { gap: 19px 10px; }
  .recipe-art { height: 145px; }
  .card-info h3 { font-size: 18px; }
  .card-bottom>span { max-width: 70px; }
  .image-scope { font-size: 6px; }
  .table-scene { height: 325px; }
  .table-scene img { height: 285px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior: auto; }
  .motion-enabled .motion-pending { opacity: 1; }
  .hero [data-depth],.hero-scene,.hero-rosette,.large-motif,.closing-motif,.ribbon-track,.recipe-art,.recipe-art.has-photo img,.tool-drawing svg { transform: none !important; }
  .encounters { min-height: 0; }
  .encounter-stage { position: relative; }
  .timeline::before { transform: scaleY(1); }
}
@media print {
  .reading-progress,.hero-rosette { display: none; }
  body { background: white; color: black; font-family: sans-serif; }
  .recipe-card,.ingredients,.detail-heading,.recipe-note { box-shadow: none; background: white; border-color: #999; }
  .detail-heading h1 { font-size: 32px; }
  .ingredients h2,.preparation h2 { font-size: 25px; }
  .motion-enabled .motion-pending { opacity: 1; }
}
.motion-enabled .motion-pending:focus-within { opacity: 1; }
@media(hover:hover) and (pointer:fine) {
  .recipe-art:focus-visible img { transform: scale(1.06); }
}


/* Source: gallery.css */
/* Photographic gallery. No decorative cards, grids, rules or frames. */
:root{--paper:#f9f8f3;--ink:#163c3a;--border:transparent;--muted:#626b63}
body{background:var(--paper);font-size:16px}body::before{display:none}
.site-header{background:var(--paper);color:var(--ink);border:0;box-shadow:none}.site-header.is-scrolled{background:#f9f8f3f2;box-shadow:none;backdrop-filter:blur(16px)}
.brand svg{fill:#a65034}.brand circle{fill:var(--paper)}.brand-arabic{color:#a65034}.site-header nav a,.menu-toggle{color:#38504a}.site-header nav a:hover{color:#a65034}.site-header nav a::after,.reading-progress{display:none}
.header-favorites{border:0;border-radius:99px;background:#eeeee5;color:var(--ink);padding:11px 15px}.header-favorites>b{background:#1b4841;color:white}
.hero,.encounters{border:0}.hero::before,.hero::after,.arch-back::after,.scene-halo,.woven-edge,.hero-rosette{display:none}.arch-back{border:0;box-shadow:none;background:#245d56}.scene-seal{border:0;outline:0;box-shadow:none;background:#f1d9ad;color:#183e3a}
.heritage-ribbon{border:0;background:#eee6d3}.section-heading>div:first-child{padding-left:0}.section-heading>div:first-child::before,.history-intro::before,.timeline::before,.timeline-dot,.large-motif,.catalog-flower,.detail-motif{display:none}
.history-intro{background:none;border:0;padding:20px 0}.timeline{border:0;padding-left:0}.timeline article{border:0;padding-bottom:38px}
.button{border:0;border-radius:99px;padding:16px 25px;box-shadow:none;font-size:12px}.button::before,.button::after{display:none}.button.red,.button.red:hover{border:0;box-shadow:none}.button.outline{border:0;background:#eceee6;color:var(--ink)}.button.outline:hover{background:#1b4841;color:white}
.text-link{border:0;font-size:12px;padding:8px 0}.text-link::after{display:none}.text-link:hover{color:#163c3a}
.recipe-grid{gap:45px 28px}.recipe-card{border:0;background:none;box-shadow:none;padding:0}.recipe-card:hover{border:0;box-shadow:none!important}.recipe-art{height:270px;border:0;border-radius:22px;background:none}.recipe-art::before,.recipe-art::after,.recipe-art.has-photo::before{display:none}.recipe-art.has-photo img{border-radius:22px}
.card-info{padding:20px 0 0}.card-info h3{font-size:25px;min-height:0}.card-bottom{border:0;padding:7px 0 0}.card-info .meta{font-size:10px}.time-tag{border:0;border-radius:99px;right:12px;top:12px;background:#fbfaf4ed;color:#163c3a}.image-scope{border-radius:0 12px 0 0}.save{border:0;background:#eceee6}
.tools-preview{border:0;background:#f0eee6}.tools-preview::before{display:none}.tool-preview{border:0;box-shadow:none;border-radius:0;background:none;padding:15px}.tool-preview:hover,.tool-preview:focus-visible{background:none}.tool-drawing{height:200px}.tool-drawing img{width:100%;height:200px;object-fit:contain;transition:transform 400ms var(--ease-craft)}.tool-preview:hover .tool-drawing img{transform:translateY(-8px) rotate(-3deg)}.tool-preview svg{display:none}
.closing::before,.closing-motif{display:none}.site-footer{border:0;background:#eaece3;color:var(--ink)}.site-footer::before{display:none}.footer-wordmark,.footer-wordmark span,.site-footer>p,.site-footer>div a,.site-footer small{color:var(--ink)}.site-footer small{border:0;padding-top:12px}
.catalog-title{padding:0;background:none;border:0}.catalog-title::before{display:none}.catalog-title h1{font-size:clamp(42px,5.7vw,76px)}.filter-form{border:0;background:none;padding:0}.search-field input,.filter-row select{border:0;background:#eeeee6;border-radius:99px;padding:16px 21px;box-shadow:none}.search-field input:focus,.filter-row select:focus{box-shadow:none}.filter-row select{padding:13px 18px}.pagination a{border:0;border-radius:99px;background:#eeeee6}
.detail-heading{border:0}.detail-photo{border:0;background:none;padding:0}.detail-photo img{border-radius:28px}.ingredients{border:0;background:none;border-radius:0;padding:15px 0}.ingredient-list li{border:0;padding:11px 0}.preparation li::before{border:0}.recipe-note{border:0;background:none;padding:25px 0}.recipe-note h3{color:#a65034}details,summary{border:0}.source-note{border:0;background:none;padding:25px 0}
.about>h1{border:0;padding-left:0}.about-intro img{border:0;background:#ebe7db;border-radius:46% 46% 20px 20px}.sources-list article{border:0}.install-form{border:0;background:none;padding:0}.install-checks,.install-message{border:0;border-radius:24px;background:#eeeee6}.install-form input:not([type=checkbox]):not([type=hidden]){border:0;border-radius:99px;background:#eeeee6}.toast{border:0;border-radius:99px}
.table-scene img{border:0;box-shadow:none}.table-label{border:0;border-radius:99px;box-shadow:none}.culture-story{border:0;padding-left:0}.culture-tabs button{border:0;border-radius:99px;background:#ffffff15}
.workshop{overflow:clip}.workshop-hero{display:grid;grid-template-columns:1fr 1.1fr;align-items:center;min-height:650px;gap:20px;padding-block:30px 60px}.workshop-intro{max-width:540px;position:relative;z-index:2}.workshop-arabic{font:400 34px/1.7 var(--display);color:#a65034;width:fit-content;margin-bottom:8px}.workshop-intro .eyebrow{font-size:9px;margin-bottom:18px;color:#70735e}.workshop-intro h1{font:500 clamp(46px,5.4vw,76px)/1.2 var(--display);letter-spacing:-.035em}.workshop-intro>p:not([class]){max-width:390px;margin-top:24px;font-size:15px;line-height:1.95;color:#5b655b}.workshop-intro>.text-link{margin-top:25px}
.workshop-orbit{height:590px;position:relative;isolation:isolate}.workshop-orbit img{position:absolute;object-fit:contain;transform:translate3d(0,var(--tool-depth-y,0px),0)}.orbit-pot{width:77%;height:85%;left:12%;top:11%;z-index:2}.orbit-platter{width:68%;height:64%;top:-4%;left:33%;z-index:1;rotate:12deg}.orbit-spoon{width:46%;height:65%;top:37%;left:-7%;z-index:3;rotate:-25deg}.orbit-caption{position:absolute;bottom:0;right:0;font:400 11px/1.8 var(--text);color:#767868}
.workshop-collection{padding-top:35px;padding-bottom:70px}.collection-heading{display:flex;align-items:center;justify-content:space-between;gap:65px;margin-bottom:40px}.collection-heading h2{font:500 clamp(32px,3.6vw,48px)/1.3 var(--display)}.collection-heading>p{max-width:350px;font-size:14px;color:#626b63;line-height:1.95}
.workshop-search{display:flex;align-items:center;justify-content:space-between;gap:25px;margin:0}.workshop-search .search-field{flex:1}.workshop-search .search-field>div{gap:10px}.workshop-search .search-field input{background:#eeeee6;width:100%;font-size:14px;padding:17px 23px}.workshop-search .filter-row{margin:0;gap:15px;align-items:center}.workshop-search .filter-row>label{font-size:10px;color:#626b63}.workshop-search .filter-row select{min-width:175px;margin:3px 0 0;font-size:12px}.collection-count{font-size:10px;color:#747a6f;margin-top:28px}
.workshop-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:65px 45px;margin-top:12px;align-items:start}.workshop-gallery .utensil{border:0;padding:0;box-shadow:none;background:none;border-radius:0;min-width:0;scroll-margin-top:110px}.workshop-gallery .utensil:target{outline:none}.workshop-gallery .utensil:hover{border:0;box-shadow:none}.workshop-gallery .utensil:nth-child(3n + 2){margin-top:60px}
.utensil-visual{display:block;width:100%;height:350px;background:none;border:0;border-radius:0;padding:12px;cursor:pointer;position:relative;isolation:isolate;transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform 250ms var(--ease-craft)}.utensil-visual::before{content:'';position:absolute;width:70%;height:65%;left:15%;top:18%;border-radius:52% 48% 41% 59% / 43% 55% 45% 57%;background:#eae7db;z-index:-1;opacity:0;transform:scale(.9) rotate(-12deg);transition:opacity 350ms,transform 500ms var(--ease-craft)}.utensil-visual img{width:100%;height:100%;object-fit:contain;transform:translateY(0) scale(.97);transition:transform 600ms var(--ease-craft)}.utensil-visual:hover img,.utensil-visual:focus-visible img{transform:translateY(-12px) scale(1.04)}.utensil-visual:hover::before,.utensil-visual:focus-visible::before{opacity:.75;transform:scale(1) rotate(4deg)}
.object-discover{position:absolute;bottom:12px;left:50%;transform:translate(-50%,8px);opacity:0;padding:10px 16px;border-radius:99px;background:#18483fe8;color:white;font-size:10px;line-height:1.6;white-space:nowrap;transition:opacity 180ms,transform 180ms;pointer-events:none}.object-discover>span{margin-left:15px}.utensil-visual:hover .object-discover,.utensil-visual:focus-visible .object-discover{opacity:1;transform:translate(-50%,0)}
.utensil-copy{padding:15px 12px 0}.utensil-copy>.meta{font-size:9px;color:#787967;letter-spacing:.5px}.workshop-gallery .utensil h2{font:500 30px/1.3 var(--display);margin:12px 0 0}.workshop-gallery .utensil .local-name{font:400 15px/1.5 var(--display);color:#a65034;margin:5px 0 0}.utensil-copy>p:not(.local-name){margin-top:17px;font-size:13px;color:#626b63;line-height:1.9}.workshop-gallery .utensil details{border:0;margin-top:20px;padding:0}.workshop-gallery .utensil summary{font:600 11px/1.8 var(--text);min-height:42px;padding:8px 24px 8px 0;display:block;list-style:none;position:relative}.workshop-gallery summary::-webkit-details-marker{display:none}.workshop-gallery summary::after{content:'+';position:absolute;top:5px;right:4px;font:400 22px/1.5 var(--text);color:#a65034;transition:transform 200ms}.workshop-gallery details[open] summary::after{transform:rotate(45deg)}.object-details h3{font:500 20px/1.4 var(--display);margin-top:12px}.object-details p{font-size:12px;line-height:1.9;color:#626b63}
.workshop-note{max-width:600px;padding:90px 0 25px;margin:auto;text-align:center}.workshop-note h2{font-size:42px}.workshop-note>p:not(.eyebrow){font-size:14px;color:#626b63;margin:18px auto 22px;line-height:1.95;max-width:480px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(hover:none){.object-discover{opacity:1;transform:translate(-50%,0);font-size:9px;padding:7px 12px;background:#f9f8f3e8;color:var(--ink)}}
@media(max-width:1100px){.workshop-hero{min-height:580px}.workshop-orbit{height:510px}.workshop-intro h1{font-size:59px}.workshop-gallery{gap:50px 25px}.utensil-visual{height:290px}.recipe-art{height:215px}.workshop-search{gap:18px}.workshop-search .button{padding:16px 20px}}
@media(max-width:760px){
 .site-header nav{background:#f9f8f3;border:0;box-shadow:0 12px 22px #163c3a0b}.site-header nav a,.menu-toggle{color:var(--ink)}.hero::before,.hero::after{display:none}
 .recipe-grid{gap:30px 18px}.recipe-art,.recipe-art.has-photo img{height:185px;border-radius:18px}.card-info{padding:15px 0 0}.card-info h3{font-size:22px}.card-info .meta{font-size:8px}.time-tag{top:9px;right:9px}.catalog-title{padding:0}.catalog-title h1{font-size:46px}.filter-form{padding:0}.tool-drawing,.tool-drawing img{height:170px}
 .workshop-hero{display:flex;flex-direction:column;align-items:stretch;min-height:0;padding-top:30px;padding-bottom:25px;gap:0}.workshop-intro{max-width:none}.workshop-arabic{font-size:28px}.workshop-intro h1{font-size:clamp(43px,11vw,66px)}.workshop-intro>p:not([class]){font-size:13px;max-width:390px;margin-top:20px}.workshop-intro>.text-link{margin-top:15px}
 .workshop-orbit{height:430px;max-width:500px;width:100%;margin:auto}.orbit-pot{width:76%;height:84%;left:12%;top:12%}.orbit-platter{width:60%;left:39%;top:0}.orbit-spoon{width:40%;left:0;top:39%}.orbit-caption{font-size:9px;right:0;bottom:-8px}
 .workshop-collection{padding-top:45px;padding-bottom:50px}.collection-heading{display:block;margin-bottom:28px}.collection-heading h2{font-size:34px}.collection-heading>p{max-width:100%;font-size:13px;margin-top:20px}
 .workshop-search{display:block}.workshop-search .search-field>div{display:flex;flex-direction:row;align-items:center;gap:8px}.workshop-search .search-field input{font-size:12px;padding:16px}.workshop-search .button{min-height:48px;font-size:10px;padding:14px 17px;flex-shrink:0}.workshop-search .filter-row{margin-top:18px;display:flex;align-items:center;gap:18px}.workshop-search .filter-row>label:not(.checkbox){width:auto}.workshop-search .filter-row>a{padding-bottom:0}.workshop-search .filter-row select{min-width:180px}.collection-count{margin-top:24px;font-size:9px}
 .workshop-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:45px 20px;margin-top:10px}.workshop-gallery .utensil:nth-child(3n + 2){margin-top:0}.workshop-gallery .utensil:nth-child(2n){margin-top:35px}.utensil-visual{height:220px;padding:0}.utensil-copy{padding:15px 0 0}.utensil-copy>.meta{font-size:8px;letter-spacing:0}.workshop-gallery .utensil h2{font-size:25px}.workshop-gallery .utensil .local-name{font-size:13px}.utensil-copy>p:not(.local-name){font-size:12px;margin-top:13px}.workshop-gallery .utensil details{margin-top:13px}.workshop-gallery .utensil summary{font-size:10px}.object-discover{font-size:8px;padding:7px 9px}.object-discover>span{margin-left:7px}
 .workshop-note{padding-top:65px}.workshop-note h2{font-size:34px}.workshop-note>p:not(.eyebrow){font-size:13px}
}
@media(max-width:390px){.recipe-art,.recipe-art.has-photo img{height:160px}.workshop-gallery{gap:35px 15px}.utensil-visual{height:185px}.workshop-gallery .utensil h2{font-size:23px}.workshop-gallery .utensil summary{font-size:9px}.workshop-orbit{height:365px}.object-discover{font-size:7px}}
@media(prefers-reduced-motion:reduce){.workshop-orbit img,.utensil-visual,.utensil-visual img,.utensil-visual::before,.tool-drawing img{transform:none!important}.object-discover{transform:translate(-50%,0)}}
@media print{.workshop-orbit{display:none}.workshop-gallery .utensil{break-inside:avoid}}


/* Source: sidibousaid.css */
/* User reference palette: white stucco, Sidi Bou Said blue and pale sandstone. */
:root{--paper:#fff;--ink:#36454f;--blue:#0047ab;--red:#0047ab;--gold:#0047ab;--night:#0c2e63;--jade:#0047ab;--muted:#5d7181;--sandstone:#f0e6d6;--shadow-blue:#8fa3b5;--sc-accent:#0047ab;--sc-canvas:#fff;--sc-ink:#36454f;--sc-accent-ink:#fff}
body{background:#fff;color:#36454f}h1,h2,h3{color:#0047ab}.eyebrow,.meta,.small-note{color:#5d7181}
.site-header{background:#fff;color:#0047ab}.site-header.is-scrolled{background:#fffffff5}.site-header nav,.site-header nav a,.menu-toggle{color:#0047ab}.site-header nav a:hover,.site-header nav a:focus-visible{color:#0c2e63}.brand>span,.brand-arabic{color:#0047ab}.header-favorites{background:#eef4fd;color:#0047ab}.header-favorites>b{background:#0047ab;color:#fff}
.national-flag{display:block;width:36px;height:24px;object-fit:contain;flex-shrink:0;border-radius:2px}.footer-nation{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:25px;font-size:11px}.footer-nation img{width:33px;height:22px}
.button.red{background:#0047ab;color:#fff}.button.red:hover{background:#003583}.button.outline{background:#eef4fd;color:#0047ab}.button.outline:hover{background:#0047ab;color:#fff}.text-link,.text-link:hover,.back-link{color:#0047ab}.text-link:hover{color:#002f75}.save{background:#eef4fd;color:#0047ab}.save:hover{background:#dceafa}.save[aria-pressed=true]{background:#0047ab;color:#fff;border-color:#0047ab}
.hero{background:#fff;color:#36454f}.hero h1{color:#0047ab}.hero-calligraphy,.hero .eyebrow,.hero .eyebrow>span,.tiny-flower{color:#0047ab}.hero-description,.hero-footnote{color:#36454f}.arch-back{background:#0047ab}.arch-lines{background:repeating-linear-gradient(90deg,transparent 0 50px,#ffffff12 51px 52px)}.arch-star,.arabic-welcome{color:#fff}.scene-seal{background:#f0e6d6;color:#0047ab}.scene-note{color:#486384}.hero-scene{perspective:1200px}
.ommek{filter:drop-shadow(10px 16px 18px #8fa3b538)}
.heritage-ribbon{background:#eef4fd;color:#0047ab}.ribbon-track>b{color:#0047ab}.history-intro p,.timeline p:not(.meta){color:#4c6171}.timeline h3,.history-intro h3{color:#0047ab}
.encounters{background:#0047ab;color:#fff}.encounters::before{display:none}.encounter-copy h2,.encounter-copy h2 em,.encounter-copy .eyebrow,.encounter-copy>p:not(.eyebrow),.culture-story h3,.culture-story p{color:#fff}.culture-tabs button{background:#ffffff20;color:#fff;border:0}.culture-tabs button:hover{background:#ffffff35}.culture-tabs button.active{background:#fff;color:#0047ab}.text-link.light{color:#fff}.table-label{background:#fff;color:#0047ab}.table-credit{color:#e5efff}
.tools-preview{background:#f5f9ff}.tool-drawing,.tool-preview h3,.tool-arrow{color:#0047ab}.closing>p{color:#0047ab}.site-footer{background:#0047ab;color:#fff}.footer-wordmark,.footer-wordmark span,.site-footer>p,.site-footer>div a,.site-footer small,.footer-nation{color:#fff}.site-footer>div a:hover{color:#f0e6d6}
.catalog-title h1,.catalog-title h2,.detail-heading h1,.ingredients h2,.ingredients h3,.preparation h2,.recipe-note h3{color:#0047ab}.catalog-title p:not(.eyebrow),.detail-heading>div>p:not(.eyebrow){color:#36454f}.search-field input,.filter-row select,.servings-label select{background:#eef4fd;color:#36454f;border:0}.search-field input::placeholder{color:#62778e}.search-field input:focus,.filter-row select:focus{border-color:#0047ab}.filter-row>label,.filter-row .checkbox{color:#486384}.pagination a{background:#eef4fd;color:#0047ab}.pagination [aria-current=page]{background:#0047ab;color:#fff}.pagination a:hover{background:#dceafa;color:#0047ab}
.card-info h3,.card-info h3 a:hover{color:#0047ab}.card-info .meta,.card-bottom,.catalog-note{color:#5d7181}.time-tag{background:#fffffff0;color:#0047ab}.image-scope{background:#0047abe8;color:#fff}.detail-meta>span{border:0;border-radius:99px;background:#eef4fd;color:#0047ab}.detail-photo figcaption{color:#5d7181}.preparation li::before{color:#0047ab}.recipe-note p,.ingredient-list li{color:#36454f}.detail-photo{perspective:1400px}.detail-photo img{transform-origin:center center}
.utensil-copy>.meta,.utensil-copy>p:not(.local-name),.collection-heading>p,.collection-count{color:#5d7181}.workshop-arabic,.workshop-intro h1,.workshop-gallery .utensil h2,.workshop-gallery .utensil .local-name{color:#0047ab}.workshop-intro .eyebrow,.workshop-intro>p:not([class]),.orbit-caption,.workshop-note>p:not(.eyebrow){color:#486384}.workshop-search .search-field input,.workshop-search .filter-row select{background:#eef4fd}.workshop-search .filter-row>label{color:#486384}.utensil-visual::before{background:#edf4fe}.object-discover{background:#0047abe8;color:#fff}.workshop-gallery summary::after{color:#0047ab}.object-details p{color:#486384}.workshop-orbit{perspective:1200px}
.about>h1,.about-intro h2,.about-intro h3,.about section h2,.sources-list h3 a{color:#0047ab}.about-intro img{background:#eef4fd}.about-intro{perspective:1200px}.install-page>.brand,.install-page h1,.install-key-note h2,.install-checks span{color:#0047ab}.install-checks,.install-message{background:#eef4fd;color:#36454f}.install-form input:not([type=checkbox]):not([type=hidden]){background:#eef4fd;color:#36454f}.toast{background:#0047ab;color:#fff}summary:hover{color:#0047ab}:focus-visible{outline-color:#0047ab}::selection{background:#d4e6ff;color:#0047ab}
/* Independent image planes, composed with the existing hero and utensil depth. */
@property --lead-entry-y{syntax:'<length>';inherits:false;initial-value:0px}
@property --lead-entry-ry{syntax:'<angle>';inherits:false;initial-value:0deg}
@keyframes lead-arrival{from{opacity:0;--lead-entry-y:22px;--lead-entry-ry:-14deg}to{opacity:1;--lead-entry-y:0px;--lead-entry-ry:0deg}}
.hero img[data-depth][data-hero-image],img[data-hero-image]{transform:perspective(1200px) translate3d(var(--lead-x,0px),calc(var(--depth-y,0px) + var(--tool-depth-y,0px) + var(--lead-scroll-y,0px) + var(--lead-entry-y,0px)),0) rotateX(var(--lead-rx,0deg)) rotateY(calc(var(--lead-ry,0deg) + var(--lead-entry-ry,0deg)));transform-origin:center center;backface-visibility:hidden}
img[data-hero-image].lead-entered{animation:lead-arrival 850ms cubic-bezier(.2,.7,.2,1) both}
.brand img[data-hero-image].lead-entered{animation-duration:500ms}.workshop-orbit img[data-hero-image]:nth-child(2){animation-delay:70ms}.workshop-orbit img[data-hero-image]:nth-child(3){animation-delay:140ms}
@media(hover:hover) and (pointer:fine){img[data-hero-image].lead-active{will-change:transform}}
@media(hover:none){.object-discover{background:#fffffff0;color:#0047ab}}
@media(max-width:760px){.site-header nav{background:#fff}.site-header nav a,.menu-toggle{color:#0047ab}.national-flag{width:29px;height:20px}.hero-scene{perspective:900px}.hero [data-depth][data-hero-image]{transform:perspective(1000px) translate3d(var(--lead-x,0px),calc(var(--depth-y,0px) + var(--lead-scroll-y,0px) + var(--lead-entry-y,0px)),0) rotateX(var(--lead-rx,0deg)) rotateY(calc(var(--lead-ry,0deg) + var(--lead-entry-ry,0deg)))}}
@media(prefers-reduced-motion:reduce){img[data-hero-image],img[data-hero-image].lead-entered,.hero [data-depth][data-hero-image]{animation:none!important;transform:none!important;opacity:1!important;will-change:auto}.workshop-orbit img[data-hero-image]{rotate:0deg}}
@media print{img[data-hero-image]{animation:none!important;transform:none!important}.footer-nation{display:none}}

/* Porte à arc outrepassé, silhouette originale inspirée de l’artisanat tunisien. */
.arch-back{background:transparent url('/assets/tunisian-door.svg') center bottom/100% 100% no-repeat!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important}.arch-back>*{display:none!important}.about-intro img{background:transparent url('/assets/tunisian-door.svg') center/contain no-repeat!important;border-radius:0!important}
.directory-intro{padding:5rem 0 2rem;max-width:850px}.directory-intro h1{font-size:clamp(2.5rem,6vw,5.5rem);line-height:1.1;color:#0047ab}.directory-controls{display:flex;gap:1rem;flex-wrap:wrap;align-items:end;margin:2rem 0}.directory-controls label{flex:1;min-width:180px}.directory-controls input,.directory-controls select,.admin-form input,.admin-form select,.admin-form textarea{display:block;width:100%;padding:.85rem;border:0;border-bottom:1px solid #8fa3b5;background:#f3f7fc;color:#153b60;font:inherit}.directory-map{height:480px;border-radius:48% 48% 12% 12% / 10% 10% 4% 4%;overflow:hidden;isolation:isolate;background:#eaf2fc;margin:2rem 0}.directory-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem;margin:3rem 0}.place h2{font-size:1.9rem;color:#0047ab}.place .place-icon{font-size:2.5rem;color:#0047ab}.place p{margin:.5rem 0}.directory-note{padding:1rem 0;color:#486384}.directory-pages{display:flex;gap:1rem;margin:2rem 0}.admin-wrap{max-width:1100px;margin:3rem auto;padding:0 1.5rem}.admin-nav{display:flex;gap:1.4rem;flex-wrap:wrap;margin:1.5rem 0}.admin-form{display:grid;grid-template-columns:1fr 1fr;gap:1.3rem}.admin-form label{display:block}.admin-form .wide{grid-column:1/-1}.admin-form textarea{min-height:130px}.admin-form input[type=checkbox]{width:auto;display:inline}.admin-table{width:100%;border-collapse:collapse}.admin-table td,.admin-table th{padding:.9rem;text-align:left;border-bottom:1px solid #dde9f6}.admin-message{padding:1rem;background:#edf5ff;color:#0047ab}.admin-error{color:#a22626}.site-header nav{gap:1rem}.osm-credit{font-size:.8rem}.admin-wrap button{cursor:pointer}@media(max-width:800px){.directory-grid{grid-template-columns:1fr 1fr}.admin-form{grid-template-columns:1fr}.directory-map{height:360px}}@media(max-width:520px){.directory-grid{grid-template-columns:1fr}.admin-table{display:block;overflow:auto}}

.arch-back{border:0!important}.arch-back::after{display:none!important}.about-intro img{border:0!important}

/* Références validées : porte outrepassée et composition de la galerie des ustensiles. */
.table-scene{perspective:1200px}.table-scene img{border-radius:0!important;mask:url('/assets/tunisian-door-mask.svg') center/100% 100% no-repeat;-webkit-mask:url('/assets/tunisian-door-mask.svg') center/100% 100% no-repeat;object-fit:cover;object-position:center;box-shadow:none!important;border:0!important}
.directory-map{border-radius:14px!important;scroll-margin-top:120px}.directory-workshop .workshop-orbit .orbit-pot{width:76%;height:82%;top:14%;left:14%}.directory-search{gap:20px;align-items:end;flex-wrap:wrap}.directory-search label{font-size:11px;color:#486384;min-width:180px}.directory-search label:first-child{flex:1.8}.directory-search input,.directory-search select{border:0;border-radius:99px;background:#eef4fd;color:#36454f;padding:16px 21px;margin-top:7px;min-height:54px}.directory-grid{gap:65px 45px;align-items:start}.directory-grid .place{border:0;background:none;box-shadow:none;padding:0 12px}.directory-grid .place:nth-child(3n + 2){margin-top:55px}.directory-grid .place h2{font:500 30px/1.3 var(--display);margin:12px 0}.directory-grid .place p{font-size:13px;line-height:1.9}.directory-grid .place .eyebrow{font-size:9px}.place-emblem{height:170px;display:flex;align-items:center;justify-content:center;margin-bottom:20px}.place-emblem svg{height:145px;width:105px;fill:#0047ab;transition:transform .5s var(--ease-craft)}.place-emblem .door-seam{stroke:#d5e7ff;stroke-width:1.5;fill:none}.place-emblem .door-knocker{stroke:#f0e6d6;stroke-width:2;fill:none}.place:hover .place-emblem svg{transform:perspective(600px) rotateY(-12deg) translateY(-8px)}@media(max-width:800px){.directory-grid .place:nth-child(3n + 2){margin-top:0}.directory-search{display:flex}}@media(prefers-reduced-motion:reduce){.place-emblem svg{transition:none}.place:hover .place-emblem svg{transform:none}}

.hero-scene .arch-back{background-image:url('/assets/tunisian-door-real.webp')!important;background-size:100% 100%!important;mask:none;-webkit-mask:none}


/* Source: experience.css */
/* User reference: authentic doors, intimate cooking scenes, Sidi Bou Said blue. */
.hero-scene .arch-back{background-size:contain!important;background-position:center bottom!important;left:0!important;right:0!important;top:15px!important;bottom:70px!important}.hero-scene{isolation:isolate}
.heritage-ribbon{overflow:hidden}.ribbon-track{display:flex!important;gap:0!important;padding:0!important;transform:none;animation:ribbon-loop 38s linear infinite!important;will-change:transform}.ribbon-group{display:flex;align-items:center;gap:38px;padding:18px 30px;flex-shrink:0}.ribbon-group span{white-space:nowrap;font-size:11px;letter-spacing:1.7px}.ribbon-group span[lang=ar]{font:400 23px var(--display);letter-spacing:0}.ribbon-group b{font-size:24px}@keyframes ribbon-loop{to{transform:translateX(-50%)}}
.motion-controls{text-align:right;padding-top:12px}.motion-controls button{border:0;background:none;color:#486384;cursor:pointer;font:inherit;font-size:11px;text-decoration:underline;text-underline-offset:4px}
.history-film{height:280vh;position:relative;margin:45px 0 75px}.history-screen{height:72vh;min-height:400px;position:sticky;top:100px;overflow:hidden;border-radius:18px;background:#133e60}.history-stills{position:absolute;inset:0}.history-still{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.08);transition:opacity 1s ease,transform 5s linear}.history-still.is-active{opacity:1;transform:scale(1)}.history-screen::after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#061d32c9)}.history-film-caption{position:absolute;z-index:1;bottom:7%;left:6%;right:6%;color:white}.history-film-caption>span{font:500 clamp(28px,4vw,52px)/1.2 var(--display)}.history-film-caption p{max-width:600px}.history-film>.small-note{position:absolute;top:calc(72vh + 16px);max-width:900px;color:#486384}.history-chapters{position:absolute;bottom:0;display:flex;gap:12px;flex-wrap:wrap}.history-chapters button{border:0;border-radius:99px;background:#eef4fd;color:#0047ab;padding:12px 18px;cursor:pointer}.history-chapters button[aria-pressed=true]{background:#0047ab;color:white}
.encounter-stage{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;max-width:1180px;margin:auto;gap:50px!important;padding-inline:28px!important}.encounter-copy{width:auto!important;max-width:530px!important;justify-self:end}.table-scene{width:100%!important;max-width:500px;justify-self:start;transform:rotate(0)!important;height:600px!important;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:minmax(0,1fr) auto auto;gap:12px}.table-scene img{grid-column:1/-1;width:100%!important;height:100%!important;position:static}.table-label{position:static!important;transform:none!important;align-self:start;font-size:12px!important;text-align:center;max-width:none!important;padding:10px!important;background:#fff!important;color:#0047ab!important}.table-credit{position:static!important;grid-column:1/-1;text-align:center;font-size:10px!important;color:#486384!important}
.tool-loop{overflow:hidden}.tool-rail{display:flex!important;overflow:visible!important;width:max-content;gap:0!important;padding:0!important;animation:tools-loop 42s linear infinite}.tool-rail>.tool-preview{flex:0 0 260px;width:260px;padding:20px!important}.tool-rail>.tool-preview:nth-child(n){opacity:1!important;transform:none!important}.tool-loop:hover .tool-rail,.tool-loop:focus-within .tool-rail{animation-play-state:paused}@keyframes tools-loop{to{transform:translateX(-50%)}}.sharing-scene{margin:0 auto 45px;max-width:950px}.sharing-scene img{width:100%;height:auto;border-radius:18px;display:block}.sharing-scene figcaption,.search-omek figcaption{font-size:11px;color:#486384;margin-top:12px}.search-intro{display:grid;grid-template-columns:1.2fr .8fr;gap:45px;align-items:center;padding-bottom:40px}.search-omek{margin:45px 0}.search-omek img{width:100%;max-height:560px;object-fit:contain;border-radius:48% 48% 8px 8px / 30% 30% 8px 8px}
.directory-grid{align-items:stretch!important;gap:45px!important}.directory-grid .place:nth-child(n){margin-top:0!important;display:flex;flex-direction:column;padding:0!important}.place-emblem{height:235px!important;margin:0 0 25px!important}.place-emblem img{width:100%;height:100%;object-fit:contain;transition:transform .6s}.place:hover .place-emblem img{transform:translateY(-7px) rotate(-2deg)}.door-tone-1{filter:hue-rotate(145deg) saturate(.9)}.door-tone-2{filter:hue-rotate(200deg) saturate(.8)}.door-tone-3{filter:hue-rotate(125deg) saturate(.8)}.place .eyebrow{min-height:36px}.place h2{min-height:76px}.leaflet-popup-content h3{font-family:var(--display);font-size:21px;color:#0047ab}.leaflet-popup-content{line-height:1.6}.leaflet-popup-content a{color:#0047ab}.directory-map>p{max-width:600px;padding:40px;margin:auto}.directory-map>.button{margin-left:40px}
.privacy-banner{position:fixed;z-index:2000;bottom:18px;left:18px;right:18px;max-width:1100px;margin:auto;padding:24px;background:white;color:#163b60;box-shadow:0 5px 60px #003d7e24;border-radius:18px;display:grid;grid-template-columns:1.5fr 1fr;gap:25px;align-items:center}.privacy-banner[hidden]{display:none}.privacy-banner h2{font:500 23px/1.3 var(--display);margin:0 0 10px}.privacy-banner p{font-size:12px;margin:0}.privacy-actions{display:flex;flex-wrap:wrap;gap:10px}.privacy-actions button{flex:1;border:0;border-radius:99px;background:#0047ab;color:white;padding:14px;font:inherit;font-size:12px;cursor:pointer;min-width:160px}.privacy-reopen{display:block;margin:0 auto 20px;background:none;border:0;color:#0047ab;font:inherit;font-size:12px;text-decoration:underline;cursor:pointer}.privacy-page{max-width:850px;padding-block:60px}.privacy-page h1{font-size:clamp(36px,6vw,65px);color:#0047ab}
.experience-reveal{opacity:0;translate:0 25px;transition:opacity 1s ease,translate 1s ease}.experience-visible{opacity:1;translate:0 0}.animations-paused *{animation-play-state:paused!important}.animations-paused .history-still{transition:none}.animations-paused .experience-reveal{opacity:1;translate:none}
@media(max-width:760px){.encounter-stage{display:flex!important;flex-direction:column;gap:30px!important;min-height:0!important}.encounter-copy{max-width:none!important}.table-scene{justify-self:center;height:580px!important;max-width:450px;align-self:center}.history-screen{top:85px;height:65vh;min-height:340px}.history-film{height:240vh}.history-film>.small-note{top:calc(65vh + 12px);font-size:10px}.history-chapters{gap:8px}.history-chapters button{font-size:10px;padding:10px}.history-film-caption p{font-size:12px}.search-intro{grid-template-columns:1fr;gap:0}.search-omek{grid-row:1;margin:30px 0 0}.search-omek img{max-height:350px}.search-intro .directory-intro{padding-top:25px}.privacy-banner{grid-template-columns:1fr;gap:15px;padding:18px;max-height:65vh;overflow:auto}.tool-rail>.tool-preview{width:220px;flex-basis:220px}.place h2{min-height:0}.hero-scene .arch-back{bottom:40px!important}}
@media(prefers-reduced-motion:reduce){.ribbon-track,.tool-rail{animation:none!important}.tool-loop{overflow-x:auto}.tool-rail>.tool-preview:nth-child(n+7){display:none}.history-film{height:auto}.history-screen{position:relative;top:auto}.history-film>.small-note,.history-chapters{position:static;margin-top:20px}.history-still{transition:none;transform:none}.experience-reveal{opacity:1;translate:none;transition:none}.place-emblem img{transition:none}.place:hover .place-emblem img{transform:none}}

.history-still{background-image:url('/assets/history-atlas.webp');background-size:300% 200%;background-repeat:no-repeat}.history-frame-0{background-position:0 0}.history-frame-1{background-position:50% 0}.history-frame-2{background-position:100% 0}.history-frame-3{background-position:0 100%}.history-frame-4{background-position:50% 100%}.history-frame-5{background-position:100% 100%}

/* Atlas panels remain square; no horizontal distortion of people. */
.history-screen{width:min(100%,72vh);height:auto;min-height:0;aspect-ratio:1;margin-inline:auto}.history-film-caption{left:5%;right:5%}.history-film>.small-note{top:calc(min(72vh, 90vw) + 16px)}@media(max-width:760px){.history-screen{width:min(100%,65vh);height:auto;min-height:0}.history-film>.small-note{top:calc(min(65vh, 86vw) + 12px)}}

/* Seamless loops: whole measured groups repeated until the viewport is filled. */
.ribbon-track,.tool-rail{animation:none!important;transform:translate3d(0,0,0);width:max-content!important;flex-wrap:nowrap!important;justify-content:flex-start!important;gap:0!important;direction:ltr!important}.ribbon-group{width:max-content!important;flex:0 0 auto!important;justify-content:flex-start!important;gap:24px!important;padding:15px 12px!important}.ribbon-group span{display:inline-block;flex:0 0 auto}.ribbon-group b{flex:0 0 auto}.tool-loop-group{display:flex;flex:0 0 auto;width:max-content;gap:0}.tool-loop-group>.tool-preview{flex:0 0 250px;width:250px;padding:18px!important;margin:0!important;opacity:1!important;transform:none!important}.tool-loop-group .tool-drawing{height:220px}.tool-loop-group .tool-drawing img{height:220px}.tool-rail{outline-offset:-3px}
/* Table alcove: no detached bubble labels. */
.encounters{background:#f1f6ff!important;color:#163b60!important;min-height:0!important;padding-block:55px!important}.encounter-stage{position:relative!important;min-height:0!important;gap:35px!important;max-width:1120px!important;padding-block:30px!important;align-items:center!important}.encounter-copy{max-width:470px!important}.encounter-copy h2,.culture-story h3{color:#0047ab!important}.encounter-copy>p,.culture-story p{color:#486384!important}.culture-tabs button{background:#e0ebfb!important;color:#0047ab!important}.culture-tabs button.active{background:#0047ab!important;color:white!important}.culture-story a{color:#0047ab!important}.table-scene{height:auto!important;min-height:0!important;display:flex!important;flex-direction:column;gap:22px!important;max-width:440px!important;margin:auto!important;padding:0 14px 20px;perspective:1200px}.table-scene img{display:block;width:100%!important;height:auto!important;aspect-ratio:5/7;object-fit:cover;object-position:center;transform:none!important;filter:drop-shadow(0 15px 20px #0047ab18)}.table-caption{text-align:center;padding:0 8px;color:#0047ab}.table-caption .eyebrow{font-size:9px!important;letter-spacing:1.5px}.table-caption-notes{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 20px;margin-top:12px;font:500 20px/1.5 var(--display)}.table-caption p{font-size:13px;color:#486384;margin:12px 0}.table-caption small{font-size:10px;color:#486384}
/* A readable, self-playing historical film instead of a long empty scroll area. */
.history-film{height:auto!important;margin:45px 0 65px!important}.history-screen{position:relative!important;top:auto!important;width:min(100%,700px)!important;height:auto!important;aspect-ratio:1;min-height:0!important;margin:auto}.history-film>.small-note{position:static!important;margin:18px auto!important;max-width:900px;text-align:center}.history-chapters{position:static!important;justify-content:center;margin-top:20px}.history-still{transition:opacity 1.2s ease,transform 5s linear!important}.history-film-caption{background:linear-gradient(transparent,#061d32a8);left:0;right:0;bottom:0;padding:35px 30px}.history-film-caption>span{font-size:clamp(24px,4vw,42px)}
/* Mother and daughter remain visible even if entrance animation is unavailable. */
.sharing-layout{display:grid;grid-template-columns:1fr 1.15fr;align-items:center;gap:18px 45px;text-align:left;padding-block:80px!important}.sharing-layout .sharing-scene{grid-column:2;grid-row:1/5;margin:0!important;opacity:1!important;translate:none!important;width:100%}.sharing-layout .sharing-scene img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:55% center;border-radius:45% 45% 14px 14px / 28% 28% 14px 14px}.sharing-layout>p,.sharing-layout>h2,.sharing-layout>.button{grid-column:1}.sharing-layout h2{font-size:clamp(35px,4.5vw,59px)!important;line-height:1.25!important}.sharing-layout>.button{justify-self:start}.sharing-layout>p{margin:0!important;align-self:end}.sharing-layout>h2{margin:0!important}.sharing-layout>.closing-motif{display:none}.contact-page{max-width:1000px;padding-block:60px}.contact-intro{max-width:750px}.contact-page h1{font-size:clamp(45px,6vw,76px);color:#0047ab}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:40px 0}.contact-form label{display:block;font-size:13px}.contact-form input,.contact-form textarea,.contact-form select{display:block;width:100%;background:#eef4fd;border:0;border-radius:15px;padding:16px;font:inherit;color:#163b60;margin-top:8px}.contact-form textarea{min-height:180px}.contact-form .wide{grid-column:1/-1}.contact-form input[type=checkbox]{display:inline;width:auto}.contact-form .contact-trap{position:absolute;left:-9999px}.contact-status{padding:20px;border-radius:15px;background:#eef4fd;color:#0047ab}.contact-error{color:#a12222}
@media(min-width:1000px){.site-header nav{gap:12px}.site-header nav a{font-size:11px}}
@media(max-width:760px){.sharing-layout{display:flex;flex-direction:column;text-align:center;gap:25px}.sharing-layout .sharing-scene{order:0;max-width:500px}.sharing-layout>p{align-self:center}.sharing-layout>.button{align-self:center}.table-scene{max-width:400px!important}.encounter-stage{padding-inline:20px!important}.contact-form{grid-template-columns:1fr}.tool-loop-group>.tool-preview{width:210px;flex-basis:210px}}
@media(prefers-reduced-motion:reduce){[data-loop-clone]{display:none!important}.ribbon-track,.tool-rail{transform:none!important}.heritage-ribbon,.tool-loop{overflow-x:auto!important}.history-still{transition:none!important}.table-scene{opacity:1!important;translate:none!important}}

/* Contact: same portrait depth and entrance motion as the opening scenes. */
.contact-page{max-width:1250px}.contact-hero{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:clamp(30px,5vw,80px);padding-block:15px 40px}.contact-intro{max-width:590px}.contact-intro>p:not(.eyebrow){max-width:430px;line-height:1.9}.contact-intro .contact-signature{font-family:var(--display);font-size:23px;color:#0047ab;margin-top:28px}.contact-portrait{position:relative;isolation:isolate;margin:0;perspective:1200px;padding:12px 0 24px}.contact-portrait img{width:100%;height:auto;border-radius:44% 44% 14px 14px / 12% 12% 14px 14px;box-shadow:0 22px 55px #0047ab18;position:relative;z-index:1}.contact-portrait-halo{position:absolute;inset:7% -4% 7% 9%;border-radius:48% 48% 18% 18%;background:#edf4ff;rotate:5deg;z-index:-1}.contact-portrait figcaption{text-align:center;color:#486384;font-size:11px;padding:20px 10px 0}.contact-form{margin-top:20px}.contact-form input:focus,.contact-form textarea:focus{background:#e4efff;outline:2px solid #0047ab;outline-offset:3px}.contact-form input,.contact-form textarea{transition:background .2s}
/* Seven distinct categories, freshly shuffled on every server render. */
.sharing-layout .random-recipes{grid-column:1/-1;margin-top:65px;width:100%;text-align:left}.random-recipes>.eyebrow{font-size:9px;color:#0047ab;margin-bottom:12px}.random-recipes>h3{font-size:clamp(25px,3vw,36px);color:#0047ab}.random-recipe-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 30px;list-style:none;padding:0;margin:30px 0 22px;counter-reset:recipe-pick}.recipe-pick{min-width:0;counter-increment:recipe-pick}.recipe-pick a{display:flex;align-items:center;gap:14px;text-decoration:none;min-height:90px;padding:6px 0;color:#0047ab}.recipe-pick img{width:76px;height:76px;flex:0 0 76px;object-fit:cover;border-radius:50%;transition:transform .3s,box-shadow .3s}.recipe-pick strong{font-family:var(--display);font-size:19px;font-weight:500;line-height:1.35;display:block}.recipe-pick small{display:block;font-size:10px;color:#486384;margin-top:6px}.recipe-pick .pick-arrow{margin-left:auto;transition:translate .3s}.recipe-pick a:hover img{transform:rotate(-6deg) scale(1.06);box-shadow:0 10px 20px #0047ab20}.recipe-pick a:hover .pick-arrow{translate:3px -3px}.random-recipes>.small-note{font-size:11px;color:#486384}
@media(max-width:1000px){.random-recipe-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px}.contact-hero{gap:30px}.contact-page h1{font-size:clamp(40px,6vw,68px)}}
@media(max-width:760px){.contact-hero{grid-template-columns:1fr;gap:28px;padding-bottom:20px}.contact-portrait{width:min(100%,450px);justify-self:center}.contact-portrait img{max-height:none}.contact-intro{padding-top:15px}.contact-intro .contact-signature{font-size:21px}.sharing-layout .random-recipes{order:5;margin-top:35px}.contact-form{margin-top:25px}.random-recipe-list{column-gap:18px}.recipe-pick img{width:60px;height:60px;flex-basis:60px}.recipe-pick strong{font-size:17px}}
@media(max-width:520px){.random-recipe-list{grid-template-columns:1fr;gap:12px}.recipe-pick img{width:70px;height:70px;flex-basis:70px}.recipe-pick strong{font-size:20px}.recipe-pick a{gap:18px}.contact-portrait-halo{right:0}.contact-page h1{font-size:43px}}
@media(prefers-reduced-motion:reduce){.recipe-pick img,.recipe-pick .pick-arrow,.contact-form input,.contact-form textarea{transition:none}.recipe-pick a:hover img{transform:none}.recipe-pick a:hover .pick-arrow{translate:none}}

.directory-contribute{padding-block:65px 90px;text-align:center;max-width:850px}.directory-contribute h2{color:#0047ab}.directory-contribute>p:not(.eyebrow){margin:25px auto;max-width:650px;line-height:1.9}.directory-contribute .button{margin-top:10px}.submission-page{max-width:1100px;padding-block:60px 80px}.submission-intro{max-width:760px;margin-bottom:35px}.submission-intro h1{font-size:clamp(43px,6vw,78px);color:#0047ab}.submission-intro>p:not(.eyebrow){margin:25px 0;max-width:660px;line-height:1.85}.submission-section{border:0;margin:0;padding:25px 0}.submission-section legend{font-family:var(--display);color:#0047ab;font-size:26px;line-height:1.4}.submission-fields{display:grid;grid-template-columns:1fr 1fr;gap:24px}.submission-fields .wide{grid-column:1/-1}.submission-section>.small-note,.submission-section>p{font-size:12px;line-height:1.85;margin:20px 0}.submission-form .submission-consent{font-size:13px;line-height:1.9}.submission-form .submission-consent input{display:inline;vertical-align:middle;margin-right:10px}.submission-page .contact-status h2{font-size:32px;margin-bottom:18px}.submission-page .contact-status a{display:inline-block;margin-top:20px}.place-contact-links{display:flex;flex-wrap:wrap;gap:12px 18px;margin-top:15px;font-size:12px}.place-contact-links a{overflow-wrap:anywhere}.submission-page input[type=checkbox]{accent-color:#0047ab}.submission-form .small-note{font-size:12px;color:#486384}.submission-page .contact-form .contact-trap{position:absolute;left:-9999px}
@media(max-width:760px){.submission-page{padding-block:35px}.submission-fields{grid-template-columns:1fr;gap:20px}.submission-section legend{font-size:23px}.directory-contribute{padding-block:45px 65px}}

/* A single local outline icon family for the primary navigation. */
.site-header nav a{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.nav-icon{display:block;width:18px;height:18px;flex:0 0 18px;transition:transform .22s,color .22s}.site-header nav a:hover .nav-icon,.header-favorites:hover .nav-icon{transform:translateY(-2px) rotate(-5deg)}.header-favorites .nav-icon{width:19px;height:19px;flex-basis:19px}
.submission-hero{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(28px,4vw,60px);align-items:center;margin-bottom:55px}.submission-hero .submission-intro{margin-bottom:0}.submission-hero h1{font-size:clamp(40px,4.8vw,64px)}.submission-portrait{position:relative;margin:0;padding:15px 0 25px;isolation:isolate;perspective:1200px}.submission-portrait img{position:relative;width:100%;height:auto;border-radius:44% 44% 14px 14px / 15% 15% 14px 14px;box-shadow:0 20px 55px #0047ab20;z-index:1}.submission-portrait-halo{position:absolute;inset:3% -3% 10% 6%;border-radius:48% 48% 22% 22%;background:#edf4ff;rotate:5deg;z-index:-1}.submission-portrait figcaption{font-size:11px;color:#486384;padding:18px 8px 0;text-align:center}
@media(min-width:1451px){.site-header{gap:18px;padding-inline:3%}.site-header nav{gap:clamp(8px,1vw,18px)}.site-header nav a{font-size:11px}.site-header nav .nav-icon{width:16px;height:16px;flex-basis:16px}}
@media(max-width:1450px){.site-header{height:84px;padding-inline:24px;gap:18px}.site-header .menu-toggle{display:inline-flex;align-items:center;justify-content:center;margin-left:auto;border:0;background:#edf4ff;color:#0047ab;border-radius:99px;padding:10px 16px;min-height:44px}.site-header nav{display:none;position:absolute;top:84px;left:0;right:0;z-index:35;background:white;grid-template-columns:1fr 1fr;gap:5px 24px;padding:20px 28px;box-shadow:0 18px 30px #0047ab12;border:0}.site-header nav.open{display:grid}.site-header nav a{display:flex;font-size:14px;padding:10px 0;min-height:44px;gap:12px}.site-header nav .nav-icon{width:21px;height:21px;flex-basis:21px}.site-header nav a::after{display:none}}
@media(max-width:760px){.submission-hero{grid-template-columns:1fr;gap:20px;margin-bottom:35px}.submission-portrait{max-width:600px;width:100%;justify-self:center}.submission-hero h1{font-size:clamp(40px,8vw,60px)}.submission-portrait-halo{right:0}.site-header{padding-inline:16px;gap:12px}.site-header .menu-toggle{font-size:12px;padding:9px 13px}.site-header nav{grid-template-columns:1fr;max-height:calc(100svh - 84px);overflow:auto;padding:16px 24px}.header-favorites{gap:6px}.header-favorites .nav-icon{width:18px;height:18px}}
@media(prefers-reduced-motion:reduce){.nav-icon{transition:none}.site-header nav a:hover .nav-icon,.header-favorites:hover .nav-icon{transform:none}}

.ribbon-group .ribbon-khamsa{display:block;width:24px;height:30px;flex:0 0 24px;object-fit:contain;opacity:.95}

/* Dedicated ingredient illustrations; family collage retained only in the hero. */
.ingredient-hero-scene{position:relative;min-height:570px;isolation:isolate;perspective:1200px}.ingredient-plane{background-image:url('/assets/ingredients-atlas.webp');background-size:400% 400%;background-position:var(--ingredient-x) var(--ingredient-y);background-repeat:no-repeat}.ingredient-plane{position:absolute;transition:transform .25s ease-out,opacity .8s ease-out;box-shadow:0 20px 55px #0047ab12;border-radius:50%;aspect-ratio:1;opacity:0}.ingredient-hero-scene.is-visible .ingredient-plane{opacity:1}.ingredient-plane-main{width:76%;left:12%;top:10%;z-index:1;border-radius:48% 48% 12% 12%;clip-path:ellipse(49% 50% at 50% 50%)}.ingredient-plane-oil{width:40%;left:-2%;bottom:12%;z-index:2;transition-delay:.08s}.ingredient-plane-spices{width:43%;right:-1%;top:4%;z-index:2;transition-delay:.16s}.ingredient-hero-scene .orbit-caption{position:absolute;bottom:15px;left:0;right:0;text-align:center}.ingredient-visual{background-image:var(--ingredient-image);background-size:300% 300%;background-position:var(--ingredient-x) var(--ingredient-y);background-repeat:no-repeat;aspect-ratio:1;height:auto!important;border-radius:50%;background-color:white}.ingredient-visual::before{display:none}.ingredient-card .utensil-copy h2{font-size:27px}.ingredient-card .object-details a{color:#0047ab}.ingredient-sayings{padding-block:80px 30px;scroll-margin-top:100px}.ingredient-sayings>p:not(.eyebrow){max-width:850px;line-height:1.9;margin-block:25px}.ingredient-sayings h2{color:#0047ab}.sayings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:45px;margin-top:45px}.sayings-grid article{scroll-margin-top:120px}.sayings-grid blockquote,.ingredient-dialog blockquote{font:400 25px/1.6 var(--display);color:#0047ab;margin:10px 0 18px}.sayings-grid blockquote[lang=ar],.ingredient-dialog blockquote[lang=ar]{font-size:32px}.sayings-grid p,.sayings-grid a{font-size:12px;line-height:1.9;margin-block:12px}.ingredient-dialog{border:0;border-radius:24px;padding:40px;max-width:min(700px,calc(100vw - 30px));max-height:85svh;overflow:auto;background:white;color:#163b60;box-shadow:0 30px 100px #0047ab28}.ingredient-dialog::backdrop{background:#092c5e8a;backdrop-filter:blur(5px)}.ingredient-dialog h2{font-size:42px;margin-bottom:22px}.ingredient-dialog h3{font-size:23px;color:#0047ab;margin-top:24px}.ingredient-dialog p{margin-block:18px;font-size:14px;line-height:1.85}.ingredient-dialog a{color:#0047ab}.ingredient-close{float:right;background:#edf4ff;color:#0047ab;border:0;border-radius:50%;width:44px;height:44px;font-size:28px;cursor:pointer}.ingredients-page .utensil-copy>p{line-height:1.85}
@media(max-width:1000px){.ingredient-hero-scene{min-height:470px}.ingredient-card .utensil-copy h2{font-size:25px}}
@media(max-width:760px){.ingredient-hero-scene{width:min(100%,500px);height:440px;min-height:0;margin:auto}.ingredients-page .workshop-hero{padding-bottom:30px}.sayings-grid{grid-template-columns:1fr;gap:28px}.ingredient-sayings{padding-top:55px}.ingredient-dialog{padding:25px}.ingredient-dialog h2{font-size:32px}.ingredient-card .utensil-copy h2{font-size:23px}.ingredient-plane-main{top:12%}.ingredient-plane-oil{bottom:14%;left:0}.ingredient-plane-spices{right:0}.ingredient-visual .object-discover{white-space:normal;min-width:75%;text-align:center}}
@media(prefers-reduced-motion:reduce){.ingredient-plane{transition:none;transform:none!important;opacity:1}.ingredient-dialog::backdrop{backdrop-filter:none}}

.ingredient-plane{translate:0 var(--ingredient-scroll,0px)}@media(prefers-reduced-motion:reduce){.ingredient-plane{translate:none!important}}

.ingredient-dialog-visual{width:210px;max-width:65%;margin:0 auto 24px;pointer-events:none}
/* Compact ingredient filters: one shared control height, with labels above. */
.ingredients-page .workshop-search{justify-content:flex-start;align-items:flex-end;gap:24px}
.ingredients-page .workshop-search .search-field{flex:0 1 640px;min-width:0}
.ingredients-page .workshop-search .search-field>div{display:flex;align-items:center}
.ingredients-page .workshop-search .search-field input{flex:1;min-width:0;width:0;height:42px;padding:0 18px;line-height:normal}
.ingredients-page .workshop-search .button{flex-shrink:0;height:42px;min-height:42px;padding:0 22px;white-space:nowrap;line-height:normal}
.ingredients-page .workshop-search .filter-row{flex-shrink:0;align-items:flex-end}
.ingredients-page .workshop-search .filter-row select{height:42px;padding:0 18px;line-height:normal}
.ingredients-page .workshop-search .filter-row>a{align-self:flex-end;padding-bottom:12px}
@media(max-width:760px){.ingredients-page .workshop-search .search-field{width:100%;max-width:640px}.ingredients-page .workshop-search .button{padding-inline:16px}.ingredients-page .workshop-search .filter-row{flex-wrap:wrap}}


/* Recipe opening: the same entrance, mouse perspective and scroll planes as the utensils. */
.catalog-title.recipes-title{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.85fr);align-items:center;gap:35px}
.recipes-title>div:first-child{min-width:0}.recipes-title h1{font-size:clamp(42px,5.2vw,74px)}
.recipes-title .recipes-portrait-scene{height:440px;width:100%;min-width:0;margin:0;perspective:1200px}
.recipes-portrait-scene .recipes-portrait{width:auto;max-width:85%;height:89%;left:50%;translate:-50% 0;top:1%;z-index:2;object-fit:cover;object-position:center 42%;mask:url('/assets/tunisian-door-mask.svg') center/100% 100% no-repeat;-webkit-mask:url('/assets/tunisian-door-mask.svg') center/100% 100% no-repeat}
.recipes-portrait-scene .orbit-platter{width:46%;height:48%;left:57%;top:0;z-index:1;rotate:12deg}
.recipes-portrait-scene .orbit-spoon{width:37%;height:52%;left:-3%;top:43%;z-index:3;rotate:-24deg}
.recipes-portrait-scene .orbit-caption{bottom:0;left:0;right:0;text-align:center;font-size:11px}
@media(max-width:760px){.catalog-title.recipes-title{grid-template-columns:1fr;gap:12px}.recipes-title .recipes-portrait-scene{height:370px;width:min(100%,420px);justify-self:center}.recipes-portrait-scene .orbit-caption{font-size:10px}}
@media(max-width:390px){.recipes-title .recipes-portrait-scene{height:330px}}

/* Vote confirmation: the approved Sidi Bou Saïd doorway silhouette. */
.vote-confirmation-page .vote-portrait-scene{position:relative;isolation:isolate;aspect-ratio:5/7;perspective:1200px;filter:drop-shadow(0 20px 32px #0047ab18)}
.vote-confirmation-page .vote-portrait-scene img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;border-radius:0;box-shadow:none;-webkit-mask:url('/assets/tunisian-door-mask.svg') center/100% 100% no-repeat;mask:url('/assets/tunisian-door-mask.svg') center/100% 100% no-repeat}
.vote-confirmation-page .contact-portrait-halo{inset:0 -4% -2% 4%;border-radius:0;background:#e4efff;rotate:4deg;-webkit-mask:url('/assets/tunisian-door-mask.svg') center/100% 100% no-repeat;mask:url('/assets/tunisian-door-mask.svg') center/100% 100% no-repeat}
@media(max-width:520px){.vote-confirmation-page .contact-portrait{width:min(92%,400px)}.vote-confirmation-page .contact-portrait-halo{inset:0 -3% -2% 3%}}


/* Source: history-cinema.css */
/* Reference lock: user-requested 16:9 full-width editorial film, blue/white brand. */
.history{width:100%!important;max-width:none!important;padding-inline:0!important;overflow:hidden}.history>.section-heading,.history>.history-grid{width:min(calc(100% - 48px),1180px);margin-inline:auto}.history-film{width:100%!important;margin:45px 0 75px!important}.history-screen{position:relative!important;top:auto!important;width:100%!important;max-width:none!important;aspect-ratio:16/9!important;height:auto!important;min-height:0!important;margin:0!important;border-radius:0!important;background:#082c50;overflow:hidden;isolation:isolate;--cinema-progress:0;--cinema-width:100vw;--cinema-height:56.25vw}.history-stills{position:absolute;inset:0;overflow:hidden}.history-still{background-image:url('/assets/history-atlas.webp');background-size:300% auto!important;background-repeat:no-repeat;opacity:0;z-index:0;transform:none!important;transition:opacity 1.35s ease,filter 1.35s ease,clip-path 1.35s cubic-bezier(.22,1,.36,1)!important;filter:blur(5px) brightness(.92);clip-path:inset(0 0 0 7%);will-change:opacity,clip-path;--atlas-row:0;--pan:calc((var(--cinema-height) - var(--cinema-width)) * .25);background-position-y:calc(var(--pan) - var(--atlas-row) * var(--cinema-width))!important}.history-frame-0{background-position-x:0}.history-frame-1{background-position-x:50%}.history-frame-2{background-position-x:100%}.history-frame-3{background-position-x:0;--atlas-row:1}.history-frame-4{background-position-x:50%;--atlas-row:1}.history-frame-5{background-position-x:100%;--atlas-row:1}.history-still.is-active{opacity:1;z-index:2;filter:blur(0) brightness(1);clip-path:inset(0);--pan:calc((var(--cinema-height) - var(--cinema-width)) * (.18 + var(--cinema-progress) * .4))}.history-still.is-leaving{opacity:1;z-index:1;filter:blur(4px) brightness(.85);clip-path:inset(0)}.history-screen::after{z-index:3;inset:0!important;background:linear-gradient(90deg,#041b32bd 0%,#041b3220 60%,transparent),linear-gradient(0deg,#041b32d9 0%,transparent 65%)!important;pointer-events:none}.cinema-topline{position:absolute;z-index:5;top:35px;left:5%;right:5%;display:flex;justify-content:space-between;gap:20px;color:#fff;font:500 11px/1.6 var(--text);letter-spacing:2px}.cinema-topline>span:last-child{font-variant-numeric:tabular-nums;white-space:nowrap}.history-film-caption{position:absolute!important;z-index:5!important;left:7%!important;right:20%!important;bottom:12%!important;padding:0!important;background:none!important;color:#fff!important;max-width:900px}.cinema-date{font:500 12px/1.5 var(--text)!important;text-transform:uppercase;letter-spacing:2px;margin:0 0 18px!important;color:#d4e7ff!important}.history-film-caption h3{font:500 clamp(32px,6.4vw,96px)/1.05 var(--display)!important;text-wrap:balance;letter-spacing:-.035em;color:#fff!important;margin:0 0 24px!important;max-width:850px}.history-film-caption #history-story{font:400 clamp(13px,1.2vw,18px)/1.8 var(--text);max-width:580px;margin:0;color:#f1f6ff;text-wrap:pretty}.cinema-controls{position:absolute;z-index:6;bottom:6%;right:5%;display:flex;align-items:center;gap:8px}.cinema-controls button{background:#ffffff20;border:1px solid #ffffff50;border-radius:99px;color:#fff;backdrop-filter:blur(12px);padding:13px 17px;min-height:44px;cursor:pointer;font:500 12px var(--text)}.cinema-controls button:hover,.cinema-controls button:focus-visible{background:#fff;color:#0047ab}.history-chapters{width:min(calc(100% - 48px),1380px);margin:0 auto!important;padding:25px 0 10px;display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr));gap:20px!important}.history-chapters button{position:relative;text-align:left;display:flex;flex-direction:column;gap:10px;min-height:80px;border:0!important;border-radius:0!important;background:none!important;color:#667d92!important;padding:0 0 18px!important;font:500 12px/1.6 var(--text);cursor:pointer}.history-chapters button[aria-pressed=true]{color:#0047ab!important}.cinema-chapter-number{font:500 11px var(--text);letter-spacing:1px}.cinema-chapter-progress{position:absolute;bottom:0;left:0;right:0;height:2px;background:#dbe7f6;overflow:hidden}.cinema-chapter-progress::after{content:'';position:absolute;inset:0;background:#0047ab;transform-origin:left;transform:scaleX(var(--chapter-progress,0))}.history-film>.small-note{position:static!important;max-width:900px;margin:20px auto!important;padding-inline:24px;font-size:10px;text-align:center;color:#607b94}.history-screen:focus-visible{outline-offset:-4px}.history-screen.cinema-paused .history-still{will-change:auto}
@media(min-width:1800px){.history-film-caption{max-width:1100px}.history-film-caption h3{font-size:110px!important}}
@media(max-width:760px){.cinema-topline{top:14px;left:5%;right:5%;font-size:8px;letter-spacing:1px}.history-film-caption{left:5%!important;right:8%!important;bottom:24%!important}.cinema-date{font-size:8px!important;letter-spacing:1px;margin-bottom:7px!important}.history-film-caption h3{font-size:clamp(23px,6vw,43px)!important;line-height:1.08!important;margin-bottom:9px!important;max-width:90%}.history-film-caption #history-story{font-size:10px;line-height:1.45;max-width:90%}.cinema-controls{bottom:5%;right:5%;gap:6px}.cinema-controls button{padding:8px 12px;min-height:36px;font-size:10px}.history-chapters{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px!important;padding-top:20px}.history-chapters button{font-size:10px;gap:7px;min-height:70px}.history>.section-heading,.history>.history-grid{width:calc(100% - 40px)}}
@media(max-width:420px){.cinema-topline{font-size:7px}.history-film-caption{bottom:27%!important}.cinema-date{font-size:7px!important;margin-bottom:5px!important}.history-film-caption h3{font-size:22px!important;margin-bottom:6px!important}.history-film-caption #history-story{font-size:9px;line-height:1.4}.cinema-controls button{padding:6px 11px;min-height:32px}.history-film-caption{right:5%!important}}
@media(prefers-reduced-motion:reduce){.history-still{transition:none!important;filter:none!important;clip-path:none!important;will-change:auto}.history-film-caption *{animation:none!important;transition:none!important}.cinema-controls [data-cinema-pause]{display:none}}
/* Keep image, narrative and chapter navigation within a comfortable viewport. */
.history-screen{height:clamp(300px,52svh,520px)!important;aspect-ratio:auto!important}.history-film{margin-block:30px 55px!important}.history-film-caption{bottom:15%!important;max-width:780px}.history-film-caption h3{font-size:clamp(30px,4.7vw,65px)!important;margin-bottom:16px!important}.history-film-caption #history-story{font-size:clamp(13px,1.1vw,16px);max-width:620px}.cinema-topline{top:22px}.cinema-controls{bottom:7%}.history-chapters{padding-top:18px}.history-chapters button{min-height:65px;gap:7px}.history-film>.small-note{margin-top:13px!important}
@media(min-width:1800px){.history-film-caption h3{font-size:72px!important}}
@media(max-width:760px){.history-screen{height:clamp(275px,46svh,380px)!important}.history-film-caption{bottom:24%!important;right:7%!important}.history-film-caption h3{font-size:clamp(25px,5.7vw,38px)!important;margin-bottom:12px!important}.history-film-caption #history-story{font-size:12px;line-height:1.6;max-width:95%}.cinema-date{font-size:9px!important}.cinema-topline{top:15px}.history-chapters{gap:10px!important}.history-chapters button{min-height:60px}}


/* Source: configuration.css */
/* Connected chronology, with an always-readable non-JavaScript fallback. */
.timeline{position:relative;padding-left:42px!important;margin-left:0!important}.timeline::before,.timeline::after{content:'';display:block!important;position:absolute;left:8px;top:17px;bottom:35px;width:2px;background:#dbe7f6;pointer-events:none}.timeline::after{background:#0047ab;transform-origin:top;transform:scaleY(var(--history-progress,0))}.timeline article{position:relative;z-index:1}.timeline .timeline-dot{display:block!important;position:absolute;left:-39px;top:17px;width:12px;height:12px;border-radius:50%;background:white;border:2px solid #0047ab;box-shadow:0 0 0 5px white}.timeline article.is-past .timeline-dot{background:#0047ab}.timeline-slide-pending{opacity:0;translate:-30px 15px;transition:opacity .85s ease,translate .85s cubic-bezier(.16,1,.3,1)}.timeline-slide-visible{opacity:1;translate:0 0}
.share-strip{padding-block:30px;text-align:center}.share-strip>p{font:500 24px var(--display);color:#0047ab}.share-strip>div{display:flex;justify-content:center;flex-wrap:wrap;gap:12px}.share-strip a,.share-strip button{display:inline-flex;align-items:center;border:0;border-radius:99px;background:#edf4ff;color:#0047ab;padding:12px 18px;font:500 12px var(--text);text-decoration:none;cursor:pointer;transition:background .2s,color .2s}.share-strip button[hidden]{display:none}.share-strip a:hover,.share-strip button:hover{background:#0047ab;color:#fff}.share-strip [data-share-status]{display:block;font-size:12px;margin-top:12px;overflow-wrap:anywhere}.site-popup{color:var(--popup-text);background:var(--popup-bg);border:0;border-radius:24px;padding:40px;max-width:min(540px,calc(100vw - 35px));max-height:80svh;overflow:auto;box-shadow:0 20px 100px #00295d35}.site-popup::backdrop{background:#06233d99;backdrop-filter:blur(5px)}.site-popup h2{font:500 clamp(28px,4vw,44px)/1.3 var(--display);margin:15px 0}.site-popup>p{white-space:normal;overflow-wrap:anywhere;line-height:1.8}.site-popup .eyebrow{color:inherit;font-size:9px}.popup-close{position:absolute;top:10px;right:14px;background:none;border:0;color:inherit;font:30px var(--text);cursor:pointer;width:40px;height:40px}.popup-action{display:inline-block;background:var(--popup-accent);color:#fff;border-radius:99px;padding:13px 22px;text-decoration:none;margin-top:12px}.popup-later{display:block;border:0;background:none;color:inherit;text-decoration:underline;margin:22px 0 0;cursor:pointer}.site-popup.popup-corner{margin:auto 22px 22px auto;max-width:min(430px,calc(100vw - 35px))}.popup-corner::backdrop{background:#06233d26;backdrop-filter:none}#popup-preview{border:0;border-radius:20px;padding:35px;max-width:540px}.admin-wrap>section{margin-top:45px}.admin-wrap fieldset{border:0;padding:15px 0}.admin-wrap fieldset label{margin:8px 0}
@media(max-width:760px){.timeline{padding-left:32px!important}.timeline::before,.timeline::after{left:6px}.timeline .timeline-dot{left:-31px}.site-popup{padding:30px 24px}.site-popup.popup-corner{margin:auto auto 15px}}
@media(prefers-reduced-motion:reduce){.timeline-slide-pending{opacity:1;translate:none;transition:none}.share-strip a,.share-strip button{transition:none}}

/* Local vector brand marks retain their familiar silhouette beside readable labels. */
.share-strip a,.share-strip button{gap:10px;min-height:46px}.social-icon{width:22px;height:22px;flex:0 0 22px;display:block;transition:transform .22s}.share-strip a:hover .social-icon,.share-strip button:hover .social-icon{transform:translateY(-2px)}.social-icon-facebook{color:#0866ff}.social-icon-whatsapp{color:#128c4a}.social-icon-telegram{color:#187dab}.social-icon-linkedin{color:#0a66c2}.social-icon-x{color:#111}.social-icon-pinterest{color:#bd081c}.share-strip a:hover .social-icon{color:white}@media(prefers-reduced-motion:reduce){.social-icon{transition:none}.share-strip a:hover .social-icon,.share-strip button:hover .social-icon{transform:none}}

