:root{--ink:#163229;--forest:#12372a;--mint:#dff3e6;--cream:#fbf6e9;--paper:#fffdf8;--orange:#ec6b3f;--gold:#e7b34b;--line:#dce4dc;--muted:#667a71;--shadow:0 18px 50px rgba(22,50,41,.12)}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.topbar{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1180px)/2));border-bottom:1px solid var(--line);background:rgba(255,253,248,.94);position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--forest);font-family:Georgia,serif;font-size:21px;font-weight:700}.brand small{display:block;font:600 9px/1.2 Inter,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.brandmark{width:40px;height:40px;border-radius:50% 50% 48% 52%;display:grid;place-items:center;background:var(--forest);color:#fff;font:700 13px Inter;transform:rotate(-4deg)}nav{display:flex;align-items:center;gap:8px}.navlink{border:0;background:transparent;padding:10px 13px;color:var(--muted);font-weight:700;cursor:pointer}.navlink.active{color:var(--forest)}.avatar{border:0;background:var(--orange);color:white;width:38px;height:38px;border-radius:50%;font-weight:800;margin-left:8px}.hero{background:var(--cream);min-height:470px;padding:65px max(24px,calc((100vw - 1180px)/2));display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center;position:relative;overflow:hidden}.hero:after{content:"";position:absolute;width:380px;height:380px;border:1px dashed #c4ae73;border-radius:50%;right:-100px;top:-120px}.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:11px;font-weight:900;color:var(--orange)}h1,h2,h3{font-family:Georgia,serif;margin:0}h1{font-size:clamp(46px,6vw,76px);line-height:.96;margin:15px 0 22px}h1 em{color:var(--orange);font-style:italic}.hero-copy p{max-width:560px;font-size:17px;line-height:1.65;color:var(--muted)}button{font:inherit}.hero-actions{display:flex;gap:12px;margin-top:28px}.primary,.secondary,.outline{border-radius:999px;padding:13px 21px;font-weight:800;cursor:pointer}.primary{background:var(--forest);color:white;border:1px solid var(--forest)}.secondary,.outline{background:transparent;color:var(--forest);border:1px solid #9faf9f}.passport-card{background:#174335;color:#fff;border-radius:18px;padding:28px;box-shadow:var(--shadow);transform:rotate(2deg);max-width:440px;position:relative;z-index:2}.passport-top,.passport-foot{display:flex;justify-content:space-between;align-items:center}.passport-top{letter-spacing:.15em;font-weight:900;font-size:11px;border-bottom:1px solid #ffffff30;padding-bottom:18px}.stamp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:28px 0}.stamp{aspect-ratio:1;border:1px dashed #ffffff5c;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;font-size:27px}.stamp small{font-size:8px;margin-top:4px}.stamp.current{color:#f3ce77}.passport-foot strong{font-family:Georgia,serif;font-size:23px}.passport-foot span{font-size:12px;color:#d4e4dc}.progress-strip{max-width:1180px;margin:-1px auto 0;padding:25px 24px;display:grid;grid-template-columns:140px 1fr auto;gap:25px;align-items:center;border-bottom:1px solid var(--line)}.progress-strip strong{font-family:Georgia,serif;font-size:28px}.progress-strip span{display:block;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-weight:800}.progress{height:8px;background:#e5ece7;border-radius:8px;overflow:hidden}.progress i{display:block;height:100%;width:1%;background:var(--orange);border-radius:8px}.family-stats{display:flex;gap:22px}.family-stats span{text-transform:none;letter-spacing:0;font-size:12px}.content{max-width:1180px;margin:0 auto;padding:70px 24px}.hidden{display:none}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:28px}.section-head h2{font-size:42px;margin-top:8px}.filters{display:flex;justify-content:space-between;gap:16px;margin-bottom:28px}.search{border:1px solid var(--line);border-radius:999px;padding:10px 16px;min-width:270px}.search input{border:0;outline:0;background:transparent;width:230px}.chip{border:0;background:transparent;color:var(--muted);padding:9px 12px;cursor:pointer;font-weight:700}.chip.active{background:var(--mint);border-radius:999px;color:var(--forest)}.dish-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.dish-card{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff;transition:.2s}.dish-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.card-visual{height:150px;background:linear-gradient(135deg,#dfeee5,#f6e6bd);display:flex;align-items:center;justify-content:center;position:relative}.flag{font-size:66px;filter:drop-shadow(0 8px 8px #0002)}.status{position:absolute;right:14px;top:14px;background:#fff;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:900}.card-body{padding:20px}.region{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.14em;color:var(--orange)}.card-body h3{font-size:25px;margin:7px 0}.card-body p{color:var(--muted);font-size:13px;line-height:1.5;min-height:40px}.rating{color:var(--gold);letter-spacing:2px;font-size:15px}.card-open{width:100%;display:flex;justify-content:space-between;margin-top:16px;padding:13px 0 0;border:0;border-top:1px solid var(--line);background:transparent;color:var(--forest);font-weight:900;cursor:pointer}.journey-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.memory{background:var(--cream);border-radius:16px;padding:24px}.memory b{font-family:Georgia,serif;font-size:24px}.memory .stars{color:var(--gold)}dialog{width:min(720px,calc(100% - 24px));max-height:92vh;border:0;border-radius:22px;padding:0;box-shadow:0 30px 90px #0005;color:var(--ink)}dialog::backdrop{background:#0d261dba;backdrop-filter:blur(4px)}.dialog-close{position:sticky;float:right;top:14px;right:14px;z-index:2;border:0;border-radius:50%;width:38px;height:38px;background:#fff;box-shadow:0 4px 18px #0002;font-size:24px;cursor:pointer}.recipe-hero{padding:40px;background:var(--cream)}.recipe-hero .bigflag{font-size:55px}.recipe-hero h2{font-size:42px;margin:12px 0}.trivia{background:var(--mint);padding:18px;border-radius:12px;margin-top:20px}.recipe-main{padding:28px 40px 40px}.servings{display:flex;gap:12px;align-items:center;background:#f5f5f0;padding:14px;border-radius:12px}.servings label{font-weight:800;font-size:12px}.servings input{width:62px;padding:8px;border:1px solid var(--line);border-radius:8px}.ingredients{margin:24px 0}.ingredients li{padding:8px 0;border-bottom:1px dashed var(--line)}.steps{counter-reset:steps;list-style:none;padding:0}.steps li{counter-increment:steps;padding:12px 0 12px 44px;position:relative}.steps li:before{content:counter(steps);position:absolute;left:0;width:28px;height:28px;border-radius:50%;background:var(--orange);color:white;display:grid;place-items:center;font-weight:900}.rate-row{display:flex;gap:8px;align-items:center;border-top:1px solid var(--line);padding-top:20px}.star-btn{border:0;background:none;font-size:28px;color:#d6d6ce;cursor:pointer;padding:2px}.star-btn.selected{color:var(--gold)}form{padding:42px;display:grid;gap:15px}form h2{font-size:38px}form label{display:grid;gap:6px;font-size:12px;font-weight:800}form input,form select,form textarea{border:1px solid var(--line);border-radius:10px;padding:12px;font:inherit}.source{font-size:12px;color:var(--muted);margin-top:22px}.source a{color:var(--forest)}@media(max-width:850px){.navlink{display:none}.hero{grid-template-columns:1fr;padding-top:45px;gap:35px}.passport-card{max-width:none}.progress-strip{grid-template-columns:100px 1fr}.family-stats{display:none}.filters{display:block}.search{display:block;margin-bottom:15px}.dish-grid,.journey-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.topbar{height:66px}.hero{padding:38px 18px}.hero-actions{display:grid}.passport-card{padding:20px}.stamp-grid{gap:7px}.progress-strip{padding:18px}.content{padding:48px 18px}.section-head{align-items:start;gap:15px}.section-head h2{font-size:34px}.outline{padding:9px 12px}.dish-grid,.journey-grid{grid-template-columns:1fr}.filters{overflow:hidden}#region-filters{display:flex;overflow-x:auto}.recipe-hero,.recipe-main,form{padding:28px 22px}}
