:root{--cream:#faf7ef;--green:#234b3b;--muted:#677267;--pink:#f6b7b6;--line:#dfdfd3;--mint:#e7eee3}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--cream);color:var(--green);font-family:Arial,Helvetica,sans-serif;line-height:1.6}a{color:inherit;text-underline-offset:4px}img{display:block;max-width:100%;height:auto}button,input{font:inherit}.wrap{max-width:1240px;width:calc(100% - 96px);margin-inline:auto}.site-header{height:112px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:inline-flex;gap:10px;align-items:center;text-decoration:none;font-family:Georgia,serif;font-size:25px;line-height:1.05;font-weight:bold;letter-spacing:-.8px}.brand-bottom{display:block;font-family:Arial,sans-serif;letter-spacing:4.5px;font-size:10px;margin-top:7px}.site-header nav{display:flex;gap:34px;align-items:center}.site-header nav a{font-size:14px;text-decoration:none;font-weight:600}.nav-index{border:1px solid var(--line);padding:10px 18px;border-radius:30px}.nav-index span{margin-left:15px}.hero{display:grid;grid-template-columns:1.08fr 1fr;align-items:center;gap:50px;padding-top:40px;padding-bottom:70px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;line-height:1.5}.little-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#db8a76;margin-right:9px}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.08;letter-spacing:-1.8px}h1{font-size:clamp(52px,5.6vw,79px);margin:25px 0}h1 em{font-weight:400;position:relative;isolation:isolate}h1 em:after{content:'';position:absolute;background:var(--pink);height:12px;bottom:4px;left:-2px;right:-8px;z-index:-1;transform:rotate(-4deg)}.hero-description{max-width:430px;font-size:17px;color:#596658;line-height:1.8}.hero-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:30px}.button{display:inline-flex;align-items:center;gap:28px;border-radius:6px;background:var(--green);color:white;padding:14px 21px;text-decoration:none;font-size:13px;font-weight:bold}.button:hover{background:#36664e}.quiet-link{font-size:12px}.hero-note{display:flex;gap:10px;align-items:center;color:var(--muted);font-size:12px;margin-top:30px}.hero-note span{font-size:25px;color:#b37654}.hero-visual{position:relative;padding:15px 0}.hero-photo{width:100%;border-radius:48% 48% 8px 8px;aspect-ratio:1;object-fit:cover}.hero-sticker{position:absolute;bottom:55px;left:-28px;background:var(--pink);border-radius:50%;height:148px;width:148px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:22px;line-height:1.1;font-family:Georgia,serif;transform:rotate(-12deg);box-shadow:0 3px 0 #df9b96}.hero-sticker em{font-size:25px}.hero-sticker span{font-family:Arial,sans-serif;font-size:8px;letter-spacing:1px;margin-top:13px}.photo-note{position:absolute;right:9px;bottom:21px;font-size:9px;padding:3px 7px;background:#faf7efd9;border-radius:3px}.flavour-band{border-block:1px solid var(--line);background:#f0f1e7}.flavour-band>.wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-block:19px;font-size:12px}.flavour-band span{font-weight:bold}.flavour-band a{text-decoration:none}.flavour-band a:hover{text-decoration:underline}.section{padding-block:70px}.section-heading{display:flex;justify-content:space-between;gap:25px;align-items:end;margin-bottom:28px}.section-heading .eyebrow{margin:0 0 12px}h2{font-size:40px;margin:0}h3{font-size:26px;letter-spacing:-.6px;margin:14px 0}.arrow-link{font-size:13px;font-weight:bold;white-space:nowrap;text-decoration:none}.recipe-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.recipe-card{min-width:0}.card-image{display:block;position:relative;overflow:hidden;border-radius:8px}.card-image img{width:100%;aspect-ratio:1.13;object-fit:cover;transition:transform .3s}.card-image:hover img{transform:scale(1.025)}.image-label{position:absolute;top:16px;left:16px;background:var(--cream);border-radius:20px;padding:4px 13px;font-size:11px}.card-copy{padding:14px 1px}.card-copy .eyebrow{font-size:9px;letter-spacing:1.1px;color:var(--muted)}.card-copy h3 a{text-decoration:none}.card-copy>p:not(.eyebrow){font-size:13px;line-height:1.8;color:#657061}.card-copy .arrow-link{display:flex;justify-content:space-between;padding-top:8px}.small-note{font-size:10px;color:var(--muted);margin-top:25px}.knowledge{background:var(--green);color:var(--cream);border-radius:10px;padding:48px 52px;display:grid;grid-template-columns:1fr 1fr;gap:60px}.knowledge h2{font-size:39px;margin:20px 0}.knowledge p:not(.eyebrow){font-size:14px;max-width:380px;color:#d2ddcf}.button.light{background:var(--cream);color:var(--green);margin-top:12px}.knowledge-list{display:flex;flex-direction:column;justify-content:center}.knowledge-list a{display:flex;align-items:center;gap:20px;padding:25px 0;border-bottom:1px solid #ffffff35;text-decoration:none;font-size:15px}.knowledge-list span{font-size:11px;color:#c4d6bf}.knowledge-list strong{flex:1;font-weight:400}.world-links{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.world-links a{border-top:1px solid var(--line);padding-top:20px;text-decoration:none}.world-links span{display:block;font-size:9px;letter-spacing:1.4px;margin-bottom:10px;color:var(--muted)}.world-links strong{font-family:Georgia,serif;font-size:23px;font-weight:400}.site-footer{border-top:1px solid var(--line);background:#eeeede;margin-top:25px}.footer-top{padding-block:45px;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}.footer-top p{font-family:Georgia,serif;font-size:18px;color:var(--muted)}.footer-top>div>strong{font-size:12px;display:block;margin-bottom:15px}.footer-top>div>a:not(.brand){display:block;font-size:12px;text-decoration:none;margin:7px 0}.footer-bottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:10px;padding-block:20px;border-top:1px solid #d6d8ca;color:var(--muted)}.footer-bottom>div{display:flex;gap:18px;flex-wrap:wrap}.text-button{font-size:inherit;color:inherit;border:0;background:none;padding:0;text-decoration:underline;cursor:pointer}.page-heading{padding-block:40px 32px}.page-heading h1{font-size:56px;margin:15px 0}.page-heading>p:last-child{max-width:680px;color:var(--muted)}.breadcrumbs{font-size:11px;color:var(--muted);padding-top:20px}.article{max-width:790px;padding-block:20px 70px}.article h2{font-size:31px;margin:42px 0 18px}.article h3{font-size:25px;margin-top:28px}.article p,.article li{font-size:16px;color:#4a5e4c}.article li{padding:5px 0}.article a{color:var(--green)}.article figure{margin:25px 0}.article figure img{width:100%;aspect-ratio:1.4;object-fit:cover;border-radius:8px}.article figcaption{font-size:10px;color:var(--muted);margin-top:7px}.recipe-meta{display:flex;flex-wrap:wrap;gap:15px;font-size:12px;padding:15px 0;border-block:1px solid var(--line)}.recipe-columns{display:grid;grid-template-columns:1fr 2fr;gap:40px}.recipe-columns h2{margin-top:25px}.recipe-columns ol{padding-left:24px}.recipe-columns li{margin-bottom:15px}.recipe-columns ul{padding-left:18px}.tip{padding:20px 25px;background:var(--mint);border-radius:6px}.tags{display:flex;flex-wrap:wrap;gap:10px;margin:25px 0}.tags a{font-size:12px;background:var(--mint);padding:5px 12px;border-radius:20px;text-decoration:none}.directory{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.directory section{border-top:1px solid var(--line);padding-top:15px}.directory h2{font-size:28px}.directory a{display:block;margin:8px 0;font-size:14px}.search-form{display:flex;gap:10px;max-width:650px;margin:25px 0}.search-form input{min-width:0;flex:1;background:white;border:1px solid #bac5b6;padding:12px 15px;border-radius:5px}.search-form button{border:0;cursor:pointer}pre{background:#e8eddf;padding:22px;border-radius:7px;overflow:auto;font-size:12px;line-height:1.65}code{overflow-wrap:anywhere}.skip-link{position:absolute;left:10px;top:-60px;background:var(--green);color:white;padding:10px;z-index:10}.skip-link:focus{top:10px}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #c27261;outline-offset:5px}details{border-block:1px solid var(--line);padding:15px 0}summary{cursor:pointer;font-weight:bold}.print-button{border:1px solid var(--line);border-radius:5px;background:transparent;color:var(--green);padding:8px 15px;cursor:pointer}.article time{font-size:11px;color:var(--muted)}
@media(max-width:1000px){.wrap{width:calc(100% - 56px)}.hero{gap:30px}.hero-actions{gap:15px}.hero-sticker{height:120px;width:120px;font-size:20px}.hero-sticker em{font-size:22px}.hero-sticker span{font-size:7px}.site-header nav{gap:22px}.knowledge{gap:35px;padding:35px}.recipe-grid{gap:20px}h2{font-size:34px}}
@media(max-width:760px){.wrap{width:calc(100% - 36px)}.site-header{height:auto;padding-block:20px;align-items:start;gap:18px;flex-wrap:wrap}.brand{font-size:23px}.site-header nav{gap:20px;flex-wrap:wrap}.site-header nav a{font-size:12px}.nav-index{padding:0;border:0}.hero{grid-template-columns:1fr;padding-top:20px;padding-bottom:35px;gap:25px}.hero h1{font-size:63px}.hero-copy{max-width:560px}.hero-description{max-width:100%;font-size:16px}.hero-visual{max-width:520px;width:100%;margin:auto}.hero-photo{max-height:470px}.hero-sticker{left:8px;bottom:35px}.hero-note{margin-top:20px}.flavour-band>.wrap{justify-content:start;gap:12px 23px;font-size:12px}.flavour-band span{width:100%}.section{padding-block:40px}.section-heading{align-items:start}h2{font-size:30px}.section-heading>.arrow-link{font-size:11px;margin-top:27px}.recipe-grid{grid-template-columns:1fr 1fr;gap:25px 18px}.knowledge{grid-template-columns:1fr;padding:30px 25px;gap:15px}.knowledge h2{font-size:34px}.world-links{grid-template-columns:1fr;gap:25px}.footer-top{grid-template-columns:1fr 1fr;gap:25px}.footer-top>div:first-child{grid-column:1/-1}.footer-top>div:first-child p{font-size:15px}.footer-bottom{font-size:10px}.page-heading h1{font-size:43px}.recipe-columns{grid-template-columns:1fr;gap:0}.directory{grid-template-columns:1fr 1fr}.article p,.article li{font-size:15px}}
@media(max-width:480px){.recipe-grid{grid-template-columns:1fr}.hero h1{font-size:57px}.site-header nav{gap:15px;width:100%;justify-content:space-between}.hero-visual{padding-top:0}.section-heading{display:block}.section-heading>.arrow-link{display:inline-block;margin-top:15px}.directory{grid-template-columns:1fr}.hero-actions .quiet-link{font-size:12px}.hero-actions{gap:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media print{.site-header,.site-footer,.tags,.print-button,.breadcrumbs{display:none}body{background:white;color:black}.wrap{width:100%}.article figure img{max-height:220px;object-fit:contain}.recipe-columns{grid-template-columns:1fr 2fr}.article{padding:0}h1{font-size:32px}.article h2{font-size:24px}a{text-decoration:none}}
.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}

/* Typographic archive cards until a matching recipe photograph is available. */
.archive-card-title{display:flex;align-items:center;justify-content:center;min-height:250px;width:100%;padding:2rem 1.5rem 3.5rem;background:#f4e9d6;color:#234b3b;font-family:Georgia,serif;font-size:clamp(1.5rem,3vw,2.2rem);line-height:1.2;text-align:center}
/* One lightweight transparent atlas for eight glossy 3D navigation assets. */
.ice-icon{display:inline-block;flex:0 0 56px;width:56px;height:56px;background-image:url('/assets/icons-3d-v1.webp');background-repeat:no-repeat;background-size:400% 200%;vertical-align:middle}.ice-icon-cone{background-position:0 0}.ice-icon-sorbet{background-position:33.333333% 0}.ice-icon-shake{background-position:66.666667% 0}.ice-icon-berry{background-position:100% 0}.ice-icon-tree{background-position:0 100%}.ice-icon-cake{background-position:33.333333% 100%}.ice-icon-carrot{background-position:66.666667% 100%}.ice-icon-nut{background-position:100% 100%}.brand .ice-icon{width:64px;height:64px;flex-basis:64px}.site-header nav{gap:12px;flex-wrap:wrap;justify-content:flex-end}.site-header nav a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:8px 12px;border-radius:8px}.site-header nav a:hover{background:var(--mint)}.hub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.hub-grid>a{display:flex;align-items:center;gap:14px;border:1px solid var(--line);border-radius:12px;padding:18px 14px;background:#fffdf7;text-decoration:none;min-height:112px}.hub-grid>a>span:nth-child(2){flex:1;min-width:0}.hub-grid strong{display:block;font-family:Georgia,serif;font-size:23px;font-weight:400;line-height:1.25}.hub-grid small{display:block;font-size:12px;line-height:1.6;color:var(--muted);margin-top:5px}.hub-grid>a:hover,.directory-button:hover{background:var(--mint);border-color:#afc0a9}.category-section{padding-bottom:0}.directory{display:block;margin-top:30px}.directory section{border:0;padding:0}.directory-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.directory .directory-button{display:flex;align-items:center;gap:12px;padding:16px;margin:0;min-height:60px;border:1px solid var(--line);border-radius:8px;text-decoration:none;background:#fffdf7}.directory-button>span:not(.ice-icon):first-of-type,.directory-button>span:nth-last-child(2){flex:1}.directory-button strong{display:block;font-size:15px;font-weight:600;line-height:1.45}.directory-button small{display:block;font-size:12px;color:var(--muted);margin-top:6px;line-height:1.65}.pagination{display:flex;gap:8px;align-items:center;justify-content:center;flex-wrap:wrap;margin-top:36px}.pagination a,.pagination>span{display:inline-flex;align-items:center;justify-content:center;min-width:48px;min-height:48px;padding:10px 14px;border:1px solid var(--line);border-radius:8px;text-decoration:none;font-size:14px}.pagination [aria-current]{background:var(--green);color:white}.pagination a:hover{background:var(--mint)}.result-count{font-size:13px;color:var(--muted);margin:24px 0}.index-heading{margin:45px 0 20px}.index-note{margin-top:35px;max-width:800px}.index-note p{font-size:14px}.source-link,.back-link{display:inline-flex;align-items:center;min-height:48px;margin-right:18px;font-size:13px}.name-story{background:var(--mint);border-radius:10px;padding:24px;margin:32px 0}.name-story h2{margin:12px 0 20px}.name-story .button{margin-top:12px}.tags a{display:inline-flex;align-items:center;min-height:44px;padding:9px 16px;border-radius:8px}.flavour-band a{display:inline-flex;align-items:center;min-height:44px;padding:6px 12px;border:1px solid #d3daca;border-radius:8px;background:#faf7ef}.flavour-band>.wrap{gap:12px}.flavour-band span{margin-right:6px}.article nav ul{padding:0;list-style:none;display:grid;gap:8px}.article nav li{padding:0}.article nav li>a{display:flex;align-items:center;min-height:48px;padding:10px 14px;border:1px solid #c9d5c3;border-radius:6px;text-decoration:none;background:#faf7ef}.article ul li>a{display:inline-flex;align-items:center;min-height:44px}.footer-top>div>a:not(.brand){display:flex;align-items:center;min-height:44px;margin:0}.footer-bottom a,.footer-bottom button{display:inline-flex;align-items:center;min-height:44px}.footer-bottom>div{gap:16px}.recipe-card .arrow-link{min-height:48px}.recipe-card h3{overflow-wrap:anywhere}.index-note a{overflow-wrap:anywhere}
@media(max-width:1000px){.site-header{height:auto;padding-block:20px}.site-header nav{gap:6px}.site-header nav a{font-size:12px;padding-inline:9px}.hub-grid,.directory-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.site-header{gap:12px}.site-header nav{justify-content:start;width:100%;gap:6px}.site-header nav a{font-size:13px;flex:1 0 auto;border:1px solid var(--line);min-height:48px}.nav-index{border-radius:8px}.hub-grid{grid-template-columns:1fr 1fr;gap:12px}.hub-grid>a{flex-wrap:wrap;padding:14px;gap:10px}.hub-grid strong{font-size:21px}.hub-grid .ice-icon{flex-basis:48px;width:48px;height:48px}.directory-links{grid-template-columns:1fr 1fr}.name-story{padding:20px}.flavour-band>.wrap{gap:10px}.flavour-band a{font-size:12px}}
@media(max-width:480px){.hub-grid,.directory-links{grid-template-columns:1fr}.hub-grid>a{flex-wrap:nowrap;min-height:98px}.hub-grid .ice-icon{width:64px;height:64px;flex-basis:64px}.site-header nav a{flex:1 0 27%}.directory .directory-button{padding:16px;min-height:64px}.pagination a,.pagination>span{padding:8px 12px}.search-form button{padding-inline:14px}.brand .ice-icon{height:60px;width:60px;flex-basis:60px}}
/* Keep the neighbouring carrot leaf outside the hazelnut sprite viewport. */
.ice-icon-nut{clip-path:inset(0 0 0 14%)}

/* Individual, semantically matched ingredient renders; no generic fruit fallback. */
.ice-icon.ingredient-icon{background:none;object-fit:contain}

/* Internal navigation uses a fine horizontal arrow; large choices get stronger labels. */
.link-arrow{display:inline-block;width:24px;height:24px;flex:0 0 24px;vertical-align:middle}
.hub-grid strong{font-size:25px;font-weight:600;line-height:1.25}
.directory-button strong{font-size:16px;font-weight:600;line-height:1.45}
.arrow-link{display:inline-flex;align-items:center;gap:10px}
.flavour-band a{gap:6px}
.world-links strong{display:flex;align-items:center;justify-content:space-between;gap:12px}
.site-header nav a{font-size:15px;font-weight:600}
@media(max-width:1000px){.site-header nav a{font-size:14px}}
@media(max-width:760px){.hub-grid strong{font-size:23px}.site-header nav a{font-size:14px}}

/* System theme by default; manual choice stays in the browser. */
.mode-bar{display:flex;justify-content:flex-end;padding-top:4px;margin-bottom:-12px}
.mode-toggle{font:11px/1.3 Arial,sans-serif;color:var(--muted);border:0;background:transparent;cursor:pointer;min-height:36px;padding:6px 8px}
.mode-dark{display:none}html[data-theme=dark] .mode-dark{display:inline}html[data-theme=dark] .mode-light{display:none}
.search-form{align-items:stretch}.search-form input,.search-form button{height:54px;min-height:54px;line-height:1.4;margin:0;box-sizing:border-box}.search-form button{display:inline-flex;align-items:center;justify-content:center;padding-block:0}
.breadcrumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:0 8px;list-style:none;margin:0;padding:0}.breadcrumbs li{display:flex;align-items:center;gap:8px;min-width:0;overflow-wrap:anywhere}.breadcrumbs li+li:before{content:'›';color:var(--muted)}.breadcrumbs a{display:inline-flex;align-items:center;min-height:44px}.breadcrumbs [aria-current]{padding-block:10px}
html[data-theme=dark]{color-scheme:dark;--cream:#241812;--green:#f1dcc2;--muted:#c8b39f;--pink:#dca68b;--line:#614939;--mint:#3a291f}
html[data-theme=dark] body{background:var(--cream);color:var(--green)}
html[data-theme=dark] .hub-grid>a,html[data-theme=dark] .directory .directory-button,html[data-theme=dark] .search-form input,html[data-theme=dark] .article nav li>a,html[data-theme=dark] .flavour-band a{background:#302118;color:var(--green);border-color:var(--line)}
html[data-theme=dark] .hub-grid>a:hover,html[data-theme=dark] .directory .directory-button:hover{background:var(--mint)}
html[data-theme=dark] .site-footer,html[data-theme=dark] pre,html[data-theme=dark] .archive-card-title{background:#302118;color:var(--green)}
html[data-theme=dark] .button,html[data-theme=dark] .pagination [aria-current],html[data-theme=dark] .skip-link{background:#e4bf94;color:#2b1a11}
html[data-theme=dark] .button.light{background:#493224;color:#f1dcc2}
html[data-theme=dark] .article p,html[data-theme=dark] .article li,html[data-theme=dark] .card-copy>p:not(.eyebrow){color:#d7c3ad}
html[data-theme=dark] .knowledge{background:#493224;color:#f1dcc2}html[data-theme=dark] .knowledge p:not(.eyebrow),html[data-theme=dark] .knowledge-list span{color:#d7c3ad}
html[data-theme=dark] .footer-bottom{border-color:var(--line)}html[data-theme=dark] .hero-sticker{background:#e4bf94;color:#302118}
@media(prefers-color-scheme:dark){html:not([data-theme]){color-scheme:dark;--cream:#241812;--green:#f1dcc2;--muted:#c8b39f;--line:#614939;--mint:#3a291f}html:not([data-theme]) .mode-dark{display:inline}html:not([data-theme]) .mode-light{display:none}}
@media print{.mode-bar{display:none}html[data-theme=dark]{--cream:white;--green:black;--muted:#333;--line:#ccc;--mint:#eee}html[data-theme=dark] body,html[data-theme=dark] .article p,html[data-theme=dark] .article li{background:white;color:black}}

.breadcrumbs+.section{padding-top:20px}html[data-theme=dark] input::placeholder{color:#bda58f;opacity:1}
html[data-theme=dark] .flavour-band{background:#302118}html[data-theme=dark] .photo-note{background:#302118e8}html[data-theme=dark] .hero-description{color:#d7c3ad}html[data-theme=dark] .button:hover{background:#f1d1a5;color:#2b1a11}

/* Actual reader votes: generous targets, both colour schemes, no preset scores. */
.recipe-rating{margin:1.25rem 0 1.75rem;padding:1rem 0;border-block:1px solid var(--line,#dcdcd1)}
.rating-summary{margin:0 0 .4rem;font-size:1rem}.rating-stars{display:flex;gap:.25rem;width:max-content;max-width:100%}
.rating-stars button{display:grid;place-items:center;min-width:44px;min-height:44px;padding:.35rem;background:transparent;border:1px solid transparent;border-radius:.5rem;color:inherit;cursor:pointer}
.rating-stars svg{width:30px;height:30px;fill:transparent;stroke:currentColor;stroke-width:1.4}
.rating-stars button.is-selected svg,.rating-stars button:hover svg{fill:#d5a44e;stroke:#8b621e}
.rating-stars button:focus-visible{outline:2px solid currentColor;outline-offset:2px}.rating-stars button:disabled{cursor:default;opacity:.65}
.rating-help{font-size:.85rem;max-width:48rem;margin:.4rem 0}.rating-feedback{font-size:.95rem;margin:.4rem 0 0}.rating-feedback:empty{display:none}
