/*
Theme Name: Ciardi
Theme URI: https://ciardidolcibonta.it/
Author: Ciardi
Description: Tema WordPress artigianale per Ciardi Dolci Bontà. Template PHP, HTML, CSS e JavaScript nativi, catalogo prodotti e fotografie originali.
Version: 2.0.0
Requires at least: 6.4
Tested up to: 7.1
Requires PHP: 8.0
Text Domain: ciardi
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

@font-face{font-family:'General Sans';src:url('assets/fonts/general-sans-regular.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'General Sans';src:url('assets/fonts/general-sans-medium.woff2') format('woff2');font-style:normal;font-weight:500 600;font-display:swap}
@font-face{font-family:'General Sans';src:url('assets/fonts/general-sans-bold.woff2') format('woff2');font-style:normal;font-weight:700 900;font-display:swap}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:1.5rem}
body{margin:0;background:var(--color-ground);color:var(--color-ink);font:400 var(--text-body)/1.55 var(--font-text);-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
::selection{background:var(--color-ink);color:var(--color-white)}
img{display:block;max-width:100%;height:auto}
figure,p,h1,h2,h3,h4,ul,ol,dl{margin:0}
button,input,textarea,select{font:inherit;color:inherit}
button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
button:disabled{cursor:wait}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--color-accent);outline-offset:5px}
button,input,textarea,select{border-radius:var(--radius-control)}
[hidden]{display:none!important}
h1,h2,h3{font-weight:700;text-wrap:balance;letter-spacing:-.04em;line-height:1.04}
h1{font-size:var(--text-display)}
h2{font-size:var(--text-heading)}
h3{font-size:var(--text-lead);line-height:1.15;letter-spacing:-.02em}
p{text-wrap:pretty;max-width:65ch}
svg{flex:none}
.frame{width:100%;max-width:1664px;margin-inline:auto;padding-inline:var(--space-gutter)}
.section-space{margin-block:var(--space-section)}
.lead{font-size:var(--text-lead);line-height:1.5;max-width:42ch}
.screen-reader-text,.skip-link:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link:focus{position:fixed;top:1rem;left:1rem;z-index:var(--z-skip);background:var(--color-ink);color:var(--color-white);padding:1rem}
.button{display:inline-flex;align-items:center;justify-content:center;gap:2rem;min-height:56px;padding:1rem 1.5rem;background:var(--color-ink);color:var(--color-white);border:0;border-radius:var(--radius-control);font-size:1rem;font-weight:500;line-height:1.3;transition:background var(--dur-fast),transform var(--dur-fast);width:fit-content;text-align:center}
.button:hover{background:var(--color-accent);transform:translateY(-2px)}
.button:active{transform:translateY(1px)}
.button-small{min-height:48px;padding:.8rem 1.2rem;gap:1.5rem}
.text-link{display:inline-block;font-weight:500;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:6px;padding-block:8px;transition:color var(--dur-fast)}
.text-link:hover{color:var(--color-accent)}
.site-header{background:var(--color-ground);position:relative;z-index:var(--z-header)}
.header-inner{height:118px;display:flex;align-items:center;justify-content:space-between;gap:2rem}
.brand{display:block;width:144px;flex:none}
.brand img{width:100%;height:auto;mix-blend-mode:multiply}
.main-navigation{display:flex;align-items:center;gap:clamp(2rem,6vw,7rem)}
.nav-links{list-style:none;display:flex;align-items:center;gap:2.5rem;padding:0}
.nav-links a{display:block;font-size:1rem;padding-block:12px;position:relative;transition:color var(--dur-fast)}
.nav-links a:hover,.nav-links a[aria-current=page]{color:var(--color-accent)}
.nav-links a::after{content:'';height:2px;position:absolute;bottom:5px;inset-inline:0;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform 300ms var(--ease-out)}
.nav-links a:hover::after,.nav-links a[aria-current=page]::after{transform:scaleX(1)}
.menu-toggle{display:none}
.hero{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center;padding-top:20px;padding-bottom:38px;min-height:calc(100svh - 118px);max-height:940px}
.hero-copy{padding-block:2rem;position:relative}
.hero h1{max-width:6.5em;line-height:.99;font-size:clamp(3.5rem,6.3vw,6rem)}
.hero-description{margin-top:2.5rem;font-size:var(--text-lead);max-width:35ch}
.hero-copy>.button{margin-top:2rem}
.hero-note{margin-top:5rem;font-size:var(--text-small);color:var(--color-muted)}
.hero-mosaic{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(3,minmax(0,1fr));gap:10px;aspect-ratio:1/1.04;width:100%;max-height:720px;min-height:0;overflow:hidden}
.mosaic-tile{overflow:hidden;background:var(--color-sky);min-width:0;min-height:0}
.mosaic-tile img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease-out)}
.mosaic-tile:hover img{transform:scale(1.045)}
.mosaic-main{grid-area:1/1/3/3}
.mosaic-main img{object-fit:cover;object-position:50% 50%;transform:scale(1.06)}
.mosaic-main:hover img{transform:scale(1.1)}
.mosaic-stack{grid-area:1/3/2/5}
.mosaic-stack img{object-fit:cover}
.mosaic-pack{grid-area:2/3/4/4}
.mosaic-cherry{grid-area:2/4/4/5}
.mosaic-cherry img{object-fit:cover;object-position:50% 50%}
.mosaic-family{grid-area:3/1/4/3}
.mosaic-family img{object-fit:cover}
.section-heading{display:flex;justify-content:space-between;gap:var(--space-gap);align-items:flex-end;margin-bottom:3rem}
.section-heading>.lead{width:44%}
.tasting-section{background:var(--color-sky);padding-block:5rem;margin-top:4rem}
.tasting-layout{display:grid;grid-template-columns:1fr 1.05fr;gap:4vw;align-items:center}
.tasting-copy>p{max-width:32ch;margin-top:2rem}
.flavour-list{display:flex;flex-direction:column;align-items:flex-start;margin-block:2rem;gap:.2rem}
.flavour-choice{font-size:clamp(1.4rem,2.1vw,2rem);font-weight:500;line-height:1.2;min-height:48px;display:flex;align-items:center;gap:1.5rem;color:var(--color-muted);transition:color 200ms,transform 350ms var(--ease-out);padding:8px 0}
.flavour-choice span{opacity:0;transform:translateX(-8px);transition:opacity 200ms,transform 350ms var(--ease-out)}
.flavour-choice:hover,.flavour-choice.is-active{color:var(--color-ink);transform:translateX(5px)}
.flavour-choice.is-active span,.flavour-choice:hover span{opacity:1;transform:none}
.tasting-panel{scroll-margin-top:2rem}
.tasting-panel+.tasting-panel{margin-top:3rem}
.is-enhanced .tasting-panel{display:none}
.is-enhanced .tasting-panel.is-active{display:block;margin-top:0}
.tasting-photo{width:100%;aspect-ratio:1.2;overflow:hidden}
.tasting-photo img{width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply}
.tasting-caption{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-top:1.8rem}
.tasting-caption p{margin-top:.5rem;font-size:1rem}
.round-link{width:52px;height:52px;display:flex;align-items:center;justify-content:center;background:var(--color-ink);color:var(--color-white);border-radius:50%;flex:none;transition:transform 200ms,background 200ms}
.round-link:hover{transform:rotate(-40deg);background:var(--color-accent)}
.story-grid{display:grid;grid-template-columns:1.18fr 1fr;gap:12px}
.story-photo{overflow:hidden}
.story-photo img{width:100%;height:100%;min-height:520px;object-fit:cover}
.story-text{background:var(--color-ink);color:var(--color-ground);padding:clamp(2rem,4vw,4rem);position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start}
.story-text p+p{margin-top:1.5rem}
.story-text p{max-width:38ch}
.story-text .text-link{margin-top:2rem;color:var(--color-ground)}
.story-year{font-size:clamp(5rem,11vw,11rem);font-weight:700;line-height:.85;letter-spacing:-.05em;margin-top:0;margin-bottom:2rem;align-self:flex-start}
.care-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:12px}
.care-title{background:var(--color-taupe);padding:clamp(2rem,4vw,4rem);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-height:390px}
.care-title h2{font-size:clamp(2.25rem,3.8vw,3.8rem)}
.care-title p{margin-top:1.75rem;max-width:30ch}
.care-title .text-link{margin-top:1.5rem}
.care-image{overflow:hidden}
.care-image img{width:100%;height:100%;object-fit:cover}
.care-statement{background:var(--color-sky);padding:clamp(2rem,4vw,4rem);font-size:clamp(1.5rem,2.5vw,2.25rem);line-height:1.25;font-weight:500;display:flex;align-items:center;min-height:270px}
.care-detail{background:var(--color-sky);height:310px;overflow:hidden}
.care-detail img{width:100%;height:100%;object-fit:cover;object-position:center 57%}
.catalogue-cta{display:grid;grid-template-columns:1.3fr 1fr;background:var(--color-sky);overflow:hidden;margin-top:var(--space-section)}
.catalogue-visual{align-self:stretch;overflow:hidden}
.catalogue-visual img{height:100%;width:100%;object-fit:cover;mix-blend-mode:multiply}
.catalogue-copy{padding:5rem max(var(--space-gutter),5vw) 5rem 3rem;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.catalogue-copy h2{font-size:clamp(2.25rem,4vw,4rem)}
.catalogue-copy>p:not(.download-note){margin-top:2rem;max-width:30ch}
.catalogue-copy .button{margin-top:2rem}
.download-note{font-size:var(--text-small);color:var(--color-muted);margin-top:.65rem}
.catalogue-copy>.text-link{margin-top:2rem}
.site-footer{background:var(--color-ink);color:var(--color-ground);padding-block:4.5rem 2rem;overflow:hidden}
.footer-top{display:grid;grid-template-columns:1.5fr 1fr .8fr;gap:3rem;align-items:start}
.footer-statement{font-size:clamp(1.9rem,3.1vw,3rem);line-height:1.08;font-weight:500;letter-spacing:-.03em}
.footer-contact,.footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:.6rem;font-size:1rem}
.footer-contact p{margin-top:1rem}
.footer-links a,.footer-contact a{padding-block:3px}
.site-footer a:hover{text-decoration:underline;text-underline-offset:5px}
.footer-bottom{display:flex;justify-content:space-between;gap:1.5rem;align-items:center;font-size:var(--text-small)}
.footer-bottom p span{display:inline-block;margin-left:1rem}
.back-top span{margin-left:.7rem}
.page-intro{padding-top:clamp(2.5rem,6vw,6rem);padding-bottom:clamp(3rem,6vw,6rem)}
.page-intro h1{max-width:14ch}
.page-intro>.lead{margin-top:2rem;max-width:45ch}
.intro-action{margin-top:1.75rem}
.catalogue-filter{display:flex;align-items:flex-end;gap:1.5rem;padding:1.8rem;background:var(--color-taupe)}
.search-field{flex:1.5}.select-field{flex:1}
label{display:block;font-size:1rem;font-weight:500;margin-bottom:.6rem}
input:not([type=checkbox],[type=hidden]),textarea,select{width:100%;background:var(--color-ground);border:1px solid var(--color-muted);padding:.9rem 1rem;min-height:54px;border-radius:var(--radius-control)}
textarea{resize:vertical;min-height:180px}
input::placeholder,textarea::placeholder{color:var(--color-muted);opacity:1}
.catalogue-filter input,.catalogue-filter select{border:0;background:var(--color-ground)}
.catalogue-section .filter-submit{min-width:110px}
.result-count{font-size:var(--text-small);padding-block:1.4rem;min-height:3.7rem;color:var(--color-muted)}
.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:16px;row-gap:3rem;padding-bottom:2rem}
.product-card{min-width:0}
.product-card a{display:block}
.product-card-photo{position:relative;aspect-ratio:1;overflow:hidden;background:var(--color-sky)}
.product-card-photo img{width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply;transition:transform 650ms var(--ease-out)}
.product-card a:hover .product-card-photo img{transform:scale(1.04)}
.product-card-caption{display:flex;gap:.5rem;align-items:baseline;justify-content:space-between;margin-top:1rem}
.product-card h2,.product-card h3{font-size:clamp(1.125rem,1.5vw,1.375rem);line-height:1.2;letter-spacing:-.025em}
.product-card-caption>span{font-size:var(--text-small);white-space:nowrap;color:var(--color-muted)}
.product-card p{font-size:1rem;line-height:1.45;margin-top:.5rem}
.product-card>a>h3{margin-top:1rem}
.product-open{position:absolute;right:14px;bottom:14px;width:40px;height:40px;background:var(--color-ground);display:flex;align-items:center;justify-content:center;border-radius:50%;transition:transform 250ms}
.product-card a:hover .product-open{transform:rotate(-35deg)}
.no-results{padding:3rem 0;max-width:none;min-height:240px}
.no-results a{text-decoration:underline;text-underline-offset:5px}
.breadcrumbs{display:flex;align-items:center;gap:.8rem;font-size:var(--text-small);margin-top:2rem;margin-bottom:1.5rem;flex-wrap:wrap}
.breadcrumbs>a{text-decoration:underline;text-underline-offset:4px}
.product-detail{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,6rem);align-items:center}
.product-main-photo{aspect-ratio:1;position:relative;overflow:hidden;background:var(--color-sky)}
.product-main-photo img{height:100%;width:100%;object-fit:contain;mix-blend-mode:multiply}
.product-main-photo img:not(.pack-photo){object-fit:cover}
.product-main-photo .pack-photo{display:none}
.gallery-enhanced .product-main-photo img{display:none}
.gallery-enhanced .product-main-photo img.is-active{display:block}
.gallery-options{display:none;justify-content:center;gap:.75rem;margin-top:1rem}
.gallery-enhanced .gallery-options{display:flex}
.gallery-options button{min-height:44px;padding:.6rem 1rem;background:var(--color-taupe);border:0;font-size:1rem;transition:background 200ms,color 200ms}
.gallery-options button[aria-pressed=true]{background:var(--color-ink);color:var(--color-white)}
.product-info h1{font-size:clamp(2.375rem,3.7vw,3.75rem);max-width:19ch}
.product-info>.lead{margin-top:1.7rem}
.product-info .prose{margin-top:1.5rem;font-size:var(--text-body)}
.product-facts{display:flex;gap:3rem;margin-top:2rem;margin-bottom:2rem}
.product-facts dt{color:var(--color-muted);font-size:var(--text-small)}
.product-facts dd{margin:0;font-weight:500}
.pairing-section,.documentation-section{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-gap)}
.pairing-section>div>p+p,.documentation-section>div>p+p{margin-top:1.5rem}
.product-note{font-size:var(--text-small);color:var(--color-muted)}
.related-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.story-wide{height:clamp(320px,44vw,650px);overflow:hidden}
.story-wide img{height:100%;width:100%;object-fit:cover;object-position:center 57%}
.history-section{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-gap)}
.history-section h2{max-width:12ch}
.history-copy>p+p{margin-top:1.8rem}
.history-photo{height:300px;overflow:hidden;margin-top:2.5rem;max-width:90%}
.history-photo img{width:100%;height:100%;object-fit:cover;object-position:center 20%}
.heritage-section{display:grid;grid-template-columns:1.05fr 1fr;gap:var(--space-gap);align-items:center}
.heritage-image img{width:100%;height:560px;object-fit:cover}
.heritage-copy p{margin-top:1.8rem;max-width:42ch}
.heritage-copy .button{margin-top:2rem}
.quality-section{display:grid;grid-template-columns:1.1fr 1fr;gap:var(--space-gap);align-items:center}
.quality-photo img{width:100%;height:520px;object-fit:cover}
.quality-copy p{margin-top:1.8rem;max-width:44ch}
.method-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-gap);align-items:center}
.method-grid>div:first-child{height:440px;overflow:hidden}
.method-grid img{width:100%;height:100%;object-fit:cover;object-position:center 20%}
.method-copy p+p{margin-top:1.5rem}
.method-copy .text-link{margin-top:1.5rem}
.documentation-section .button{margin-top:2rem}
.contact-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(3rem,8vw,9rem);padding-bottom:var(--space-section)}
.contact-details address{font-style:normal;margin-block:1.7rem}
.contact-link{display:block;font-size:var(--text-lead);font-weight:500;overflow-wrap:anywhere;padding-block:.3rem}
.contact-details>.text-link{margin-top:1.2rem}
.contact-photo{margin-top:2.5rem;background:var(--color-sky);overflow:hidden;aspect-ratio:1.8}
.contact-photo img{height:100%;width:100%;object-fit:cover;mix-blend-mode:multiply}
.contact-form{display:flex;flex-direction:column;gap:1.5rem;margin-top:2rem}
.contact-form label>span:not(.consent span){font-weight:400;font-size:var(--text-small)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.contact-trap{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden} /* taste-skill-ignore: offscreen honeypot, not a decorative line */
.consent{display:flex;align-items:flex-start;gap:.8rem;font-weight:400;font-size:1rem;line-height:1.5;cursor:pointer;max-width:60ch}
.consent input{width:20px;height:20px;min-width:20px;margin:2px 0 0;accent-color:var(--color-ink)}
.consent a{text-decoration:underline;text-underline-offset:3px}
.form-notice{padding:1.25rem;margin-top:1.5rem;background:var(--color-taupe)}
.form-notice.is-error{color:var(--color-error)}
.form-notice.is-success{color:var(--color-success)}
.prose{font-size:var(--text-lead)}
.prose p+p,.prose p+ul,.prose p+ol,.prose ul+p,.prose ol+p{margin-top:1.5rem}
.prose h2,.prose h3{margin-top:2.5rem;margin-bottom:1.2rem}
.prose a{text-decoration:underline;text-underline-offset:4px}
.prose ul,.prose ol{padding-left:1.3em}
.generic-content{max-width:760px;margin-inline:auto;padding-bottom:5rem}
.generic-page,.article-page{padding-bottom:var(--space-section)}
.generic-page .page-intro,.article-page .page-intro{padding-inline:0}
.article-page .page-intro h1{font-size:clamp(2.5rem,4.3vw,4.5rem);max-width:24ch}
.article-photo{max-height:700px;width:100%;object-fit:cover;margin-bottom:4rem}
.article-page .text-link{display:block;width:fit-content;margin-inline:auto}
.post-date{font-size:var(--text-small);margin-bottom:1rem}
.news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;margin-top:0;min-height:260px}
.news-card img{width:100%;aspect-ratio:1.5;object-fit:cover;margin-bottom:1.5rem}
.news-card h2{font-size:clamp(1.5rem,2vw,2rem)}
.news-card>div{margin-top:1.5rem}
.news-card>.text-link{margin-top:1rem}
.empty-news{grid-column:1/-1;padding:3rem;background:var(--color-sky)}
.empty-news h2{font-size:var(--text-heading);max-width:20ch}
.empty-news p{margin-block:1.5rem}
.pagination{margin-bottom:4rem}
.pagination .nav-links{justify-content:center}
.pagination .page-numbers{min-width:44px;padding:10px;text-align:center}
.pagination .current{background:var(--color-ink);color:var(--color-white)}
.not-found{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:3rem;padding-top:3rem;padding-bottom:6rem;min-height:650px}
.not-found h1{font-size:clamp(2.5rem,4.5vw,4.8rem)}
.not-found p{margin-top:2rem;max-width:40ch}
.not-found .button{margin-top:2rem}
.not-found .text-link{display:block;width:fit-content;margin-top:1rem}
.not-found>img{width:100%;height:500px;object-fit:cover}
.wp-caption,.wp-block-image{max-width:100%}
.alignwide{max-width:1200px}.alignfull{max-width:none}
@keyframes ciardi-rise{from{opacity:.55;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@keyframes ciardi-photo{from{transform:scale(1.06)}to{transform:scale(1)}}
@keyframes ciardi-shutter{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
.is-entering{animation:ciardi-rise var(--dur-reveal) var(--ease-out) both;animation-delay:var(--entrance-delay,0ms)}
.mosaic-tile.is-entering{animation-name:ciardi-photo;animation-duration:1.5s}
.image-shutter.is-entering{animation-name:ciardi-shutter;animation-duration:1.2s}
.tasting-panel.is-switching .tasting-photo img{animation:ciardi-photo 650ms var(--ease-out)}
@media(min-width:1664px){.hero{min-height:800px}.hero h1{font-size:6rem}}
@media(max-width:1100px){
  .header-inner{height:100px}.main-navigation{gap:2rem}.nav-links{gap:1.4rem}.brand{width:128px}
  .hero{min-height:650px;max-height:none;gap:1.5rem}.hero h1{font-size:clamp(3rem,6.3vw,4.5rem)}.hero-description{font-size:1.125rem}.hero-note{margin-top:3rem}
  .hero-mosaic{aspect-ratio:.8}.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .tasting-layout{gap:2rem}.tasting-photo{aspect-ratio:1}.story-photo img{min-height:480px}
  .footer-top{grid-template-columns:1.2fr 1fr;gap:2rem}.footer-links{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;gap:1rem 2rem}
  .catalogue-copy{padding:3rem 2rem}.catalogue-cta{grid-template-columns:1.1fr 1fr}
  .contact-layout{gap:3rem}.form-row{grid-template-columns:1fr;gap:1.5rem}
  .related-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:800px){
  .header-inner{height:90px}.brand{width:115px}.js-ready .menu-toggle{display:flex;align-items:center;gap:1rem;border:0;background:none;min-height:48px;padding:8px 0 8px 12px;font-size:1rem}
  .menu-symbol{width:25px;height:20px;position:relative;display:block}.menu-symbol i{position:absolute;left:0;right:0;top:5px;height:2px;background:var(--color-ink);transition:transform 250ms,top 250ms}.menu-symbol i+i{top:14px}
  .menu-toggle[aria-expanded=true] .menu-symbol i{top:10px;transform:rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-symbol i+i{transform:rotate(-45deg)}
  .js-ready .main-navigation{display:none;position:absolute;left:0;right:0;top:90px;background:var(--color-ground);padding:2rem var(--space-gutter) 3rem;min-height:calc(100svh - 90px);align-items:flex-start;justify-content:flex-start;gap:2rem;z-index:var(--z-menu)}
  .js-ready .main-navigation.is-open{display:flex;flex-direction:column}
  .js-ready .nav-links{flex-direction:column;align-items:flex-start;gap:.5rem;width:100%}.js-ready .nav-links a{font-size:clamp(1.8rem,5vw,3rem);font-weight:500}
  body:not(.js-ready) .header-inner{height:auto;min-height:90px;flex-wrap:wrap;padding-block:1rem}body:not(.js-ready) .main-navigation{width:100%;flex-wrap:wrap;margin-bottom:1rem}body:not(.js-ready) .nav-links{flex-wrap:wrap;gap:1rem}
  .hero{grid-template-columns:1fr;gap:2rem;padding-top:1rem;padding-bottom:0;min-height:0}.hero-copy{padding-block:1rem 0}.hero h1{font-size:clamp(3.5rem,9vw,5.5rem);max-width:7em}.hero-description{max-width:42ch;margin-top:2rem;font-size:1.125rem}.hero-copy>.button{margin-top:1.5rem}.hero-note{margin-top:2rem}
  .hero-mosaic{aspect-ratio:1.5;max-height:550px;grid-template-rows:repeat(2,minmax(0,1fr));gap:8px}.mosaic-main{grid-area:1/1/3/3}.mosaic-stack{grid-area:1/3/2/4}.mosaic-pack{grid-area:1/4/3/5}.mosaic-cherry{grid-area:2/3/3/4}.mosaic-family{display:none}
  .tasting-section{padding-block:4rem;margin-top:5rem}.tasting-layout{grid-template-columns:1fr 1fr;gap:1rem}.tasting-copy h2{font-size:2.5rem}.tasting-copy>p{font-size:1rem;max-width:25ch}.flavour-choice{font-size:1.3rem}.tasting-caption p{font-size:var(--text-small)}.tasting-caption{gap:.5rem;align-items:flex-start}.round-link{width:44px;height:44px}
  .section-heading{align-items:flex-start}.section-heading>.lead{font-size:1.125rem}.story-grid{grid-template-columns:1fr 1fr}.story-text{padding:2rem}.story-text p{font-size:1rem}.story-photo img{min-height:450px}.story-year{font-size:6rem}
  .care-title{padding:2rem;min-height:340px}.care-title h2{font-size:2.5rem}.care-statement{padding:2rem;min-height:230px}.care-detail{height:270px}
  .footer-bottom{flex-wrap:wrap}.footer-bottom>p{width:100%}
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5rem 12px}.product-card-caption{display:block}.product-card-caption>span{display:block;margin-top:.4rem}.product-card h2{font-size:1.375rem}
  .product-detail{grid-template-columns:1fr;gap:2.5rem}.product-gallery{max-width:600px;width:100%;margin-inline:auto}.product-main-photo{aspect-ratio:1.2}.product-info h1{font-size:clamp(2.375rem,6vw,3.75rem);max-width:21ch}.product-info>.lead{max-width:40ch}.product-facts{margin-block:1.5rem}.product-detail .prose{max-width:60ch}
  .related-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.related-grid h3{font-size:1.125rem}.related-grid p{font-size:var(--text-small)}
  .history-section,.pairing-section,.documentation-section{grid-template-columns:1fr;gap:2rem}.history-section h2{max-width:18ch}
  .heritage-section,.quality-section{gap:2rem}.heritage-image img{height:480px}.quality-photo img{height:480px}.heritage-copy h2,.quality-copy h2{font-size:2.5rem}.quality-copy p,.heritage-copy p{font-size:1rem}
  .contact-layout{grid-template-columns:1fr 1fr;gap:2rem}.contact-form-area h2,.contact-details h2{font-size:2.5rem}.contact-link{font-size:1.125rem}.contact-details address{font-size:1rem}
  .news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.not-found{gap:2rem}.not-found>img{height:360px}
}
@media(max-width:560px){
  .hero h1{font-size:clamp(3rem,12.4vw,4.25rem);max-width:7em}.hero-description{max-width:31ch;margin-top:1.5rem;font-size:1.0625rem}.hero-note{font-size:var(--text-small);margin-top:1.5rem}.hero-mosaic{aspect-ratio:1.13}.mosaic-main{grid-area:1/1/3/3}.mosaic-pack{grid-area:1/4/3/5}
  .section-heading{flex-direction:column;gap:1.5rem;margin-bottom:2rem}.section-heading>.lead{width:100%}.section-heading .lead br{display:none}
  .tasting-section{margin-top:4rem;padding-block:3rem}.tasting-layout{grid-template-columns:1fr;gap:2rem}.tasting-copy h2{font-size:var(--text-heading)}.tasting-copy>p{max-width:31ch;margin-top:1.5rem}.flavour-list{display:grid;grid-template-columns:1fr 1fr;gap:.4rem .7rem;margin-block:1.5rem}.flavour-choice{font-size:1.125rem;gap:.4rem}.flavour-choice:hover,.flavour-choice.is-active{transform:none}.flavour-choice.is-active{text-decoration:underline;text-underline-offset:5px}.flavour-choice span{font-size:1.2rem}.tasting-copy>.text-link{font-size:1rem}.tasting-photo{aspect-ratio:1.3}.tasting-caption{margin-top:1rem}.tasting-caption h3{font-size:1.25rem}.tasting-caption p{font-size:1rem}
  .story-grid{grid-template-columns:1fr}.story-photo img{height:280px;min-height:0}.story-text{padding:2rem 1.5rem}.story-year{align-self:flex-start;margin-top:0;font-size:6.5rem}.story-text p{font-size:var(--text-body)}
  .care-grid{grid-template-columns:1fr}.care-title{min-height:0;padding:2rem 1.5rem}.care-title h2{font-size:var(--text-heading)}.care-title p{margin-top:1.5rem}.care-image{height:250px}.care-statement{min-height:170px;font-size:1.5rem;padding:2rem 1.5rem}.care-detail{height:250px}
  .catalogue-cta{grid-template-columns:1fr}.catalogue-visual{height:270px}.catalogue-copy{padding:2.5rem var(--space-gutter) 3.5rem}.catalogue-copy h2{font-size:var(--text-heading)}.catalogue-copy>p:not(.download-note){margin-top:1.5rem}.catalogue-copy .button{margin-top:1.5rem}
  .site-footer{padding-top:3rem}.footer-top{grid-template-columns:1fr;gap:2rem}.footer-statement{font-size:2.4rem}.footer-links{grid-column:auto;display:grid;grid-template-columns:1fr 1fr;gap:.6rem 1rem;align-items:start}.footer-contact{gap:.4rem}.footer-contact p{margin-top:.7rem}.footer-bottom{font-size:.8125rem;gap:1.25rem}.footer-bottom p span{margin-left:0;display:block;margin-top:.4rem}
  .page-intro{padding-top:2.5rem;padding-bottom:3rem}.page-intro h1{font-size:clamp(2.8rem,10.8vw,3.6rem);max-width:15ch}.page-intro>.lead{margin-top:1.5rem;font-size:1.125rem}.page-intro .lead br{display:none}
  .catalogue-filter{flex-direction:column;align-items:stretch;gap:1.25rem;padding:1.25rem}.catalogue-filter input,.catalogue-filter select{font-size:1rem}.catalogue-filter label{font-size:.875rem}.product-grid{column-gap:12px;row-gap:2rem}.product-card-caption{margin-top:.8rem}.product-card h2,.product-card h3{font-size:1.125rem}.product-card p{font-size:.9375rem}.product-card-caption>span{font-size:.8125rem}.product-open{width:32px;height:32px;right:8px;bottom:8px}.product-open svg{width:16px}
  .product-main-photo{aspect-ratio:1}.product-info h1{font-size:clamp(2rem,8.7vw,2.75rem);max-width:19ch}.product-info .lead{font-size:1.125rem}.product-facts{gap:2rem}.breadcrumbs{margin-top:1rem}.product-detail{gap:2rem}.related-grid{grid-template-columns:1fr 1fr}.related-grid .product-card:last-child{display:none}.related-grid p{font-size:.9375rem}.pairing-section h2,.documentation-section h2{font-size:var(--text-heading)}
  .story-wide{height:300px}.history-copy p{font-size:var(--text-body)}.history-copy>.lead{font-size:1.25rem}.heritage-section,.quality-section,.method-grid{grid-template-columns:1fr}.heritage-image img,.quality-photo img{height:310px}.heritage-copy h2,.quality-copy h2{font-size:var(--text-heading)}.heritage-copy p,.quality-copy p{font-size:var(--text-body)}.method-grid>div:first-child{height:300px}.quality-method .section-heading{gap:1.5rem}
  .contact-layout{grid-template-columns:1fr;gap:3.5rem}.contact-details h2,.contact-form-area h2{font-size:var(--text-heading)}.contact-link{font-size:1.25rem}.contact-photo{max-height:230px}.contact-form{margin-top:1.5rem}.consent{font-size:.875rem}.contact-form label{font-size:.9375rem}.contact-form label>span:not(.consent span){font-size:.8125rem}.contact-form .button{width:100%}
  .news-grid{grid-template-columns:1fr;gap:3rem}.empty-news{padding:2rem 1.5rem}.empty-news h2{font-size:2rem}.generic-content{padding-bottom:0}.prose{font-size:1.125rem}.not-found{grid-template-columns:1fr;min-height:0;padding-top:2rem;padding-bottom:4rem}.not-found h1{font-size:2.3rem}.not-found>img{height:280px}.article-page .page-intro h1{font-size:2.25rem}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.is-entering{opacity:1;transform:none;clip-path:none}.mosaic-main img{transform:none}
}

@media(min-width:561px) and (max-width:800px){.care-title h2{font-size:2rem}}
@media(max-width:800px){
  .product-info{display:contents}
  .product-info>h1{grid-row:1}
  .product-gallery{grid-row:2}
  .product-info>.lead,.product-info .prose{margin-top:0}
  .product-info .product-facts{margin:0}
  .product-detail{gap:1.5rem}
  .contact-form .consent{font-size:1rem}
}
@media(max-width:560px){.history-photo{max-width:100%;height:250px;margin-top:1.8rem}}

.contact-intro{padding-bottom:5rem}
.quality-intro{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-gap);align-items:center}
.quality-intro .lead{margin-top:2rem}
.quality-intro h1{font-size:clamp(3rem,5vw,5rem);max-width:13ch}
.quality-intro-photo{height:500px;background:var(--color-sky);overflow:hidden}
.quality-intro-photo img{width:100%;height:100%;object-fit:cover}
@media(max-width:800px){.quality-intro{grid-template-columns:1fr}.quality-intro h1{font-size:clamp(2.8rem,8vw,4rem);max-width:14ch}.quality-intro-photo{height:380px}}
@media(max-width:560px){.quality-intro-photo{height:300px}.quality-intro .lead{margin-top:1.5rem}}
