@font-face{font-family:'DM Sans';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/dm-sans-normal-400.woff2') format('woff2')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/dm-sans-normal-500.woff2') format('woff2')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/dm-sans-normal-600.woff2') format('woff2')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/dm-sans-normal-700.woff2') format('woff2')}
@font-face{font-family:'DM Serif Display';font-style:italic;font-weight:400;font-display:swap;src:url('/assets/fonts/dm-serif-display-italic-400.woff2') format('woff2')}
@font-face{font-family:'DM Serif Display';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/dm-serif-display-normal-400.woff2') format('woff2')}
:root{--ink:#192f42;--blue:#e8eff4;--red:#a83e2e;--paper:#fffdf8;--line:#cfdae2}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-underline-offset:5px}a:focus-visible{outline:3px solid #a83e2e;outline-offset:5px}.skip{position:absolute;left:12px;top:-100px;z-index:20;background:white;padding:10px}.skip:focus{top:10px}.topline{background:var(--ink);color:white;padding:9px 5%;font-size:.875rem;letter-spacing:.03em;display:flex;justify-content:space-between}header{max-width:1440px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:20px 5%}.brand{display:flex;align-items:center;gap:14px;text-decoration:none}.brand img{object-fit:contain;border-radius:50%}.brand span{font-family:'DM Serif Display',Georgia,serif;font-size:1.4rem;line-height:1.12}.brand small{display:block;margin-top:9px;font:600 .75rem 'DM Sans',sans-serif}nav{display:flex;gap:28px;font-size:.9rem;font-weight:600}nav a{text-decoration:none}.button{display:inline-flex;justify-content:center;gap:24px;align-items:center;background:var(--ink);color:white;text-decoration:none;padding:16px 24px;border-radius:6px;font-weight:600;line-height:1.4;transition:background .2s}.button:hover{background:#345a72}.button.small{font-size:.9rem;padding:13px 21px}.hero{max-width:1440px;margin:auto;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:45px 5% 75px;gap:55px}.eyebrow{font-size:.875rem;font-weight:700;letter-spacing:.15em;margin:0 0 20px}.hero h1{font-family:'DM Serif Display',Georgia,serif;font-weight:400;font-size:clamp(3.5rem,6.1vw,6rem);line-height:1.035;letter-spacing:-.035em;margin:0 0 28px}em{color:var(--red);font-weight:400}.intro{max-width:460px;font-size:1.13rem;line-height:1.75}.actions{display:flex;align-items:center;gap:24px;margin-top:30px;flex-wrap:wrap}.text-link{font-size:.94rem;font-weight:600}.hero-note{font-size:.875rem;margin-top:22px;color:#526474}.hero-art{position:relative;min-width:0}.hero-art>img{display:block;width:100%;height:560px;object-fit:cover;border-radius:46% 46% 12px 12px}.photo-note{position:absolute;bottom:-20px;right:-12px;padding:19px 28px;background:#fff;box-shadow:0 9px 30px #192f4212;transform:rotate(-4deg);font-size:.875rem;line-height:1.6;border:1px solid #e1e4e5}.photo-note em{font-family:'DM Serif Display',serif;font-size:1.15rem}.ribbon{display:flex;justify-content:center;gap:3%;align-items:center;background:var(--blue);padding:24px 5%;font-size:.875rem;font-weight:700;letter-spacing:.09em;flex-wrap:wrap}.ribbon span:nth-child(even){font-size:1.4rem;color:var(--red)}.section{padding:90px 5%;max-width:1440px;margin:auto}.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:42px}.section-heading>p{max-width:375px;margin-bottom:8px;color:#526474}h2{font-family:'DM Serif Display',Georgia,serif;font-size:clamp(2.35rem,3.7vw,3.8rem);font-weight:400;line-height:1.12;letter-spacing:-.025em;margin:0 0 24px}h3{font-family:'DM Serif Display',Georgia,serif;font-size:1.75rem;font-weight:400;line-height:1.25;margin:20px 0 15px}.visit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.visit-grid article{border-top:1px solid var(--line);padding:25px 0}.number{font-size:.875rem;color:var(--red);letter-spacing:.09em;font-weight:700}.visit-grid p{color:#526474;margin-bottom:24px}.visit-grid a{font-size:.9rem;font-weight:700}.about{background:var(--blue);display:grid;grid-template-columns:1fr 1.05fr;align-items:center;gap:8%;border-radius:12px;max-width:1296px;padding:60px 6%;margin-bottom:35px}.about-art img{width:100%;height:410px;object-fit:cover;border-radius:8px;display:block}.caption{font-size:.875rem;display:block;margin-top:12px;color:#526474}.about p:not(.eyebrow){color:#415465}.about .text-link{display:inline-block;margin-top:15px}.contact{display:grid;grid-template-columns:1.2fr 1fr;gap:10%;align-items:center}.contact p:not(.eyebrow){max-width:510px;color:#526474}.contact .contact-note{font-size:.875rem}.contact-box{padding:36px;border:1px solid var(--line);border-radius:8px;background:white;min-width:0}.contact-box h3{font-size:2rem;margin-top:0}.contact-box>a{display:block}.contact-box .phone{font-size:1.7rem;text-decoration:none;font-weight:600}.contact-box .email{font-size:.9rem;overflow-wrap:anywhere;margin:8px 0 25px}.contact-box .button{display:flex}.contact-box .text-link{margin-top:20px;text-align:center}footer{padding:35px 5%;background:var(--ink);color:white;display:flex;justify-content:space-between;gap:25px}footer strong{font-family:'DM Serif Display',serif;font-size:1.35rem;font-weight:400}footer span{display:block;font-size:.875rem;opacity:.8;margin-top:4px}footer p{font-size:.875rem;margin:0;text-align:right;opacity:.8}@media(min-width:1440px){.topline,footer{padding-left:calc((100vw - 1296px)/2);padding-right:calc((100vw - 1296px)/2)}}@media(max-width:1000px){nav{gap:15px}.brand span{font-size:1.1rem}.hero-art>img{height:470px}.hero h1{font-size:4rem}.hero{gap:30px}.about{border-radius:0}.contact{gap:5%}.contact-box{padding:25px}.ribbon{gap:16px;font-size:.875rem}}@media(max-width:700px){.topline{justify-content:center}.topline span{display:none}header{gap:12px;padding:15px 5%;flex-wrap:wrap}.brand img{width:54px;height:54px}.brand span{font-size:1.05rem}.brand{gap:8px}header>.button{font-size:.875rem;padding:11px 14px}nav{order:3;width:100%;justify-content:center;border-top:1px solid var(--line);padding-top:13px;gap:25px;font-size:.875rem}.hero{grid-template-columns:1fr;padding-top:28px;padding-bottom:60px}.hero h1{font-size:clamp(3.3rem,12.8vw,5rem)}.intro{font-size:1rem}.eyebrow{font-size:.875rem;margin-bottom:17px}.hero-art{margin:15px 3% 0}.hero-art>img{height:430px}.photo-note{right:-5px}.ribbon{gap:14px;padding:20px 4%}.ribbon span:nth-child(even){display:none}.section{padding:58px 6%}.section-heading{display:block;margin-bottom:25px}.section-heading>p{max-width:none}.visit-grid{grid-template-columns:1fr;gap:8px}.visit-grid article{padding:25px 0}.visit-grid h3{margin-top:13px}.about{grid-template-columns:1fr;gap:25px}.about-art img{height:350px}.contact{grid-template-columns:1fr;gap:25px}.contact-box{padding:25px 20px}footer{flex-direction:column}footer p{text-align:left}.actions{gap:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.hero-art{background:white;border:1px solid #d9e0e4;border-radius:46% 46% 12px 12px;padding:25px 20px 40px}.hero-art>img{object-fit:contain;border-radius:0}.about{padding-top:75px;padding-bottom:75px}

.herd-section{display:grid;grid-template-columns:1fr 1.1fr;gap:9%;align-items:start}.herd-intro>p:not(.eyebrow){max-width:440px;color:#526474}.herd-intro .text-link{display:inline-block;margin-top:16px}.herd-stories article{border-top:1px solid var(--line);padding:24px 0}.herd-stories article:last-child{padding-bottom:0}.herd-stories h3{margin:12px 0}.herd-stories p{color:#526474;margin:0}nav{flex-wrap:wrap}@media(max-width:1000px){header{flex-wrap:wrap}header nav{order:3;width:100%;justify-content:center}.herd-section{gap:5%}}@media(max-width:700px){.herd-section{grid-template-columns:1fr;gap:30px}.herd-intro>p:not(.eyebrow){max-width:none}nav{column-gap:20px;row-gap:12px}}

.farm-made{background:var(--blue);border-radius:12px;max-width:1296px}.farm-made .visit-grid article{border-color:#b6c6d1}.farm-made-footer{border-top:1px solid #b6c6d1;padding-top:24px;display:flex;justify-content:space-between;gap:24px;align-items:center}.farm-made-footer p{margin:0;color:#415465;max-width:640px}.farm-made-footer a{flex-shrink:0}@media(max-width:700px){.farm-made{border-radius:0}.farm-made-footer{align-items:start;flex-direction:column}.farm-made-footer a{flex-shrink:1}}

.ribbon{gap:12px 22px}.ribbon>a{text-decoration:none;white-space:nowrap}.ribbon>a:hover{text-decoration:underline}.ribbon>span{white-space:nowrap}.farm-made .visit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:700px){.farm-made .visit-grid{grid-template-columns:1fr}.ribbon{column-gap:20px;row-gap:12px}}

.hero-art{padding:0;border:0;background:transparent}.hero-art>img{height:auto;aspect-ratio:3/4;object-fit:cover;border-radius:46% 46% 12px 12px}.herd-photo{margin:30px 0 0;max-width:400px}.herd-photo img{display:block;width:100%;height:auto;border-radius:10px}.herd-photo figcaption,.market-photo figcaption{font-size:.875rem;color:#526474;margin-top:10px}.farm-made .section-heading{align-items:center;display:grid;grid-template-columns:1fr 1fr;gap:40px}.farm-made .section-heading p{max-width:470px;color:#415465}.market-photo{margin:0}.market-photo img{display:block;width:100%;height:auto;border-radius:10px}@media(max-width:700px){.hero-art>img{height:auto}.farm-made .section-heading{grid-template-columns:1fr;gap:25px}.herd-photo{max-width:none}.photo-note{right:-8px}}

.hero-art>img{aspect-ratio:1;object-fit:cover;border-radius:42% 42% 12px 12px}.family-visit-photo{max-width:1080px;margin:0 auto 80px;padding:0 5%}.family-visit-photo img{display:block;width:100%;height:auto;border-radius:12px}.family-visit-photo figcaption{font-size:.875rem;color:#526474;margin-top:12px}.review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;margin-bottom:28px}.review-grid>figure{margin:0;padding:30px;border:1px solid var(--line);border-radius:10px;background:white;display:flex;flex-direction:column;justify-content:space-between}.review-grid blockquote{margin:0 0 25px;font-family:'DM Serif Display',Georgia,serif;font-size:1.35rem;line-height:1.6}.review-grid blockquote p:first-child{margin-top:0}.review-grid blockquote p:last-child{margin-bottom:0}.review-grid figcaption{border-top:1px solid var(--line);padding-top:20px}.review-grid figcaption strong{display:block;font-size:1rem}.review-grid figcaption span{display:block;font-size:.875rem;margin-top:4px;color:#526474}@media(max-width:700px){.family-visit-photo{margin-bottom:50px}.review-grid{grid-template-columns:1fr}.review-grid>figure{padding:24px}.review-grid blockquote{font-size:1.2rem}}

.visit-collage{max-width:1296px;margin:0 auto;padding:0 5%}.collage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.collage-grid img{display:block;width:100%;height:320px;object-fit:cover;border-radius:12px}.collage-grid .collage-wide{grid-column:span 2}.collage-grid .feeding-photo{object-position:center 65%}.visit-collage>figcaption{font-size:.875rem;color:#526474;margin-top:14px}.reviews{padding-top:60px}.review-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.review-grid>figure{padding:25px}.review-grid blockquote{font-size:1.15rem}.herd-photo{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:none}.herd-photo img{height:auto;aspect-ratio:3/4;object-fit:cover}.herd-photo figcaption{grid-column:1/-1;margin-top:0}.produce-photo{width:100%;height:260px;object-fit:cover;object-position:center 48%;border-radius:10px;margin:4px 0 12px}@media(max-width:900px){.collage-grid img{height:240px}.review-grid{grid-template-columns:1fr}.review-grid blockquote{font-size:1.2rem}}@media(max-width:700px){.collage-grid{grid-template-columns:1fr 1fr;gap:10px}.collage-grid img{height:auto;aspect-ratio:1;object-fit:cover}.collage-grid .collage-wide{grid-column:span 2;aspect-ratio:16/9}.collage-grid img:nth-child(2){grid-row:3;grid-column:1}.collage-grid img:nth-child(4){grid-row:3;grid-column:2}.visit-collage{padding:0 6%}.reviews{padding-top:45px}.herd-photo{gap:10px}.produce-photo{height:240px}}

.farm-faq{padding-top:65px;padding-bottom:30px}.farm-faq details{border-top:1px solid var(--line);padding:20px 0}.farm-faq details:last-child{border-bottom:1px solid var(--line)}.farm-faq summary{font-weight:600;cursor:pointer;font-size:1.05rem}.farm-faq details p{max-width:900px;color:#526474;margin-bottom:0}.farm-faq summary:focus-visible{outline:3px solid var(--red);outline-offset:6px}

/* Topic pages and accessible navigation for the farm's services. */
header{flex-wrap:wrap}header nav{flex-wrap:wrap;gap:12px 22px}.topic-hero{padding-top:25px;padding-bottom:40px}.breadcrumbs{display:flex;flex-wrap:wrap;gap:12px;font-size:14px;margin-bottom:35px}.topic-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}.topic-hero h1{font-family:'DM Serif Display',Georgia,serif;font-weight:400;font-size:clamp(2.5rem,4.5vw,4.6rem);line-height:1.1;letter-spacing:-.025em;margin:0 0 25px}.topic-hero .intro{max-width:600px}.topic-hero figure{margin:0;min-width:0}.topic-hero img{display:block;width:100%;height:auto;max-height:520px;object-fit:cover;border-radius:18px}.topic-hero figcaption{font-size:14px;color:#526474;margin-top:10px}.topic-copy{max-width:950px;padding-top:30px;padding-bottom:25px}.topic-copy section{margin-bottom:45px}.topic-copy h2{font-size:clamp(1.9rem,3vw,2.7rem)}.topic-copy p,.topic-copy li{font-size:17px;line-height:1.8}.topic-copy li{margin-bottom:12px}.topic-copy a{font-weight:600}.related-topics{padding-top:35px;padding-bottom:45px;border-top:1px solid var(--line)}.related-topics h2{font-size:2rem}.related-topics nav{display:flex;flex-wrap:wrap;gap:15px 25px}.related-topics a,.footer-topics a{text-decoration:underline}.footer-topics{display:flex;flex-direction:column;gap:8px}.topic-guide{border-top:1px solid var(--line)}
@media(max-width:700px){header nav{display:flex!important;order:3;width:100%;gap:4px 18px}header nav a{display:inline-flex;align-items:center;min-height:44px;font-size:14px}.topic-hero-grid{grid-template-columns:1fr;gap:28px}.topic-hero{padding-top:20px}.topic-hero h1{font-size:2.65rem}.topic-hero .eyebrow{font-size:12px}.topic-copy p,.topic-copy li{font-size:16px}.footer-topics{display:flex!important}.breadcrumbs{display:flex!important}.related-topics nav{display:flex!important}.topic-copy{padding-top:20px}footer{flex-wrap:wrap}}

.future-farm{background:var(--blue);border-radius:12px}.future-intro{max-width:740px}.future-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:30px 0}.future-grid article{background:var(--paper);border:1px solid var(--line);padding:30px;border-radius:10px}.season-label{font-size:13px;font-weight:700;letter-spacing:.06em;color:var(--red)}.future-note{font-size:14px;max-width:850px}.future-grid a{font-weight:600}.upcoming-events{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}.event-update{border:1px solid var(--line);border-radius:10px;padding:30px}.event-update h3{margin-top:14px}@media(max-width:700px){.future-grid,.upcoming-events{grid-template-columns:1fr;gap:22px}.future-grid article,.event-update{padding:24px}.future-farm{border-radius:0}}

.event-list{display:grid;gap:20px}.event-date{font-weight:700;color:var(--ink)}.past-event{background:var(--blue)}

/* Compact mobile navigation shared by every page. */
.mobile-menu{display:none}
@media(max-width:700px){
 header{position:relative;flex-wrap:nowrap;gap:12px;padding:14px 5%;border-bottom:1px solid var(--line)}
 header>.brand{min-width:0;flex:1;gap:9px}
 header>.brand img{width:48px;height:48px;flex-shrink:0}
 header>.brand span{font-size:1rem;line-height:1.2}
 header>.brand small{font-size:.65rem;letter-spacing:.1em;margin-top:5px}
 header>nav[aria-label="Main navigation"],header>.button{display:none!important}
 header>.mobile-menu{display:block;flex-shrink:0}
 .mobile-menu summary{display:flex;align-items:center;gap:8px;min-height:44px;padding:8px 10px;border:1px solid var(--line);border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:700;list-style:none}
 .mobile-menu summary::-webkit-details-marker{display:none}
 .mobile-menu summary:focus-visible{outline:3px solid var(--red);outline-offset:3px}
 .mobile-menu[open] summary{background:var(--blue)}
 header .mobile-menu nav{position:absolute;top:100%;left:0;right:0;z-index:30;display:grid!important;grid-template-columns:1fr;width:100%;margin:0;padding:12px 5% 18px;gap:0;background:var(--paper);border-top:0;border-bottom:1px solid var(--line);box-shadow:0 12px 20px #192f4214}
 header .mobile-menu nav a{display:flex;min-height:46px;padding:10px 12px;font-size:1rem;border-radius:5px}
 header .mobile-menu nav a:hover{background:var(--blue)}
 header .mobile-menu nav .button{margin-top:8px;justify-content:center;background:var(--ink);color:white}
}

.animal-intro{padding-bottom:28px}.animal-intro h1{font-family:'DM Serif Display',Georgia,serif;font-weight:400;font-size:clamp(2.8rem,6vw,5rem);line-height:1.1;margin:0 0 24px}.animal-intro>p{max-width:720px}.animal-jumps{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px;border:0;width:auto;padding:0;justify-content:flex-start}.animal-jumps a{padding:10px 16px;border:1px solid var(--line);border-radius:30px;font-size:1rem}.animal-group{padding-top:40px;padding-bottom:40px;scroll-margin-top:25px}.animal-group>p{max-width:800px;margin-bottom:30px}.animal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start}.animal-card{border:1px solid var(--line);background:white;border-radius:12px;overflow:hidden;scroll-margin-top:25px}.animal-card img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;display:block}.animal-card-copy{padding:26px}.animal-card .eyebrow{font-size:.75rem;letter-spacing:.06em;margin-bottom:8px}.animal-card h3{font-size:2rem;margin:0 0 15px}.animal-card a{display:block;font-size:.9rem;margin-top:16px}.animal-badge{display:inline-block;background:var(--blue);padding:5px 10px;border-radius:5px}.animal-visit{border-top:1px solid var(--line)}@media(max-width:900px){.animal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.animal-grid{grid-template-columns:1fr}.animal-card-copy{padding:24px}.animal-jumps{order:initial}.animal-group{padding-top:28px}.animal-intro{padding-bottom:15px}}

.herd-group-title{font-size:2rem;margin:40px 0 20px}.animal-card-copy h4{font-family:"DM Serif Display",serif;font-size:2rem;margin:8px 0 16px}.animal-card img.herd-photo{aspect-ratio:auto;height:auto;object-fit:contain}.animal-badge{margin:0 6px 8px 0}.herd-gallery{margin:18px 0}.herd-gallery summary{cursor:pointer;font-weight:600;padding:10px 0}.herd-gallery img{margin-top:12px}.animal-grid{align-items:start}

/* Mini Silky breed navigation: native keyboard and touch disclosure. */
.breed-dropdown{position:relative}.breed-dropdown summary{cursor:pointer;display:flex;align-items:center;gap:8px;min-height:44px;list-style:none;font-weight:600}.breed-dropdown summary::-webkit-details-marker{display:none}.breed-dropdown summary:after{content:"⌄"}.breed-dropdown[open] summary:after{content:"⌃"}.breed-dropdown summary:focus-visible{outline:3px solid var(--red);outline-offset:4px}.breed-dropdown-links{position:absolute;top:100%;left:0;min-width:225px;background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:8px;z-index:40;box-shadow:0 10px 25px #192f421a}.breed-dropdown-links a{display:flex;align-items:center;min-height:44px;padding:10px 12px;font-size:1rem}.breed-dropdown-links a:hover{background:var(--blue)}.breed-preview{padding:28px;border-radius:12px;background:var(--blue)}.breed-question{padding:18px 0;border-bottom:1px solid var(--line)}.breed-question summary{font-size:1.05rem;font-weight:600;cursor:pointer}.breed-question summary:focus-visible{outline:3px solid var(--red);outline-offset:4px}.breed-sources{border-top:1px solid var(--line);padding-top:25px}
@media(max-width:700px){header .mobile-menu nav .breed-dropdown summary{padding:10px 12px;min-height:46px;font-size:1rem}.mobile-menu .breed-dropdown-links{position:static;min-width:0;box-shadow:none;border:0;border-left:2px solid var(--line);margin:0 12px 8px;padding:0 0 0 10px}.breed-preview{padding:22px}}

/* Compact, aligned farm header. Switch to the touch menu before links wrap. */
header{max-width:1600px;flex-wrap:nowrap;gap:20px;padding:18px 4%;position:relative}
header>.brand{flex-shrink:0;gap:12px}header>.brand img{width:64px;height:64px}header>.brand span{font-size:1.3rem}
header>nav[aria-label="Main navigation"]{width:auto;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:18px;flex:1}
header>nav>a,header>nav .breed-dropdown>summary{display:flex;align-items:center;min-height:44px;font-size:.875rem;line-height:1.4;white-space:nowrap;margin:0}
header>.button{flex-shrink:0;white-space:nowrap}header .breed-dropdown-links{top:calc(100% + 8px)}
@media(min-width:1201px) and (max-width:1300px){header{gap:14px;padding-left:3%;padding-right:3%}header>nav[aria-label="Main navigation"]{gap:12px}header>.brand span{font-size:1.1rem}header>.brand img{width:54px;height:54px}header>.button{padding:12px 16px}}
@media(max-width:1200px){
 header{padding:14px 5%;gap:12px;border-bottom:1px solid var(--line)}
 header>.brand{min-width:0;flex:1;gap:9px}header>.brand img{width:48px;height:48px;flex-shrink:0}header>.brand span{font-size:1rem;line-height:1.2}header>.brand small{font-size:.65rem;letter-spacing:.1em;margin-top:5px}
 header>nav[aria-label="Main navigation"],header>.button{display:none!important}
 header>.mobile-menu{display:block;flex-shrink:0}
 .mobile-menu summary{display:flex;align-items:center;gap:8px;min-height:44px;padding:8px 10px;border:1px solid var(--line);border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:700;list-style:none}
 .mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu summary:focus-visible{outline:3px solid var(--red);outline-offset:3px}.mobile-menu[open]>summary{background:var(--blue)}
 header .mobile-menu nav{position:absolute;top:100%;left:0;right:0;z-index:50;display:grid!important;grid-template-columns:1fr;width:100%;margin:0;padding:12px 5% 18px;gap:0;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 12px 20px #192f4214;max-height:75vh;overflow-y:auto}
 header .mobile-menu nav a{display:flex;align-items:center;min-height:46px;padding:10px 12px;font-size:1rem;border-radius:5px}
 header .mobile-menu nav .breed-dropdown>summary{border:0;border-radius:5px;justify-content:space-between;padding:10px 12px;min-height:46px;font-size:1rem}
 header .mobile-menu .breed-dropdown-links{position:static;min-width:0;box-shadow:none;border:0;border-left:2px solid var(--line);margin:0 12px 8px;padding:0 0 0 10px}
 header .mobile-menu nav a:hover,header .mobile-menu nav .breed-dropdown>summary:hover{background:var(--blue)}
 header .mobile-menu nav .button{margin-top:8px;justify-content:center;background:var(--ink);color:white}
}

/* Real festival photos: consistent responsive cards, full photos on tap. */
.festival-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:28px 0 16px}.festival-gallery figure{margin:0;min-width:0}.festival-gallery a{display:block;border-radius:12px;overflow:hidden}.festival-gallery img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}.festival-gallery a:focus-visible{outline:3px solid #a64232;outline-offset:4px}.festival-gallery-note{font-size:.9rem}@media(max-width:900px){.festival-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}@media(max-width:380px){.festival-gallery{grid-template-columns:1fr}}

.event-photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:28px 0}.event-photo-pair figure{margin:0;min-width:0}.event-photo{display:block;width:100%;padding:0;border:0;border-radius:12px;overflow:hidden;cursor:zoom-in;background:transparent}.event-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}.event-photo:focus-visible{outline:3px solid #a64232;outline-offset:4px}.event-photo-viewer{width:min(1100px,96vw);max-width:96vw;max-height:94dvh;border:0;border-radius:14px;padding:16px;background:#192f42;color:#fff}.event-photo-viewer::backdrop{background:rgba(0,0,0,.85)}.viewer-close{display:block;margin-left:auto;padding:12px;border:0;border-radius:8px;cursor:pointer}.viewer-content{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:8px}.viewer-content figure{margin:12px 0;text-align:center}.viewer-content img{display:block;width:100%;height:70dvh;object-fit:contain}.viewer-content figcaption{font-size:.9rem;margin-top:12px}.viewer-prev,.viewer-next{font-size:32px;min-height:48px;border:0;border-radius:8px;cursor:pointer}@media(max-width:600px){.event-photo-pair{gap:12px}.event-photo img{aspect-ratio:4/5}.event-photo-viewer{padding:10px}.viewer-content{grid-template-columns:36px minmax(0,1fr) 36px;gap:4px}.viewer-content img{height:65dvh}}

/* Product photos in the home-page Farm Made section. */
.farm-made .farm-product-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:20px 0 22px}
.farm-made .farm-product-photos--single{grid-template-columns:minmax(0,1fr)}
.farm-made .farm-product-photo{margin:0;min-width:0}
.farm-made .farm-product-photos .event-photo img{width:100%;height:320px;aspect-ratio:auto;object-fit:cover}
.farm-made .farm-product-jars img{object-position:center 28%}
.farm-made .farm-product-nuts img{object-position:center 40%}
.farm-made .farm-product-simmer img{object-position:center 25%}
.farm-made .farm-product-photo figcaption{font-size:.875rem;line-height:1.5;color:#526474;margin-top:10px}
@media(max-width:700px){.farm-made .farm-product-photos{gap:12px}.farm-made .farm-product-photos .event-photo img{height:auto;aspect-ratio:3/4}.farm-made .farm-product-photos--single .event-photo img{aspect-ratio:4/3}}

/* Full-frame community market photo beside the event cards. */
.upcoming-events{align-items:start}
.event-market-photo{margin:26px 0 0;min-width:0}
.event-market-photo .event-photo img{height:auto;aspect-ratio:auto;object-fit:contain}
.event-market-photo figcaption{font-size:.875rem;line-height:1.6;color:#526474;margin-top:10px}

/* Planned on-site visits within the home-page 2027 section. */
.future-grid .onsite-visits-plan{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:30px;align-items:start}
.onsite-visits-plan h3{margin-top:14px}
.onsite-visits-plan>div>p:last-child{margin-bottom:0}
@media(max-width:700px){.future-grid .onsite-visits-plan{grid-template-columns:1fr;gap:12px}}
