:root{--ink:#332a23;--muted:#80766b;--paper:#f8f5ef;--gold:#b79b64;--line:#ddd5c8;--dark:#29231e}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Yu Gothic','Hiragino Kaku Gothic ProN',sans-serif;font-size:14px;line-height:1.9}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input,summary{outline-offset:5px}button{cursor:pointer}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:'Yu Mincho','Hiragino Mincho ProN',Georgia,serif;font-weight:400}h2{font-size:34px;letter-spacing:.12em;line-height:1.7}h3{font-size:17px;line-height:1.7}.announcement{height:35px;background:var(--dark);color:#eee5d7;padding:0 5%;display:flex;align-items:center;justify-content:center;font-size:11px;letter-spacing:.13em;position:relative}.announcement a{position:absolute;right:5%;font-size:10px;color:#cabfae}.masthead{max-width:1440px;margin:auto;min-height:105px;padding:18px 5%;display:flex;align-items:center;gap:34px}.brand img{width:195px;height:69px;object-fit:contain}.tagline{font-family:'Yu Mincho',serif;font-size:12px;letter-spacing:.15em;color:#8b8173}.tools{margin-left:auto;display:flex;align-items:center;gap:24px;font-size:11px}.cart{display:flex;gap:8px;align-items:center}.cart svg{width:22px;height:24px}.navrow{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;padding:0 5%;align-items:center;justify-content:space-between;min-height:59px;gap:20px}.navrow nav{display:flex;gap:32px;font-size:12px;letter-spacing:.08em}.navrow a:hover,.tools a:hover,.footer-nav a:hover{color:var(--gold)}form{display:flex;border-bottom:1px solid #a89d8e;width:185px}input{background:transparent;border:0;min-width:0;width:100%;padding:5px 0;color:var(--ink);font-size:11px}form button{border:0;background:transparent;font-size:24px;line-height:1}.menu{display:none}.hero{display:grid;grid-template-columns:46% 54%;min-height:570px;background:var(--dark);color:var(--paper)}.hero-copy{padding:75px 9% 30px 11%;position:relative;display:flex;flex-direction:column;justify-content:center}.eyebrow{font-family:Georgia,serif;letter-spacing:.2em;font-size:11px;color:#a58b5b;display:block;margin-bottom:20px}.hero h1{font-size:36px;line-height:1.9;letter-spacing:.13em;white-space:nowrap}.hero p{font-size:12px;color:#d1c6b9;line-height:2.2;margin-top:25px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:45px;padding:15px 25px;font-size:12px;letter-spacing:.1em;transition:background .2s,color .2s}.gold{background:#bda474;color:#241e17;align-self:flex-start;margin-top:34px}.gold:hover{background:#d4bd91}.hero-foot{margin-top:52px;display:flex;justify-content:space-between;gap:20px;font-size:8px;letter-spacing:.15em;color:#aa9f8e}.hero-photo{position:relative;overflow:hidden}.hero-photo>img{height:100%;width:100%;object-fit:cover}.photo-caption{position:absolute;right:25px;bottom:24px;color:white;font-family:Georgia,serif;font-size:12px;text-shadow:0 1px 5px #332a23}.quick{display:flex;border-bottom:1px solid var(--line);padding:21px 6%;gap:30px;align-items:center;font-size:11px}.quick>a{display:flex;gap:35px;align-items:center;border-right:1px solid var(--line);padding-right:28px}.quick>a:first-child{flex:1}.quick span{font-family:Georgia,serif;color:var(--gold);letter-spacing:.17em}.quick b{font-weight:400;color:var(--gold)}.section{max-width:1240px;padding:95px 40px;margin:auto}.section-title{text-align:center;margin-bottom:48px}.section-title .eyebrow{margin-bottom:10px}.section-title p{font-size:12px;color:var(--muted);margin-top:16px;line-height:2}.grid{display:grid;gap:28px}.three{grid-template-columns:repeat(3,1fr)}.four{grid-template-columns:repeat(4,1fr)}.six{grid-template-columns:repeat(3,1fr)}.product{position:relative}.photo{overflow:hidden;background:#eae5dc;aspect-ratio:1}.photo img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.product:hover .photo img{transform:scale(1.035)}.product h3{margin-top:18px;padding-right:17px}.product p{font-size:11px;color:var(--muted);line-height:1.8;margin-top:5px}.arrow{position:absolute;right:0;bottom:0;color:#9a8051}.promotions{padding-top:25px}.campaigns{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.campaigns img{width:100%;aspect-ratio:2000/1130;object-fit:cover}.campaigns a span{display:block;font-size:11px;margin-top:7px;color:var(--muted)}.farm-story{display:grid;grid-template-columns:1fr 1fr;background:#e9e5db}.story-image img{width:100%;height:100%;object-fit:cover;max-height:580px}.story-copy{padding:75px 13%;align-self:center}.story-copy p{font-size:13px;line-height:2.3;margin-top:25px;max-width:460px}.text-link{display:inline-block;border-bottom:1px solid #ac9161;margin-top:30px;padding-bottom:8px;font-size:12px}.tabs{display:flex;justify-content:center;gap:0;border-bottom:1px solid var(--line);margin-bottom:35px}.tabs button{border:0;background:transparent;color:var(--muted);padding:15px 50px}.tabs button[aria-selected=true]{color:var(--ink);border-bottom:2px solid var(--gold)}[hidden]{display:none!important}.collection>.button{display:flex;width:max-content;margin:45px auto 0}.outline{border:1px solid #a69b8b}.outline:hover{background:var(--ink);color:var(--paper)}.kyoto{background:#eae6de}.kyoto-intro{display:grid;grid-template-columns:1fr 1fr;max-width:1440px;margin:auto}.kyoto-intro>img{height:470px;width:100%;object-fit:cover;object-position:top}.compact{padding-top:45px;padding-bottom:70px}.recipe-feature{position:relative;margin-bottom:40px}.recipe-feature>img{width:100%;max-height:460px;object-fit:cover}.recipe-label{position:absolute;bottom:30px;right:30px;background:var(--paper);padding:30px 40px;min-width:280px}.recipe-label h3{font-size:27px;margin-bottom:17px}.recipe-label>span:last-child{font-size:12px}.recipe-label .eyebrow{font-size:9px}.recipes .four{gap:23px}details{border-top:1px solid var(--line);margin-top:35px;padding-top:18px}summary{cursor:pointer;list-style:none;font-size:12px;letter-spacing:.1em;display:flex;justify-content:space-between;padding-bottom:18px}summary::-webkit-details-marker{display:none}.craft{background:var(--dark);color:var(--paper)}.craft-heading{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;margin-bottom:45px}.craft-heading p{color:#cabfb0;font-size:12px;line-height:2.1}.craft-images{display:grid;grid-template-columns:1fr 1.4fr;gap:25px;align-items:center}.craft-images img{width:100%;height:330px;object-fit:cover}.craft-images img:first-child{object-fit:contain;background:#fff}.project{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px;align-items:center}.project>a>img{height:460px;width:100%;object-fit:contain}.project p{font-size:13px;margin-top:23px;line-height:2.2}.book-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.journal{border-top:1px solid var(--line)}.journal .grid{row-gap:45px}.categories{padding-top:15px}.category-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}.category-grid a{padding:17px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:13px;font-size:11px;margin-right:22px}.category-grid img{width:44px;height:44px;border-radius:50%}.category-grid b{font-weight:400;margin-left:auto;color:var(--gold)}.service{padding-top:0;display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.service a{border:1px solid var(--line);padding:30px;text-align:center}.service span{font-family:Georgia,serif;font-size:10px;letter-spacing:.2em;color:var(--gold)}.service h3{font-size:20px;margin:12px 0}.service p{font-size:11px;color:var(--muted)}footer{background:#e9e3d9;padding:60px 6% 20px}.footer-top{display:grid;grid-template-columns:1fr 1.5fr;gap:60px;max-width:1240px;margin:auto}.footer-brand img{width:230px}.footer-brand p{font-size:11px;margin-top:17px}.footer-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;font-size:11px}.calendar{grid-column:1/-1;margin-top:0;max-width:400px}.calendar iframe{border:0;max-width:100%;background:#fff}.copyright{max-width:1240px;margin:40px auto 0;display:flex;justify-content:space-between;border-top:1px solid #cfc5b7;padding-top:20px;font-family:Georgia,serif;font-size:10px;letter-spacing:.12em}.sr-only,.skip{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip:focus{width:auto;height:auto;clip:auto;z-index:20;background:white;padding:15px}a:hover.text-link{color:#9a8051}@media(min-width:1500px){.hero-copy{padding-left:max(11%,calc((100vw - 1240px)/2))}.hero{min-height:650px}}@media(max-width:1100px){.tagline{display:none}.navrow nav{gap:18px}.hero h1{font-size:29px}.hero-copy{padding-left:10%;padding-right:6%}.tools{gap:16px}.quick>a{gap:18px}.story-copy{padding:50px 10%}h2{font-size:29px}.four{gap:17px}.project{gap:40px}}@media(max-width:760px){.announcement a{display:none}.announcement{font-size:10px;height:30px}.masthead{min-height:85px;padding:12px 6%}.brand img{width:155px;height:55px}.tools>a:not(.cart){display:none}.tools .cart{font-size:0;gap:0}.tools{margin-left:auto}.menu{display:block;border:0;background:transparent;font-size:11px;padding:10px 0}.navrow{display:none;padding:20px 6%;background:var(--paper)}.navrow.open{display:block}.navrow nav{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:20px}.navrow form{width:100%}.hero{display:flex;flex-direction:column-reverse;min-height:0}.hero-photo{height:340px}.hero-photo>img{object-position:center 42%}.hero-copy{padding:36px 7% 25px}.hero h1{font-size:28px;letter-spacing:.09em}.hero .eyebrow{font-size:9px;margin-bottom:13px}.hero p{font-size:11px;margin-top:17px}.hero .button{margin-top:24px;padding:12px 23px}.hero-foot{margin-top:27px;font-size:7px}.quick{padding:15px 6%;flex-wrap:wrap;gap:12px}.quick>a{font-size:10px;padding-right:12px;gap:12px}.quick>a:first-child{flex-basis:100%;border:0}.quick>a:first-child b{margin-left:auto}.quick span{font-size:9px}.section{padding:60px 6%}.section-title{margin-bottom:30px}.section-title .eyebrow{font-size:9px}h2{font-size:25px;letter-spacing:.07em}.section-title p{font-size:11px}.three,.four,.six{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 16px}.recommendations .three{grid-template-columns:1fr}.recommendations .product{display:grid;grid-template-columns:45% 1fr;column-gap:20px;align-items:center}.recommendations .photo{grid-row:1/3}.recommendations h3{margin:0;align-self:end}.recommendations p{align-self:start;margin-top:7px}.recommendations .arrow{display:none}.product h3{font-size:14px;margin-top:12px}.product p{font-size:10px}.campaigns{gap:20px 12px}.campaigns a span{font-size:10px}.promotions{padding-top:0}.farm-story,.kyoto-intro{grid-template-columns:1fr}.story-image img{height:330px}.story-copy{padding:40px 7%}.story-copy p{font-size:12px}.kyoto-intro>img{height:330px;grid-row:1}.compact{padding-top:25px}.tabs button{padding:12px 20px;font-size:12px}.recipe-feature>img{height:320px}.recipe-label{padding:18px 22px;min-width:0;right:15px;bottom:15px}.recipe-label h3{font-size:23px;margin-bottom:8px}.recipe-label .eyebrow{margin-bottom:7px;font-size:8px}.craft-heading{grid-template-columns:1fr;gap:22px;margin-bottom:30px}.craft-images{gap:15px;grid-template-columns:1fr}.craft-images img{height:auto;max-height:350px}.project{grid-template-columns:1fr;gap:25px}.project>a>img{height:340px}.project>div{padding-top:8px}.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.category-grid a{margin-right:12px;font-size:10px;gap:8px}.category-grid img{width:34px;height:34px}.categories{padding-top:0}.service{grid-template-columns:1fr;padding-top:0;gap:12px}.service a{padding:20px}.service h3{margin:6px 0}.footer-top{grid-template-columns:1fr;gap:30px}.footer-brand img{width:190px}.footer-nav{grid-template-columns:1fr 1fr;gap:15px}.calendar{grid-column:auto}.copyright{font-size:9px}footer{padding-top:40px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media(max-width:760px){.hero h1{white-space:normal;font-size:clamp(20px,5.7vw,28px)}.hero-copy,.hero-photo{min-width:0}.hero-foot{flex-wrap:wrap}.eyebrow{overflow-wrap:anywhere}.recommendations .product{grid-template-columns:minmax(0,45%) minmax(0,1fr)}}
@media(min-width:761px){.hero{height:600px;min-height:600px}.hero-photo{min-height:0}.hero-photo>img{position:absolute;inset:0}.hero-copy{min-width:0}.hero h1{font-size:clamp(27px,2.5vw,36px)}}
.brand-intro{padding-top:58px;padding-bottom:0;text-align:center;max-width:1000px}.brand-intro h2{font-size:22px;letter-spacing:.06em}.brand-intro>p{font-size:13px;line-height:2.2;margin:22px auto 0;max-width:760px;color:var(--muted)}.intro-links{display:flex;justify-content:center;flex-wrap:wrap;gap:14px 30px;margin-top:22px;font-size:11px}.intro-links a{border-bottom:1px solid var(--line);padding-bottom:4px}.hero-specialty{display:block;font-family:'Yu Gothic',sans-serif;font-size:12px;line-height:1.8;letter-spacing:.1em;color:#d1c6b9;margin-bottom:20px}@media(max-width:760px){.brand-intro h2{font-size:20px}.brand-intro>p{font-size:12px;text-align:left}.hero-specialty{font-size:10px;margin-bottom:14px}.intro-links{gap:12px 20px}}
/* Keep intrinsic image dimensions for layout reservation without stretching responsive images. */
img{height:auto}
.campaigns img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
.campaigns>a{min-width:0}
@media(max-width:600px){.campaigns{grid-template-columns:minmax(0,1fr);gap:25px}}
.campaigns img{aspect-ratio:auto 2000 / 1130}

/* Homepage link styles: protect against the shop theme's link/state rules.
   Keep this block at the end of style.css. Focus outlines remain available. */
:is(.announcement, .masthead, .navrow, main#main, .footer-top, .copyright) a:any-link,
:is(.announcement, .masthead, .navrow, main#main, .footer-top, .copyright) a:is(:hover, :focus, :active) {
  color: inherit !important;
  text-decoration: none !important;
}
/* Preserve the homepage's intentional link colors and hover treatments. */
.announcement a:any-link,
.announcement a:is(:hover, :focus, :active) {
  color: #cabfae !important;
}
main#main a.gold:any-link,
main#main a.gold:is(:hover, :focus, :active) {
  color: #241e17 !important;
}
:is(.navrow, .masthead .tools, .footer-top .footer-nav) a:hover {
  color: var(--gold) !important;
}
main#main a.text-link:hover {
  color: #9a8051 !important;
}
main#main a.outline:hover {
  color: var(--paper) !important;
}

/* Readable homepage typography. Heading sizes remain unchanged. */
body { font-size: 16px; }
.announcement { height: auto; min-height: 40px; padding-top: 6px; padding-bottom: 6px; font-size: 13px; flex-wrap: wrap; gap: 4px 24px; }
.announcement a { position: static; font-size: 13px; }
.tagline { font-size: 14px; }
.tools { font-size: 14px; flex-wrap: wrap; gap: 12px 20px; }
.masthead { flex-wrap: wrap; gap: 18px 24px; }
.navrow { flex-wrap: wrap; padding-top: 12px; padding-bottom: 12px; }
.navrow nav { font-size: 15px; flex-wrap: wrap; gap: 12px 24px; }
.navrow input { font-size: 15px; }
.eyebrow { font-size: 13px; }
.hero p { font-size: 16px; line-height: 2; }
.button { font-size: 15px; }
.hero-foot { font-size: 11px; flex-wrap: wrap; margin-top: 32px; }
.photo-caption { font-size: 14px; }
.quick { font-size: 14px; flex-wrap: wrap; gap: 16px 24px; }
.quick > a { gap: 18px; }
.section-title p,
.product p,
.campaigns a span,
.service p { font-size: 15px; }
.story-copy p,
.project p,
.brand-intro > p { font-size: 16px; line-height: 2.1; }
.text-link,
.intro-links,
.recipe-label > span:last-child { font-size: 15px; }
.tabs button { font-size: 15px; }
.recipe-label .eyebrow { font-size: 12px; }
.craft-heading p { font-size: 16px; }
.category-grid a { font-size: 14px; overflow-wrap: anywhere; }
.service span { font-size: 13px; }
.footer-brand p,
.footer-nav,
.calendar summary { font-size: 14px; }
.footer-nav { gap: 16px; }
.copyright { font-size: 12px; flex-wrap: wrap; gap: 12px; }
@media (min-width: 761px) {
  .hero { height: auto; }
}
@media (max-width: 1100px) and (min-width: 761px) {
  .tagline { display: none; }
}
@media (max-width: 760px) {
  .announcement { font-size: 12px; min-height: 36px; }
  .masthead { flex-wrap: nowrap; gap: 14px; }
  .brand { flex-shrink: 0; }
  .tools { flex-wrap: nowrap; }
  .menu { font-size: 14px; white-space: nowrap; }
  .navrow nav { font-size: 14px; gap: 16px 12px; }
  .hero .eyebrow,
  .section-title .eyebrow { font-size: 12px; }
  .hero p { font-size: 15px; }
  .hero .button { font-size: 14px; }
  .hero-foot { font-size: 10px; }
  .quick > a { font-size: 14px; flex-wrap: wrap; gap: 8px 12px; }
  .quick span { font-size: 12px; }
  .section-title p,
  .product p,
  .campaigns a span,
  .service p { font-size: 14px; }
  .story-copy p,
  .project p,
  .brand-intro > p { font-size: 15px; }
  .tabs button { font-size: 14px; padding: 12px 18px; }
  .recipe-label .eyebrow { font-size: 11px; }
  .craft-heading p { font-size: 15px; }
  .category-grid a { font-size: 14px; align-items: flex-start; }
  .category-grid a > span { min-width: 0; }
  .category-grid img { flex-shrink: 0; }
  .footer-nav { font-size: 14px; }
  .copyright { font-size: 12px; }
}
