@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--bg:#f8f7f2;--paper:#fffefa;--ink:#282b24;--muted:#687067;--line:#deded5;--green:#355d4c;--green-dark:#244537;--rose:#ba6d53;--cream:#ebecdf;--gold:#e8d4a3;--radius:18px;--shadow:0 17px 35px rgba(40,43,36,.055)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:15px;line-height:1.6}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,'DM Sans',sans-serif;letter-spacing:-.045em;line-height:1.14}h1{font-size:clamp(2.65rem,5vw,5rem);font-weight:800}h2{font-size:clamp(1.85rem,3vw,3rem);font-weight:800}h3{font-weight:700}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{outline-offset:3px}.shell{width:min(1160px,calc(100% - 64px));margin:0 auto}
.site-header{position:sticky;top:0;background:rgba(248,247,242,.96);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);z-index:100}.nav-shell{min-height:83px;display:flex;align-items:center;gap:30px}.brand{display:flex;align-items:center;gap:12px;min-width:230px}.brand-mark{display:grid;place-items:center;width:43px;height:43px;border:1.5px solid var(--green);border-radius:14px;color:var(--green);font:800 24px Manrope,sans-serif;letter-spacing:-.09em}.brand-label{font-size:12px;font-weight:800;letter-spacing:.13em;line-height:1.35}.brand-label small{display:block;font-size:9px;letter-spacing:.13em;color:var(--muted);font-weight:600;margin-top:5px}.nav-items{display:flex;gap:31px;margin-left:auto;align-items:center;font-size:13px;font-weight:700}.nav-items a:hover,.text-link:hover,.crumbs a:hover{color:var(--rose)}.lang-label{display:flex;align-items:center;gap:9px;margin-left:19px;font-size:11px;color:var(--muted);font-weight:700}.lang-label select{font-size:12px;font-weight:700;min-width:102px;border:1px solid #c7cdc2;border-radius:10px;background:var(--paper);padding:10px 9px;color:var(--green);cursor:pointer}
.eyebrow{font:800 10px Manrope,sans-serif;letter-spacing:.22em;color:var(--rose);text-transform:uppercase;margin-bottom:20px}.hero{border-bottom:1px solid var(--line)}.hero-grid{display:grid;grid-template-columns:1.07fr .93fr;align-items:center;min-height:545px;gap:66px;padding:65px 0}.hero-copy h1{max-width:690px;margin:0 0 21px}.hero-copy p{font-size:17px;max-width:530px;line-height:1.8;color:#5a6357}.hero-actions{display:flex;align-items:center;gap:26px;margin-top:35px}.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;border:none;cursor:pointer;border-radius:12px;padding:15px 23px;font-weight:700;font-size:13px;min-height:47px;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-dark{background:var(--green);color:white}.button-dark:hover{background:var(--green-dark)}.button-light{background:#fffefa;color:var(--green);border:1px solid #bdcabb}.text-link{font-weight:700;font-size:13px}.hero-note{display:flex;align-items:center;gap:13px;color:var(--muted);font-size:12px;margin-top:43px}.rule{display:inline-block;height:1px;width:31px;background:var(--rose)}
.hero-art{min-height:410px;background:#ebece2;border-radius:45% 45% 12% 12%;position:relative;overflow:hidden}.hero-art-inner{height:100%;min-height:410px;position:relative;display:grid;place-items:center}.art-orbit{position:absolute;width:350px;height:350px;border:1px solid rgba(53,93,76,.13);border-radius:50%;transform:rotate(30deg)}.art-orbit.o2{width:290px;height:290px}.art-plate{width:255px;height:255px;border-radius:50%;background:#fffcf1;box-shadow:0 18px 40px #355d4c18,inset 0 0 0 15px #ecebdd,inset 0 0 0 17px #d9daca;position:relative}.art-leaf{position:absolute;width:52px;height:94px;border-radius:82% 9% 73% 11%;background:#7a936a;transform:rotate(25deg);top:83px;left:82px;box-shadow:8px 0px 0 #c0cdab}.art-leaf.l2{transform:rotate(150deg);top:85px;left:131px;background:#4f7c65}.art-leaf.l3{transform:rotate(290deg);top:68px;left:108px;width:37px;height:67px;background:#9db080}.art-grain{position:absolute;width:22px;height:22px;background:#e2b37f;border-radius:50%;top:148px;left:100px}.art-grain.g2{top:110px;left:160px;background:#c46b51}.art-grain.g3{top:170px;left:154px;background:#c18c4c}.art-label{position:absolute;bottom:40px;right:33px;background:#fbfaf6;box-shadow:0 14px 28px #3332;display:flex;align-items:center;gap:11px;padding:12px 17px;border-radius:12px;transform:rotate(4deg)}.art-label b{font:800 32px Manrope,sans-serif;color:var(--green)}.art-label span{font-size:10px;font-weight:800;letter-spacing:.17em}
.recipes-section{padding-top:86px;padding-bottom:105px;scroll-margin-top:100px}.section-heading{margin-bottom:30px}.section-heading h2{margin-bottom:10px}.section-heading p{font-size:14px;color:var(--muted)}.filter-panel{background:#eff0e8;border:1px solid #dee1d5;padding:25px;border-radius:18px;margin-bottom:25px}.filter-fields{display:grid;grid-template-columns:1fr 1fr .9fr .9fr;gap:15px}.filter-fields label{display:flex;flex-direction:column;gap:9px;font-weight:700;font-size:11px;color:#4b5448}.filter-fields input,.filter-fields select{width:100%;background:#fffefa;border:1px solid #d7ddcf;border-radius:10px;padding:13px 14px;color:var(--ink);min-width:0;height:46px;font-size:13px;font-weight:500}.filter-fields input::placeholder{color:#9ca19a}.filter-fields input:focus,.filter-fields select:focus{border-color:var(--green);outline:2px solid #9abca444}.filter-lower{margin-top:19px;display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:700;color:var(--green)}.clear-btn{border:none;background:none;color:#8f604d;font-size:12px;font-weight:700;cursor:pointer;padding:4px}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.recipe-card{display:flex;flex-direction:column;background:var(--paper);border:1px solid #e8e7dd;border-radius:16px;overflow:hidden;box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s}.recipe-card:hover{transform:translateY(-4px);box-shadow:0 23px 35px #393f3022}.card-photo{height:185px;overflow:hidden}.photo-box{position:relative;background:#e9e8df;display:flex;align-items:center;justify-content:center;overflow:hidden}.photo-box.has-photo img{width:100%;height:100%;object-fit:cover}.no-photo{background:linear-gradient(127deg,#e9e9df,#eef0e5 55%,#eee7db)}.plate-graphic{width:130px;height:130px;border-radius:50%;border:12px solid #d9decf;box-shadow:inset 0 0 0 3px #faf9ef,0 8px 25px #30442a17;position:relative;background:#f8f7ed;transform:rotate(-12deg)}.plate-graphic span{position:absolute;width:35px;height:60px;border-radius:70% 20% 65% 10%;background:#9cab85;top:32px;left:43px;transform:rotate(65deg)}.plate-graphic i{position:absolute;width:19px;height:19px;border-radius:50%;background:#cb8f6f;top:49px;left:34px}.photo-caption{position:absolute;bottom:15px;color:#919a8b;font-size:10px;letter-spacing:.035em}.card-body{padding:22px 23px 24px;position:relative;flex:1;min-height:161px}.card-kicker{font-size:10px;letter-spacing:.065em;text-transform:uppercase;font-weight:800;color:var(--rose);margin-bottom:11px;line-height:1.4}.card-body h3{font-size:19px;margin-bottom:17px;padding-right:15px}.card-meta{display:flex;gap:10px;flex-wrap:wrap;color:#798075;font-size:12px;padding-right:12px}.card-arrow{position:absolute;bottom:22px;right:22px;color:var(--green);font-size:20px;font-weight:700}.no-results{text-align:center;padding:75px 20px;background:var(--paper);border-radius:14px}.no-results h3{font-size:23px}.no-results p{color:var(--muted)}
.book-cta{background:#e4e9dc;border-top:1px solid #dce3d3;scroll-margin-top:100px}.book-cta-inner{display:grid;grid-template-columns:1fr .8fr;gap:30px;min-height:360px;align-items:center;padding:70px 0}.book-cta h2{max-width:570px;margin-bottom:17px}.book-cta p{color:#566152;max-width:520px}.book-buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:27px}.mini-note{font-size:11px;margin-top:18px;color:#6d7769!important}.book-drawing{height:235px;display:flex;align-items:center;justify-content:center;position:relative}.book-cover{height:230px;width:159px;border-radius:3px 7px 7px 3px;background:#365e4b;border-left:8px solid #2b4b3c;box-shadow:14px 19px 27px #29442e36;transform:rotate(-9deg) translateX(28px);color:#f7f3e7;padding:24px 16px;display:flex;flex-direction:column;justify-content:space-between}.book-cover span{font-size:7px;letter-spacing:.12em}.book-cover strong{font:800 20px/1.1 Manrope,sans-serif;letter-spacing:-.05em}.book-cover small{font-size:9px;line-height:1.4}.book-cover.secondary{background:#d5ad83;color:#294637;border-left-color:#c3966e;transform:rotate(10deg) translateX(-20px) translateY(4px)}.book-cover.secondary strong{font-size:14px}
.footer{background:#fbfaf6;border-top:1px solid var(--line)}.footer-inner{min-height:83px;display:flex;align-items:center;gap:35px;color:#7d857b;font-size:11px}.footer-inner span:nth-child(2){margin-left:auto}
.recipe-page{padding-top:36px;padding-bottom:90px}.crumbs{display:flex;align-items:center;gap:10px;color:#7a8378;font-size:12px;margin-bottom:31px}.crumbs a{color:var(--green);font-weight:700}.recipe-top{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center;margin-bottom:65px}.recipe-heading h1{font-size:clamp(2.6rem,5vw,4.6rem);max-width:760px;margin-bottom:15px}.recipe-heading .eyebrow{margin-bottom:15px}.original{color:#747d71;font-style:italic;margin-bottom:26px;font-size:15px}.original span{font-style:normal;font-size:11px;font-weight:700;letter-spacing:.05em;color:var(--green)}.recipe-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 22px;margin-bottom:30px}.recipe-meta span{display:block;border-bottom:1px solid var(--line);padding-bottom:10px;color:#72796f;font-size:11px;line-height:1.65}.recipe-meta b{display:block;color:var(--ink);font-size:14px;font-weight:700}.recipe-hero-photo{height:330px;border-radius:18px}.recipe-hero-photo .plate-graphic{transform:scale(1.45) rotate(-12deg)}.recipe-columns{display:grid;grid-template-columns:minmax(0,.81fr) minmax(0,1.19fr);gap:67px;align-items:start}.recipe-columns h2{font-size:26px;margin-bottom:28px}.ingredient-panel{background:#eeefe6;padding:31px;border:1px solid #e0e4da;border-radius:17px}.ingredient-panel .eyebrow{margin-bottom:9px}.ingredients{list-style:none;margin:0;padding:0}.ingredients li{border-bottom:1px solid #d9ded1;padding:10px 0 10px 23px;position:relative;font-size:13px;line-height:1.55}.ingredients li:not(.ingredient-subhead)::before{position:absolute;content:'•';font-size:21px;color:var(--rose);left:2px;top:7px}.ingredients li.ingredient-subhead{padding:17px 0 6px;font-weight:800;color:var(--green);border-bottom:0}.instructions-panel h2{border-bottom:1px solid var(--line);padding-bottom:20px}.method-list p{font-size:14px;line-height:1.95;color:#373b33;margin-bottom:19px}.complete-note{border-left:3px solid #bd8363;background:#f2eee5;border-radius:0 10px 10px 0;margin-top:32px;padding:20px 24px}.complete-note strong{font-size:13px;color:var(--green)}.complete-note p{margin:8px 0 0;font-size:13px;line-height:1.6}.recipe-pagination{display:grid;grid-template-columns:1fr 1fr;gap:20px;border-top:1px solid var(--line);margin-top:85px;padding-top:23px}.recipe-pagination>div:last-child{text-align:right}.recipe-pagination a{display:inline-flex;flex-direction:column;gap:5px}.recipe-pagination small{font-size:11px;color:var(--rose);font-weight:700}.recipe-pagination b{font-size:15px;color:var(--green)}
.about-page{padding-top:88px;padding-bottom:100px}.about-page h1{max-width:940px;margin-bottom:16px}.about-subtitle{color:var(--muted);font-size:16px}.about-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:85px;margin-top:75px}.about-grid h2{font-size:25px;margin:0 0 20px}.about-grid p{line-height:1.95;color:#535d53;margin-bottom:22px;font-size:15px}.about-grid h2:not(:first-child){margin-top:46px}.about-quote{background:#e8e9de;border-radius:17px;padding:42px;align-self:start}.about-quote>span{font-size:110px;line-height:60px;color:#c08869;font-family:Georgia,serif}.about-quote p{font:600 23px/1.5 Manrope,sans-serif;letter-spacing:-.03em;color:var(--green);margin:10px 0 0}
@media (max-width:1000px){.hero-grid{gap:30px}.filter-fields{grid-template-columns:repeat(2,1fr)}.recipe-top{gap:25px}.recipe-columns{gap:35px}}
@media (max-width:740px){.shell{width:min(100% - 36px,600px)}.nav-shell{min-height:69px;flex-wrap:wrap;gap:10px 18px;padding:12px 0}.brand{min-width:auto}.brand-mark{width:36px;height:36px;font-size:19px;border-radius:10px}.brand-label{font-size:10px}.brand-label small{font-size:8px}.nav-items{order:3;justify-content:center;width:100%;gap:30px;margin:3px 0 0}.lang-label{margin-left:auto}.lang-label>span{display:none}.lang-label select{padding:8px 8px}.hero-grid{grid-template-columns:1fr;padding:46px 0 36px;gap:36px}.hero h1{font-size:clamp(2.65rem,10vw,4.1rem)}.hero-copy p{font-size:15px}.hero-art,.hero-art-inner{min-height:265px;height:265px}.art-plate{transform:scale(.78)}.art-label{bottom:18px;right:20px}.hero-note{margin-top:26px}.recipes-section{padding:65px 0 70px}.filter-panel{padding:17px}.filter-fields{grid-template-columns:1fr 1fr;gap:12px}.filter-fields label{font-size:10px}.filter-fields input,.filter-fields select{font-size:12px}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.card-photo{height:135px}.plate-graphic{transform:scale(.7)}.card-body{padding:16px;min-height:151px}.card-body h3{font-size:15px;line-height:1.35}.card-kicker{font-size:9px}.card-meta{font-size:10px}.card-arrow{right:14px;bottom:14px}.book-cta-inner{grid-template-columns:1fr;padding:52px 0;gap:10px}.book-drawing{height:225px}.footer-inner{gap:14px;flex-wrap:wrap;padding:18px 0}.footer-inner span:nth-child(2){margin-left:0}.recipe-top{grid-template-columns:1fr;gap:28px;margin-bottom:37px}.recipe-hero-photo{height:250px;order:-1}.recipe-heading h1{font-size:2.7rem}.recipe-meta{grid-template-columns:1fr 1fr}.recipe-columns{grid-template-columns:1fr;gap:37px}.ingredient-panel{padding:24px}.about-page{padding:63px 0}.about-grid{grid-template-columns:1fr;gap:32px;margin-top:44px}.about-quote{padding:26px}}
@media(max-width:430px){.shell{width:calc(100% - 28px)}.filter-fields{grid-template-columns:1fr}.hero-actions{gap:15px;flex-wrap:wrap}.card-grid{grid-template-columns:1fr}.card-photo{height:180px}.plate-graphic{transform:scale(.95)}.card-body{min-height:130px}.recipe-meta{grid-template-columns:1fr 1fr;gap:10px}.recipe-heading h1{font-size:2.4rem}.book-buttons{flex-direction:column;align-items:flex-start}}
@media print{.site-header,.footer,.book-cta,.recipe-pagination,.crumbs,.print-button,.no-photo,.recipe-hero-photo{display:none!important}body{background:white;font-size:11pt}.shell{width:100%;max-width:none}.recipe-page{padding:0}.recipe-top{display:block;margin-bottom:25px}.recipe-columns{display:block}.ingredient-panel{padding:5px 0;background:white;border:0}.ingredient-panel li{padding:3px 0 3px 18px}.instructions-panel{margin-top:25px}.instructions-panel p{font-size:11pt}.recipe-heading h1{font-size:28pt}.recipe-meta{grid-template-columns:repeat(4,1fr)}a{color:black!important}}

/* Actual printed-book covers supplied by the author. */
.book-drawing{min-height:300px;height:300px;overflow:visible}
.real-book-cover{display:block;position:relative;flex:none;width:180px;aspect-ratio:1000 / 1419;border-radius:3px;overflow:hidden;box-shadow:14px 20px 28px rgba(27,49,34,.23);border:1px solid rgba(40,43,36,.13);transition:transform .22s ease,box-shadow .22s ease}
.real-book-cover img{display:block;width:100%;height:100%;object-fit:cover}
.real-book-cover.english-book{transform:rotate(-9deg) translateX(22px);z-index:1}
.real-book-cover.italian-book{transform:rotate(9deg) translateX(-20px) translateY(4px);z-index:2}
.real-book-cover.english-book:hover,.real-book-cover.english-book:focus-visible{transform:rotate(-4deg) translateX(22px) translateY(-8px);z-index:3;box-shadow:16px 25px 35px rgba(27,49,34,.3)}
.real-book-cover.italian-book:hover,.real-book-cover.italian-book:focus-visible{transform:rotate(4deg) translateX(-20px) translateY(-8px);z-index:3;box-shadow:16px 25px 35px rgba(27,49,34,.3)}
@media (max-width:740px){.book-drawing{height:295px;min-height:295px}.real-book-cover{width:175px}}
@media (max-width:430px){.book-drawing{height:275px;min-height:275px}.real-book-cover{width:158px}}

/* Website v3 · optional personal logo and photo galleries */
.brand-logo{height:100%;width:100%;object-fit:contain;display:block;border-radius:inherit}
.brand-logo[hidden]{display:none!important}
.brand-fallback[hidden]{display:none!important}
.recipe-gallery{min-width:0;width:100%}
.recipe-gallery .photo-box{width:100%}
.gallery-thumbs{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}
.gallery-thumb{background:transparent;border:2px solid transparent;border-radius:9px;padding:3px;cursor:pointer;width:69px;height:69px;overflow:hidden}
.gallery-thumb.selected{border-color:var(--green)}
.gallery-thumb img{width:100%;height:100%;display:block;object-fit:cover;border-radius:5px}
.photo-box.has-photo{overflow:hidden}
.photo-box.has-photo>img{display:block;width:100%;height:100%;object-fit:cover}
@media print{.gallery-thumbs{display:none!important}}

/* Single-line author branding; actual logo replaces P. automatically. */
.brand-label{display:flex;align-items:center;white-space:nowrap}
.brand-mark.has-real-logo{border:0;border-radius:0}
.brand-mark.has-real-logo .brand-logo{border-radius:0}

/* Daily balance: personal illustration and title-case author name (v4) */
.brand-label{display:flex;align-items:center;white-space:nowrap;font-size:14px;font-weight:700;letter-spacing:.025em;line-height:1.2;text-transform:none}
.brand-mark{overflow:hidden;border-radius:50%;background:#fff;flex:none}
.brand-mark.has-real-logo{border:1px solid #ccd4c8;border-radius:50%}
.brand-logo{display:block;height:100%;width:100%;object-fit:cover;border-radius:50%}
@media(max-width:740px){.brand-label{font-size:12px;letter-spacing:.01em}.brand-mark{border-radius:50%}}
